什么是可以在警报模板中使用的Prometheus标签和变量列表

时间:2020-08-28 06:51:18

标签: prometheus prometheus-alertmanager

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

我是Prometheus和Alertmanager的新手,据我看来文档并不十分清楚。谢谢。

1 个答案:

答案 0 :(得分:3)

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

sum ( something_here ) > 0

您将没有 个标签。

如果有

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

那么您将只有label_foo可用。

如果您这样做:

metric_name

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

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