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

Grafana切换变量显示主机名而非IP后面板无数据求助

排查Grafana替换$nodename变量后无数据的问题

核心排查步骤

  • 验证Prometheus原生查询有效性
    直接在Prometheus的Expression浏览器中执行替换后的查询,比如把原查询node_cpu_seconds_total{instance="$host"}改成node_cpu_seconds_total{nodename="实际主机名"},替换成变量对应的真实主机名,看是否能返回数据。如果这里无结果,说明问题出在Prometheus指标的标签匹配,而非Grafana配置。

  • 核对变量值与指标标签的一致性
    Grafana变量从node_uname_info获取的nodename,可能和其他指标(如node_cpu、node_memory)的nodename标签存在大小写差异、域名后缀不一致(比如变量值是node01,但指标里是node01.local)。可以在Prometheus中执行以下查询对比:

    node_uname_info{}
    node_cpu_seconds_total{}
    

    仔细检查两者的nodename字段是否完全匹配。

  • 确认变量的查询配置
    检查Grafana中$nodename变量的设置:

    • 数据源是否选择了正确的Prometheus实例
    • 查询语句是否为label_values(node_uname_info, nodename),确保是从node_uname_info指标提取nodename标签值
    • 是否开启了“Include All option”,或者变量的过滤条件是否误排除了有效主机
  • 检查面板查询的标签语法
    确保查询中的标签匹配逻辑正确:如果是精确匹配,用nodename="$nodename";如果变量支持多选,要改成nodename in ($nodename)。避免错误使用正则匹配符号=~(除非变量本身是正则格式)。

  • 验证目标指标是否包含nodename标签
    部分node_exporter指标可能默认只有instance标签,没有nodename。可以在Prometheus中执行{__name__=~"node_.+", nodename=~".+"},查看目标指标是否带有nodename标签。如果没有,需要调整node_exporter启动参数,添加额外标签配置,确保所需指标都带上nodename标签。

  • 检查Grafana时间范围
    更换变量后,默认时间范围可能未覆盖有数据的时段,尝试调整时间范围(比如选择“最近15分钟”)再测试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:44:58