【问题标题】:How to ignore instance lable in Prometheus如何在 Prometheus 中忽略实例标签
【发布时间】:2021-08-03 08:45:00
【问题描述】:

这是已处理数据流记录的图表。
我在本地系统上运行了我的项目的两个实例。我的 Prometheus 服务器正在从两个实例中抓取值。如果我运行相同的“数据流”(生成这些指标的我的 API 之一)。从这两个实例然后它创建两个图表。因为它们来自两个不同的实例。您可以看到 Dataflow-Product-1 有两个图表。我想要的是来自同一数据流的两个实例的数据应该组合在一个图中。我们可以这样做吗?

这是数据

在上面的屏幕截图中,您可以看到 Dataflow-Product-1 有两个图表,其中一个在 15 处运行……而另一个在 10 上,我想要的是在 15 上运行的相同图表应该下降到 10 和其他图不应该生成? 什么可以是查询? 提前致谢

【问题讨论】:

  • 您能否在最后添加一个您想要的查询结果示例。我知道您想对值进行分组,但您说您不想汇总它们。我没有完全理解你的问题

标签: prometheus promql prometheus-operator prometheus-blackbox-exporter


【解决方案1】:

如果你想组合它们,我想你的意思是 sumcount 它们。因为你说了一些aggregate function。然后您可以使用without 函数不考虑您想要的特定标签:instancedataflowId 或两者。像这样的:

sum without(instance) (integration_total_record_processed_count)

但是如果你只想显示图表的一行(不是你说的图表),你可以使用{}里面的标签匹配。

integration_total_record_processed_count{dataflowId="Dataflow-Product-1"}

【讨论】:

  • 合并,因为我不想添加它们。如您所见,屏幕截图 Dataflow-Product-1 标记为 15,然后还有另一个图表 Dataflow-Product-1 标记为 10。因此,如果我使用 Sum,它将显示我不想要的 25。对于更多上下文,数据即 15 或 10 是每个请求获得处理的记录数。所以图表应该从 15 到 10 继续,而不是创建一个新的图表....
  • 好的,我添加了一个不使用sumcount 的选项。我怀疑它非常简单,这不是您想要的。您能否在最后添加一个您想要的查询结果示例。我知道您想对值进行分组,但您说您不想汇总它们。这是矛盾的¯_(ツ)_/¯
【解决方案2】:
  • 您的查询应如下所示以省略 Prod 2,它显示的不是 Prod 2 intergration_total_record_processd_count{dataflowid!="Dataflow-Prodct-2"}

【讨论】:

    【解决方案3】:

    这在理论上似乎是不可能的。我不想对我的结果进行任何操作。仍然,俱乐部相同ID的结果。 为了克服这种情况,我使用了 Pushgateway 并根据结果操纵了结果。

    【讨论】:

      猜你喜欢
      • 2022-07-22
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      相关资源
      最近更新 更多