在 Prometheus 查询中选择最大的标签值
Posted
技术标签:
【中文标题】在 Prometheus 查询中选择最大的标签值【英文标题】:Select largest label value in Prometheus query 【发布时间】:2018-09-15 05:30:30 【问题描述】:我设置了一个 Prometheus 和 Grafana 实例,我想在其中查询一个名为“upsAdvBatteryRecommendedReplaceDate”的特定属性。
Prometheus 在查询此属性时成功返回响应,如下所示:
但是,结果包含两个时间序列(一个是 upsAdvBatteryRecommendedReplaceDate="12/11/2021",另一个是 upsAdvBatteryRecommendedReplaceDate="12/10/2021")。
一旦我在 Grafana 中设置了一个显示 upsAdvBatteryRecommendedReplaceDate 查询的 upsAdvBatteryRecommendedReplaceDate 标签的单一统计数据,这就会成为一个问题。这将导致“多系列错误”,如下所示:
如果我更改它,它会按预期工作 Grafana 时间范围到例如在这里可以看到“最后 15 分钟”:
所以我的问题是:有没有办法只选择/提取具有“upsAdvBatteryRecommendedReplaceDate”的最新/最新标签值的时间序列,以便在这种情况下,只有 upsAdvBatteryRecommendedReplaceDate="12/11 /2021”出现了吗?
谢谢!
【问题讨论】:
【参考方案1】:也许这也可以帮助其他人:我通过简单地在 grafana 仪表板中选中 singlestat 的“Instant”复选框来解决它。
【讨论】:
【参考方案2】:Prometheus 是一个处理数字的系统,“12/10/2021”是一个字符串而不是一个数字。如果您可以将数据公开为 unix 时间戳,那么您可以使用 max
聚合器来获取最高值。
【讨论】:
谢谢。我现在只需检查单统计的“即时”复选框即可使其工作。另外,这对我有帮助:docs.grafana.org/features/panels/singlestat/…以上是关于在 Prometheus 查询中选择最大的标签值的主要内容,如果未能解决你的问题,请参考以下文章
如何查询 Prometheus 中所有具有特定标签值的时间序列?