【问题标题】:Grafana 和 Prometheus:自动添加指标
【发布时间】:2019-08-28 02:45:25
【问题描述】:

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

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

【问题讨论】:

    标签: grafana prometheus


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-02-20
        • 2018-12-24
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 2021-10-27
        • 2018-06-03
        • 2019-08-09
        • 1970-01-01
        相关资源
        最近更新 更多