Grafana 可视化成功的关键在于打通“数据采集→存储→接入→呈现”全链路,需确保 Prometheus 和 Node Exporter 正常运行、指标可查,Grafana 数据源配置正确(URL 和 Access 模式匹配部署环境),并验证指标名与 PromQL 表达式一致。

Linux 环境部署 Grafana 监控面板,核心不是“装完就有图”,而是构建一条通路:数据采集 → 数据存储 → 数据接入 → 可视化呈现。Grafana 本身不存数据、不抓指标,它只负责把已有的时序数据画成图表。很多用户卡在空白面板、No data 或无法登录,问题几乎都出在这条链路的某个环节断开。
确保后端数据源真实可用
没有 Prometheus(或其他支持的数据源),Grafana 就是空画布。别急着配面板,先验证底层是否就绪:
- 确认 Prometheus 正在运行:
curl http://localhost:9090/api/v1/status/config返回 JSON 才算正常;再访问http://localhost:9090/metrics,应能看到类似node_cpu_seconds_total的指标文本 - Node Exporter 必须启用所需采集器:默认只开 cpu、mem、diskstats;查 systemd 状态或网络连接数,需显式启用:
--collectors.enabled="cpu,mem,systemd,netstat,textfile" - textfile 采集器要指定目录且文件权限正确:
--collector.textfile.directory="/var/lib/node_exporter/textfile_collector",文件名必须以.prom结尾,且node_exporter用户可读 - 改完配置记得重载并重启:
sudo systemctl daemon-reload && sudo systemctl restart node_exporter
正确配置 Grafana 数据源连接
Grafana 要从服务端发起请求连 Prometheus,填错地址或模式会导致“Failed to fetch”:
- URL 填的是 Grafana 进程能直接访问的地址:同一台机器直连填
http://127.0.0.1:9090或http://localhost:9090;Docker 部署 Grafana 时,Prometheus 在宿主机上,填http://host.docker.internal:9090;跨机器则填宿主机内网 IP,如http://192.168.1.100:9090 - Access 模式选 Server(默认):这是生产推荐方式,由 Grafana 后端代理请求,不受浏览器同源策略限制;Browser 模式仅适用于 Prometheus 明确监听
0.0.0.0:9090且配置了 CORS,不建议用于正式环境 - 点 Save & test 出现 “Data source is working” 才算真正连通;失败时优先查 Prometheus 是否运行、端口是否被防火墙拦截(
sudo ufw status或sudo firewall-cmd --list-ports)
解决常见面板空白问题
导入社区面板(如 ID 1860)后全空,大概率是指标名不匹配:
- 先去 Prometheus Graph 页面手动查询:
count(node_cpu_seconds_total),没结果说明指标名已变更(旧版 node_exporter、relabel 规则、自定义前缀等都会导致) - 打开面板 JSON(Dashboard settings → JSON Model),全局搜索
node_cpu_seconds_total,替换成你实际暴露的指标名,例如myserver_cpu_seconds_total或node_cpu_usage - PromQL 表达式里所有相关指标都要同步替换,比如
node_memory_MemAvailable_bytes、node_disk_io_time_seconds_total等 - CPU 类指标务必套
rate():写成100 * (1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance)),不能直接用原始计数器
让可视化真正支撑运维决策
好面板不是堆图表,而是围绕运维动线设计:
- 顶部放 Stat 面板:主机在线数、最高负载主机、最近一小时告警数,用颜色阈值快速识别异常
- 中间三列布局:左列 CPU/内存(高频),中列磁盘 I/O 延迟与分区使用率(诊断瓶颈),右列活跃连接数与关键服务状态(下钻定位)
- 所有折线图开启 Tooltip → Shared crosshair,悬停时多图同步显示同一时刻数值
- 对根分区使用率等关键指标加 Alert 图标,链接到 Alertmanager 页面,点击直达告警详情和恢复操作入口


















