grafana监控windows_exporter的性能数据都是空的 No data

出现 Grafana 里 No data,通常不是 Grafana 本身的问题,而是 数据源(Prometheus)没有采集到 windows_exporter 指标 或者 查询的指标/时间范围不匹配。按下面顺序排查,基本都能定位到点。

1)先确认:Prometheus 里有没有 windows_exporter 指标

在浏览器打开 Prometheus 的目标页/查询页(如果你有):

  • Status -> Targetswindows_exporter 是否是 UP
  • 再在 Prometheus 的 Graph 里直接输入你要查的指标(例如):
    • up
    • windows_cpu_time_total
    • windows_os_version_info
    • windows_memory_available_bytes

判断:

  • 如果输入 up 查不到/结果为 0 或空:说明采集没成功(多半是端口/地址/防火墙/配置问题)。
  • 如果能查到指标值,但 Grafana 仍 No data:多半是 Grafana 的 Data source 配置或查询语句/筛选条件不对

2)检查 windows_exporter 是否“暴露了指标”

在 windows_exporter 所在机器上(或从 Grafana/Prometheus 所在机器)访问:

  • http://<windows_exporter_host>:9182/metrics

你应该能看到一大堆类似:

  • windows_cpu_time_total{...} ...
  • windows_memory_available_bytes ...

如果 /metrics 打不开或为空:

  • windows_exporter 没启动 / 端口不对
  • Windows 防火墙没放行 9182
  • 绑定地址导致“只能本机访问”(例如只绑了 127.0.0.1)

3)Prometheus 是否把目标加进了采集配置

检查 Prometheus 的 prometheus.yml 里 job 配置(targets 应该指向 windows_exporter:9182):

  • 目标 IP/端口写没写对
  • 是否少了 scrape_configs 或 job 名不同导致你 Grafana 查错了 label

4)Grafana 的 Data Source 是否指向对的 Prometheus

在 Grafana:

  • Settings -> Data sources 确认 Prometheus URL 是你实际在跑的那个
  • 有些人会搞多个 Prometheus,Grafana 指到“空的那个”

5)Grafana 查询里用了错误的 label/instance

你截图里有筛选项 instance 192.168.1.10:9182。建议你在 Prometheus Graph 里看真实的 label:

举例:执行

  • up{instance="192.168.1.10:9182"}

如果 Prometheus 里实际显示的 instance label 不是这个值(比如是 192.168.1.10:9182/metrics 或者 job 不同),Grafana 就会 No data。

6)时间范围问题(Last 3 hours)

Grafana 右上角选择了 Last 3 hours

  • 如果 windows_exporter 刚启动不久、Prometheus 也刚开始采集,可能落在时间范围之外。
  • 你可以把 Grafana 时间范围先改成 Last 24 hoursLast 7 days 测试。

你现在最需要提供的 2 个信息(我就能更快给你结论)

  1. 访问 http://192.168.1.10:9182/metrics 的结果:能否看到 windows_... 指标?(截图/前几行也行)
  2. Prometheus 的 Status -> Targets 里 windows_exporter 那个目标是 UP 还是 DOWN

把这两点发我,我可以直接告诉你是 采集没成功 还是 Grafana 查询/label 不匹配,并给你对应的修复方法。