如何在Grafana Stat面板中用Loki查询实现降序排序?
Grafana Stat面板Loki TOP10错误信息降序排序方案
问题说明
使用Loki查询获取系统TOP10错误信息并展示在Grafana Stat面板时,查询返回了正确的TOP10结果,但未按降序排列。原查询语句如下:
topk(10, sum by(message)(count_over_time({job="systemd-journal"} |~ `ERROR:` | regexp `(?P<message>ERROR:.*)` [7d])))
解决方法
方法1:通过Grafana面板转换设置排序
- 进入Stat面板的转换选项卡
- 在
Sort by下拉菜单中,选择Value作为排序依据 - 将排序方向设置为
Descending(降序) - 保存面板设置后查看效果
方法2:调整Loki查询语句强制排序
如果面板转换设置未生效,可以在查询中显式添加排序逻辑,先对统计结果降序排序,再取TOP10:
topk(10, sort_desc(sum by(message)(count_over_time({job="systemd-journal"} |~ `ERROR:` | regexp `(?P<message>ERROR:.*)` [7d]))))
sort_desc会先将所有分组的统计结果按数值降序排列,再通过topk取前10条,确保返回的结果本身就是有序的,面板展示时自然按降序呈现。
内容的提问来源于stack exchange,提问作者Falke
相关产品推荐
相关产品推荐

