繁体   English   中英

Grafana 和 Prometheus:自动添加指标

[英]Grafana and Prometheus: add metrics automatically

我正在使用 Grafana 和 Prometheus 来监控我们的服务器。 我们有很多数据库过程,例如“select_users”或“insert_task”。 为了监控服务器中有多少挂起的数据库过程调用,我们动态地为 Prometheus 中的每个过程调用添加数据点。 现在我们在 Prometheus 中拥有“pending_select_users”、“pending_insert_task”等数据点。

但是,由于数据库程序太多(并且在开发过程中数量会增加),因此我们在Grafana中为每个数据点手动添加指标并不是很实际。 有没有办法在 Grafana 中动态添加指标? 由于所有数据点都有一个通用名称前缀(“pending_”),我们可以在 Grafana 中使用通配符添加指标吗? 或者有没有更好的方法来做到这一点?

由于 Grafana 使用 JSON 作为底层仪表板 DSL,您可以在每次添加新指标时动态创建仪表板,并将其(通过 API)导入 Grafana。 我会在您的 Prometheus 目标之上添加一个自动化,抓取指标,如果在没有匹配仪表板的情况下找到新指标(带有所需前缀),自动化将创建它并将其导入 Grafana。 Grafana API: http ://docs.grafana.org/http_api/(专门用于Dashbboards )。

@Eitan 描述的解决方案绝对可行。 使用像grafonnet这样的库来动态生成仪表板也是如此。

但在我看来,最简单的方法是在 Grafana 中创建一个包含您感兴趣的所有标签值的变量。

label_values(metric_name{label_name=~"prefix*"}, label_name)

应该为此工作。 然后使用 Grafana 的重复面板/行功能为变量中的每个值重复一组面板。 尽管如果您有数十个/数百个不同的值,这可能会失控。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM