我正在为Prometheus写一些检查,我想找出可以在模板中使用哪些变量。我正在使用$labels.container
,但是$labels.service
和$labels.instance
不起作用。例如,我在Prometheus查询中使用实例,但无法在模板中使用它。如何找出所有可以在模板中使用的标签或其他变量?我实现了用python编写的自己的导出器,用于控制docker swarm中的哪些容器保持重启。
我是Prometheus和Alertmanager的新手,据我看来文档并不十分清楚。谢谢。
答案 0 :(得分:3)
可用标签是警报查询返回的标签。 因此,如果您的查询如下:
sum ( something_here ) > 0
您将没有 个标签。
如果有
sum by (label_foo)(...) > 0
那么您将只有label_foo可用。
如果您这样做:
metric_name
然后,您将获得metric_name指标上所有可用的标签。
只需直接在prometheus中执行警报查询(确保查询确实返回了内容-删除了任何阈值等),您就会看到可用的标签。