【问题标题】:What is list of Prometheus labels and variables that can be used in alert template可以在警报模板中使用的 Prometheus 标签和变量列表是什么
【发布时间】:2020-08-28 06:51:18
【问题描述】:

我正在为 Prometheus 编写一些检查,我想知道我可以在模板中使用哪些变量。我正在使用$labels.container,但$labels.service$labels.instance 不起作用。例如,我在普罗米修斯查询中使用实例,但我无法在模板中使用它。如何找出可以在模板中使用的所有标签或其他变量?我实现了自己用 python 编写的导出器,它控制 docker swarm 中的哪些容器不断重启。

我是 Prometheus 和 Alertmanager 的新手,我觉得文档看起来不是很清楚。谢谢。

【问题讨论】:

    标签: prometheus prometheus-alertmanager


    【解决方案1】:

    可用标签是警报查询返回的标签。 因此,如果您的查询如下所示:

    sum ( something_here ) > 0
    

    您将有 个标签可用。

    如果你有

    sum by (label_foo)(...) > 0
    

    那么你将只有 label_foo 可用。

    如果你这样做:

    metric_name
    

    然后您将获得 metric_name 指标上可用的所有标签。

    只需直接在 prometheus 中执行警报查询(确保查询确实返回某些内容 - 删除任何阈值等),您就会看到可用的标签。

    【讨论】:

    • 谢谢,我在查询中遇到了由于by 而丢失的标签。
    • 如何获取触发警报的实际 label_foo?例如,对于 sum by (label_foo) (...) > 0 形式的警报,我如何访问已触发的 label_foo{{ label_foo }} 之类的东西?
    • @exAres 在您的模板中使用{{ $labels.label_foo }}
    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多