Prometheus+Grafana搭建机房服务器监控大屏

机房服务器数量一多,靠 SSH 逐台查看 CPU、内存、磁盘就变得很低效。
用 Prometheus 采集指标、Grafana 绘制大屏,可以把几十台机器的运行状态集中到一块屏幕上。
下面按零基础也能照做的顺序,讲清楚安装、配置、出图和排错。

准备阶段:角色分配与基础环境

这套方案由三个角色组成:被监控服务器上运行 Node Exporter 暴露指标,监控服务器上运行 Prometheus 负责拉取和存储数据,Grafana 负责读取 Prometheus 数据并展示图表。
建议监控服务器配置不低于 2 核 4G,磁盘预留 50G 以上,因为 Prometheus 的时序数据会持续增长。

假设监控服务器 IP 为 192.168.1.100,被监控服务器为 192.168.1.101192.168.1.102
所有机器建议时间同步,否则图表时间轴会错乱:

timedatectl set-timezone Asia/Shanghai
systemctl enable --now chronyd

确认防火墙放行端口:监控服务器需要放行 9090(Prometheus)和 3000(Grafana);
被监控服务器需要放行 9100(Node Exporter)。

被监控端:安装并验证 Node Exporter

在每台被监控服务器上执行以下命令下载并解压 Node Exporter:

cd /opt
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar -xzf node_exporter-1.7.0.linux-amd64.tar.gz
mv node_exporter-1.7.0.linux-amd64 node_exporter

创建 systemd 服务以便开机自启:

cat > /etc/systemd/system/node_exporter.service <<'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nobody
ExecStart=/opt/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now node_exporter

验证是否成功:curl http://localhost:9100/metrics 应返回大量以 # HELP 开头的指标文本,说明数据已暴露。
若连接被拒绝,检查服务状态 systemctl status node_exporter 和防火墙规则。

监控端:部署 Prometheus 并接入目标

在监控服务器上安装 Prometheus:

cd /opt
wget https://github.com/prometheus/prometheus/releases/download/v2.48.0/prometheus-2.48.0.linux-amd64.tar.gz
tar -xzf prometheus-2.48.0.linux-amd64.tar.gz
mv prometheus-2.48.0.linux-amd64 prometheus

编辑配置文件 /opt/prometheus/prometheus.yml,在 scrape_configs 下添加任务:

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['192.168.1.101:9100', '192.168.1.102:9100']

同样用 systemd 管理 Prometheus,启动后访问 http://192.168.1.100:9090,在顶部菜单 StatusTargets 中应看到所有 target 状态为 UP
如果显示 DOWN,优先检查被监控端 9100 端口是否可达。

可视化:Grafana 接入数据源并导入大屏

安装 Grafana(以 RPM 系为例):

wget https://dl.grafana.com/oss/release/grafana-10.2.3-1.x86_64.rpm
yum install -y grafana-10.2.3-1.x86_64.rpm
systemctl enable --now grafana-server

浏览器打开 http://192.168.1.100:3000,默认账号密码均为 admin,首次登录会要求修改。
进入 ConfigurationData SourcesAdd data source,选择 Prometheus,URL 填写 http://localhost:9090,点击 Save & test 出现绿色提示即成功。

导入现成面板最省事:
点击左侧 DashboardsImport
Import via grafana.com 输入面板 ID 1860(Node Exporter Full),
选择刚添加的 Prometheus 数据源,
即可生成包含 CPU、
内存、
磁盘、
网络等图表的监控大屏。

避坑与效果验证

时间不同步会导致 Grafana 图表出现断点或查询为空,
确保所有节点启用 NTP 或 chronyd。Prometheus 内存占用过高通常是因为采集目标过多或保留时间过长,
可在启动参数中调整 --storage.tsdb.retention.time=15dGrafana 面板无数据时,
先到 Prometheus 的 Graph 页面执行 up 查询,
确认数据源本身有返回。

验证整套监控是否生效,可以在一台被监控服务器上执行 dd if=/dev/zero of=/tmp/test bs=1M count=1024 制造磁盘写入,观察 Grafana 磁盘 I/O 图表是否出现对应波动。
能看到曲线变化,说明采集、存储、展示链路已经打通。

常见问题

Node Exporter 启动后 9100 端口不通? 检查 systemd 服务是否 active,以及云服务器安全组或本机 iptables 是否放行。

Grafana 导入面板后提示 Datasource not found? 导入时需手动选择已配置的 Prometheus 数据源,不能留空。

Prometheus Targets 显示 context deadline exceeded? 通常是被监控端响应慢或网络不通,
先用 telnet 192.168.1.101 9100 测试连通性。

按以上步骤完成后,你就能在 Grafana 中看到机房服务器的实时监控大屏。
后续增加服务器时,只需在被监控端部署 Node Exporter,并在 prometheus.yml 的 targets 列表中追加 IP,执行 systemctl reload prometheus 即可生效。

分享到:
上一篇
服务器监控工具推荐,实时查看负载内存硬盘
下一篇
Zabbix运维监控部署,服务器异常自动告警
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意