grafana - Prometheus 查询等价于 SQL DISTINCT
问题描述
我有多个 Prometheus 实例提供相同的指标,例如:
my_metric{app="foo", state="active", instance="server-1"} 20
my_metric{app="foo", state="inactive", instance="server-1"} 30
my_metric{app="foo", state="active", instance="server-2"} 20
my_metric{app="foo", state="inactive", instance="server-2"} 30
现在我想在 Grafana singlestat 小部件中显示这个指标。当我使用以下查询时...
sum(my_metric{app="foo", state="active"})
...它,当然,总结所有的价值和回报40
。所以我告诉普罗米修斯通过实例总结它......
sum(my_metric{app="foo", state="active"}) by (instance)
...这会导致 Grafana 中出现“多个系列错误”。有没有办法告诉 Prometheus/Grafana 只使用第一个结果?
解决方案
我不知道有什么不同,但我认为这也可以:
topk(1, my_metric{app="foo", state="active"} by (instance))
在此处查看倒数第二个示例: https ://prometheus.io/docs/prometheus/latest/querying/examples/
推荐阅读
- scala - 使用 sparkSession,当我读取 parquet 文件时,我得到 type not yet supported 错误消息
- blueprism - 环境问题。将 URL 传递给 BluePrism 中的 Obj 和 Process Studio 时的变量
- ios - 在 iOS Objective C 中处理位置权限
- facebook - 获取在 Facebook 上标记用户的所有评论
- django - 加快“在多边形中查找点”-geodjango 中的查询
- android - 我可以使用 dispatchTouchEvent 对特定布局使用触摸吗?
- android - 尽管使用了 AsyncTask,但 Android 主线程/UI 线程被阻止(阅读类似的帖子,但我对这些不满意)
- selenium - 使用 ResponseCode 时在 null 上调用成员函数 getInternalRequest()
- jenkins - java.lang.NoSuchMethodError:在步骤中找不到这样的 DSL 方法“$”
- mysql - 在两个数字集之间构建 SQL 查询