You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Grafana中按host标签排序Nginx流量监控数据

实现Prometheus监控指标按Host分组排序的方案

方法一:通过PromQL构造排序标签实现

直接修改查询语句,通过label_replace构造自定义排序标签,确保通配符host="*"排在最后,同时每个Host下先展示入站(direction="in")再展示出站(direction="out"):

sort_by_label(
  label_replace(
    label_replace(
      rate(nginx_server_bytes{job="$job", host!~'localhost'}[5m]),
      "sort_host", "$1", "host", "(.*)"
    ),
    "sort_host", "zzzzz", "host", "\\*"
  ),
  "sort_host", "direction"
) > 0

逻辑说明:

  1. 第一个label_replace:将原始host标签的值复制到新的sort_host标签,作为排序基础。
  2. 第二个label_replace:把host="*"的sort_host替换为zzzzz(字母序远靠后的字符串),确保它排在所有具体域名之后。
  3. sort_by_label:先按sort_host升序排序,再按direction升序排序——由于"in"的字母序比"out"靠前,自然会每个Host下先展示入站流量。

方法二:在Grafana面板中配置排序规则

如果用Grafana做可视化,可直接在面板设置中调整排序逻辑:

  • 进入面板编辑页,找到Display或Options选项卡
  • 添加两个排序规则:
    • 第一优先级:按host标签升序排序
    • 第二优先级:按direction标签升序排序
  • 注意:默认host="*"会排在具体域名前,要让它排到最后,需配合PromQL将*替换为zzzzz的操作,再执行排序。

内容的提问来源于stack exchange,提问作者vitrex_rs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:35:40