Grafana:合并来自两个普罗米修斯出口商的两个查询

时间:2018-09-02 14:38:44

标签: grafana prometheus

我有两个用于将数据馈入普罗米修斯的导出器-node exporterelasticsearch exporter。我正在尝试将两个导出器的来源合并到一个查询中,但是很不幸,该图显示为“无数据点”。

每个系列成功显示数据:

  1. elasticsearch_jvm_memory_max_bytes {cluster =“ $ cluster”,名称=〜“ $ node”} enter image description here

  2. node_memory_MemTotal {name =〜“ $ node”} enter image description here

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

  1. node_memory_MemTotal {名称=〜“ $ node”}-elasticsearch_jvm_memory_max_bytes {cluster =“ $ cluster”,名称=〜“ $ node”} enter image description here

我在这里想念什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

您在此处尝试的减法比开始时要复杂得多。 -运算符的两侧都有可能导致一个或多个时间序列的查询。因此,所需的操作如下:在左侧执行查询,并获得一个或多个时间序列的结果。时间序列是指指标及其所有标签及其值的唯一组合。然后,对您的右手边执行第二次查询,这还会导致一个或多个时间序列。现在要计算结果,只使用那些具有匹配标签组合的组合。

对于您的示例,这意味着来自node_exporter和来自elasticsearch_exporter的度量标准具有不同的标签名称(甚至标签的值也不同)。如果双方都没有组合,您将看到空的结果。有关如何应用运算符的详细信息,请参阅the prometheus docs

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

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