使用 prometheus 和 grafana 跟踪事件

and*_*and 4 grafana prometheus

有一篇文章“跟踪每个版本”讲述了在每个代码部署的图表上显示一条垂直线。他们正在使用石墨。我想用 Prometheus 2.2 和 Grafana 5.1 做类似的事情。更具体地说,我想在图表上显示一个“应用程序启动”事件。

Grafana 注释似乎是合适的机制,但我无法弄清楚要使用哪种类型的普罗米修斯指标以及如何查询它。

小智 9

最简单的方法是通过与本文相同的基本方法,让您的部署工具在执行部署时告诉 Grafana。

Grafan 有一个用于存储注释的内置系统,注释在图形上显示为垂直线,并且可以有与之关联的文本。就像在 Grafana 实例中创建 API 密钥curl并向部署脚本添加调用一样简单:

curl -H "Authorization: Bearer <apikey>" http://grafana:3000/api/annotations -H "Content-Type: application/json" -d '{"text":"version 1.2.3 deployed","tags":["deploy","production"]}'
Run Code Online (Sandbox Code Playgroud)

有关可用选项的更多信息,请查看文档:

http://docs.grafana.org/http_api/annotations/

将部署添加为注释后,您可以通过转到仪表板设置中的注释选项卡并添加新的注释源来在仪表板上显示它们: 添加注释源

然后注释将显示在仪表板的面板上: 显示注释的面板


Ali*_*ean 5

您可以完全从 Prometheus 指标获得相同的结果,无需将任何内容推送到 Grafana:

来自 Prometheus 查询的注释

如果您想跟踪所有重新启动,您的搜索表达式可能类似于:

changes(start_time_seconds{job="foo",env="prod"} > 0
Run Code Online (Sandbox Code Playgroud)

如果您只想跟踪版本更改(并且您有某种info提供版本的指标),或者类似这样的事情:

alertmanager_build_info unless max_over_time(alertmanager_build_info[1d] offset 5m)
Run Code Online (Sandbox Code Playgroud)

后一个表达式应该只在出现新alertmanager_build_info指标时产生 5 分钟的输出(即具有不同标签的指标,例如version)。您可以进一步调整它以仅在version更改时生成输出,例如通过聚合所有其他标签。