Grafana自定义仪表盘,可视化服务器指标
Grafana 是一个开源的指标可视化平台,能把服务器 CPU、内存、磁盘、网络等数据变成直观的图表。
本文面向零基础用户,从安装 Grafana 开始,一步步配置数据源、导入或新建自定义仪表盘,最终让你能实时查看服务器运行状态。
搭建前的环境确认
开始之前,需要一台 Linux 服务器(本文以 Ubuntu 22.04 为例),并确保已安装 Docker。
如果还没装 Docker,执行以下命令:
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
同时,服务器上需要有指标数据来源。
常见组合是 Prometheus + Node Exporter。
如果还没部署,可以用 Docker 快速启动:
docker run -d --name=node-exporter --net=host --pid=host -v "/:/host:ro,rslave" prom/node-exporter --path.rootfs=/host
安装 Grafana 并登录后台
用 Docker 安装 Grafana 最省事,一条命令即可:
docker run -d --name=grafana -p 3000:3000 grafana/grafana-oss
启动后,浏览器访问 http://你的服务器IP:3000,默认用户名和密码都是 admin。
首次登录会强制要求修改密码,建议设置一个强密码。
如果无法访问,检查防火墙是否放行 3000 端口:
sudo ufw allow 3000/tcp
添加 Prometheus 数据源
登录 Grafana 后,左侧菜单点击 Connections > Data sources,然后点击 Add data source,选择 Prometheus。
在 URL 栏填写 Prometheus 的地址,例如 http://localhost:9090。
如果 Prometheus 和 Grafana 不在同一台机器,填写实际 IP。
其他选项保持默认,点击 Save & test,看到绿色提示即表示连接成功。
这一步是自定义仪表盘的基础,数据源不通,后续图表全部无法显示。
导入现成仪表盘模板
不想从零画图,可以直接导入社区模板。
点击左侧 Dashboards > New > Import。
在 Import via grafana.com 输入框填入仪表盘 ID,例如 Node Exporter 常用 ID 1860,点击 Load。
选择刚才添加的 Prometheus 数据源,点击 Import。
几秒后,一个包含 CPU、内存、磁盘、网络等图表的仪表盘就出现了。
手动创建自定义仪表盘
导入模板适合快速上手,但有时需要展示特定业务指标。
点击 Dashboards > New > New dashboard,然后 Add visualization。
在查询编辑器中,选择 Prometheus 数据源,输入 PromQL 查询语句。
例如查看 CPU 使用率:
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
右侧可以设置图表类型(Time series、Stat、Gauge 等)、单位、阈值和颜色。
点击 Apply 保存面板,再点击右上角 Save dashboard 命名保存。
避坑与验证要点
数据源连接失败:检查 Prometheus 是否正常运行,Grafana 容器内能否 ping 通 Prometheus 地址。
如果都在 Docker 中,建议使用同一网络或 --net=host。
图表显示 No data:多半是 PromQL 查询写错,或时间范围选得太短。
先在 Prometheus 的 Web UI 里执行同样的查询,确认有数据再回 Grafana 调整。
仪表盘时间不对:Grafana 默认使用浏览器时区,若服务器时区不同,在仪表盘设置里调整 Time zone 为 Asia/Shanghai。
验证方法:在服务器上执行 top 或 free -h,对比 Grafana 图表数值是否接近。
如果偏差过大,检查采集间隔和查询步长。
常见疑问
Grafana 免费吗? Grafana OSS 版本完全免费,功能足够个人和小团队使用。
企业版提供额外支持,按需选择。
必须用 Prometheus 吗? 不是,Grafana 支持 InfluxDB、MySQL、Elasticsearch 等多种数据源。
但 Prometheus 与 Node Exporter 组合最成熟,适合服务器指标监控。
仪表盘能分享给其他人吗? 可以。
在仪表盘设置中生成分享链接,或导出 JSON 文件发给同事导入。
注意分享链接需要对方有 Grafana 账号权限。
数据会丢失吗? Grafana 本身不存储指标数据,数据保留时间取决于 Prometheus 的配置。
默认保留 15 天,可在 Prometheus 启动参数中调整。
按照以上步骤,你就能拥有一个实时反映服务器健康状况的自定义仪表盘。
后续可根据业务需求,继续添加 MySQL、Nginx 等专项监控面板。