具有动态标签值的 Prometheus 指标

Posted

技术标签:

【中文标题】具有动态标签值的 Prometheus 指标【英文标题】:Prometheus metric with dynamic label value 【发布时间】:2021-08-25 06:02:55 【问题描述】:

我有一个表示应用程序构建稳定性的 prometheus 指标,然后值可以从 0 到 100 - 我想将当前值与应用程序构建号映射。 当构建准备好后,我想用稳定性值更新指标上的构建号和指标值。

如果我向指标添加 buildNumber 标签,则每次更新指标和标签值时都会创建一个新指标。 在 Prometheus 中有没有更好的方法来处理这个问题?

更新: 会有更多应用程序,我想运行查询,例如最近 10 次构建的每个应用程序的平均稳定性是多少

【问题讨论】:

【参考方案1】:

我认为创建的不是新指标,而是为应用于指标的每个新标签组合记录一个新的时间序列。

IIUC,一种解决方案是使用一个标签来描述应用程序,而另一个标签来表示内部版本号。

那么就可以随时通过应用值查询来查看稳定性值。

衡量应用程序的稳定性:

build_stabilityapplication="my-billion-dollar-app"

衡量跨应用程序构建的稳定性:

build_stabilitybuild="alpha"

【讨论】:

谢谢,但目前尚不清楚如何将稳定性与内部版本号对应起来。就像我想知道如果应用程序 X 按内部版本号 Y 的稳定性是什么 可以合并标签:build_stabilityapplication="my-billion-dollar-app,build="alpha"

以上是关于具有动态标签值的 Prometheus 指标的主要内容,如果未能解决你的问题,请参考以下文章

ECS 中 docker 任务的 Prometheus 指标抓取

根据 pod 标签动态更新 prometheus scrape 配置

在 prometheus/grafana 中获取不同标签值的计数

如何在 Prometheus/Grafana 中不指定标签的情况下通过唯一标签计算指标数量?

prometheus问题赏析-填坑的心路历程

在 docker swarm 中自动发现 Prometheus 指标端点