在 Prometheus/PromQL 中合并/加入两个指标

Posted

技术标签:

【中文标题】在 Prometheus/PromQL 中合并/加入两个指标【英文标题】:Merge/join two metrics in Prometheus/PromQL 【发布时间】:2018-12-22 18:04:36 【问题描述】:

我有两个不同(但相关的指标)。

metric_1(id="abc",id2="def")
metric_2(id="abc",id2="def")

我的最终目标是在 Grafana 中实现以下目标。我打算使用“即时”值和 Grafana 的表格可视化小部件来显示这些数据。

id      id2     metric1 metric2
abc     def     1       2

我应该使用什么查询/加入/重新标记来实现这一点?

提前感谢您! :)

【问题讨论】:

【参考方案1】:
__name__=~"metric_1|metric_2"

https://***.com/a/47415934/661150 https://prometheus.io/docs/prometheus/latest/querying/basics/

【讨论】:

【参考方案2】:

作为一种解决方法,您可以将 + 0 附加到查询中,以便 Prometheus 去除其 __name__ 标签,以便 Grafana 将它们合并在一起。我在 GitHub 上找到了这个解决方法。

有没有更好的解决方案?

【讨论】:

【参考方案3】:

你可以在 Grafana 中实现这一点

进行两次查询,一定要选择格式table 将它们与transform 合并 => merge 使用organize fields 可靠并隐藏不需要的字段

【讨论】:

【参考方案4】:

合并之前所有步骤的一些更改。解决方案可以在 Grafana 中实现

    进行 2 次查询并选择可视化格式为表格 将转换标签应用于字段(选择值字段名称一个唯一标识指标名称的值,例如 name) 将它们合并在一起 transform ==> 合并 重新组织/重命名字段名称

【讨论】:

以上是关于在 Prometheus/PromQL 中合并/加入两个指标的主要内容,如果未能解决你的问题,请参考以下文章

在 Prometheus PromQL 中获取最后一小时的平均费率

Kubernetes:比较 Prometheus / PromQL 中 Pod 的 RSS 内存使用和 Pod 内存需求

Prometheus:PromQL 减法,相同的标签,不同的值

Prometheus/PromQL/Grafana:当右侧范围向量可能不存在时的减法

第七篇Prometheus PromQL 简单用法

使用 Prometheus 和 Grafana 将秒转换为 HH:MM:SS