监控大屏Grafana可视化搭建:零基础完整教程
为什么你需要一个监控大屏
当你的服务器开始出现卡顿、宕机或磁盘爆满时,如果能一眼看到CPU、内存、磁盘和网络的实时变化,就能快速定位问题。
Grafana正是这样一款开源的可视化工具,配合数据源(如Prometheus),可以把服务器指标变成直观的图表和仪表板。
本文带你一步步搭建监控大屏,实现服务器可视化。
搭建前的准备工作
动手之前,你需要确认以下条件:
- 一台Linux服务器(本文以Ubuntu 22.04为例,CentOS也适用)
- 服务器已安装Docker(推荐)或直接使用apt/yum安装
- root权限或sudo权限
- 了解基本的SSH登录操作
如果你还没有安装Docker,可以执行以下命令快速安装:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
安装完成后,启动Docker并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
提示:如果不想用Docker,也可以直接用apt安装Grafana,但Docker方式更干净且易于迁移。
安装Grafana并启动服务
我们将使用Docker官方镜像部署Grafana,一行命令即可完成。
docker run -d --name=grafana -p 3000:3000 grafana/grafana
命令解释:
-d:后台运行--name=grafana:容器名称-p 3000:3000:将宿主机的3000端口映射到容器的3000端口
启动后,通过浏览器访问 http://你的服务器IP:3000,默认用户名和密码都是 admin。
首次登录会要求修改密码。
如果遇到端口冲突,可以改映射为其他端口,如 -p 3001:3000。
接入第一个数据源:Prometheus
Grafana本身不采集数据,需要从数据源获取。
最常用的组合是Grafana + Prometheus + Node Exporter。
这里我们快速搭建Prometheus和Node Exporter。
先运行Node Exporter采集服务器指标:
docker run -d --name=node-exporter -p 9100:9100 prom/node-exporter
再运行Prometheus,配置采集Node Exporter。
创建一个Prometheus配置文件 prometheus.yml:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['你的服务器IP:9100']
启动Prometheus容器并挂载配置文件:
docker run -d --name=prometheus -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
回到Grafana,添加数据源:
- 点击左侧齿轮图标 → “Data Sources” → “Add data source”
- 选择“Prometheus”
- 在URL处填写
http://你的服务器IP:9090 - 点击“Save & Test”,出现绿色提示表示连接成功
创建第一个监控大屏
Grafana内置了丰富的仪表板模板,我们直接导入社区高人气的Node Exporter Full模板。
- 点击左侧“+”号 → “Import”
- 在“Import via grafana.com”输入模板ID:
1860(这是Node Exporter Full模板) - 点击“Load”,在下方选择数据源为刚配好的Prometheus
- 点击“Import”
几秒钟后,你就能看到一个完整的监控大屏,包含CPU、内存、磁盘、网络等图表。
你可以根据自己的需要调整布局或添加新的面板。
避坑指南:常见问题与解决方法
问题1:访问Grafana页面时无法打开
- 检查防火墙是否放行了3000端口:
sudo ufw allow 3000 - 确认Docker容器是否运行:
docker ps -a,如果容器状态为Exited,查看日志:docker logs grafana
问题2:Grafana连接Prometheus失败
- 确保Prometheus容器正常运行,且端口9090可访问:
curl http://localhost:9090 - 检查Prometheus配置文件中的targets IP地址是否正确,最好使用服务器内网IP或Docker宿主机IP
问题3:导入仪表板后图表无数据
- 确认Node Exporter正常运行:
curl http://localhost:9100/metrics应返回大量指标 - 在Grafana中检查数据源是否选择正确,或者修改数据源URL中的IP
验证效果:你真的搭建成功了
当你看到仪表板上实时跳动的CPU曲线、磁盘空间百分比、网络流入流出图时,恭喜你,监控大屏已经成功可视化。
你可以尝试对服务器进行压力测试(如用 stress 命令),观察图表的变化,验证数据采集和展示是否正常。
如果你需要更丰富的可视化,可以在Grafana社区搜索其他模板(如MySQL、Nginx等),或者手动创建面板,设计专属于你的监控大屏。
最后,别忘了设置Grafana的持久化存储,避免容器重建后数据丢失。
推荐挂载卷:
docker run -d --name=grafana -p 3000:3000 -v grafana-storage:/var/lib/grafana grafana/grafana
至此,你已经完成了一次完整的Grafana可视化搭建实战。