【问题标题】:Grafana: combining two queries from two prometheus exportersGrafana:结合来自两个普罗米修斯出口商的两个查询
【发布时间】:2019-02-07 19:37:59
【问题描述】:

我有两个导出器用于将数据输入 prometheus - node exporterelasticsearch exporter。我正在尝试将来自两个出口商的来源合并到一个查询中,但不幸的是在图表中得到“无数据点”。

每个系列都成功展示数据:

  1. elasticsearch_jvm_memory_max_bytes{cluster="$cluster", name=~"$node"}

  2. node_memory_MemTotal{name=~"$node"}

这是我尝试将两个系列相减时的结果:

  1. node_memory_MemTotal{name=~"$node"} - elasticsearch_jvm_memory_max_bytes{cluster="$cluster", name=~"$node"}

我在这里错过了什么?

谢谢。

【问题讨论】:

    标签: grafana prometheus


    【解决方案1】:

    您在此处尝试的减法比一开始读到的要复杂。 - 运算符的两侧是可以产生一个或多个时间序列的查询。所以请求的操作如下:在左侧执行查询并获得一个或多个时间序列的结果。时间序列意味着度量及其所有标签及其值的唯一组合。然后执行您右侧的第二个查询,这也会产生一个或多个时间序列。现在计算结果,只使用那些匹配标签组合的组合。

    对于您的示例,这意味着来自 node_exporter 和来自 elasticsearch_exporter 的指标具有不同的标签名称(或者甚至只是标签的不同值)。当双方都不存在组合时,您将看到空结果。运算符的具体应用方法请见the prometheus docs

    要解决您的问题,您可以执行以下操作:

    • 自行检查左右两侧的指标
    • 评估是否有其他可以忽略的标签
    • 看看是否有一个好的标签可以匹配(例如实例/节点/主机名)
    • 在所需的一侧使用ignoring(a,b,c) 删除多余的尺寸,例如job

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 2020-03-28
      • 2019-08-22
      • 1970-01-01
      • 2021-12-25
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多