
一、前言
在现代运维体系中,可观测性(Observability) 是系统稳定运行的核心。Prometheus 与 Grafana 是最受欢迎的监控组合之一:
本文将手把手带你在 Red Hat Enterprise Linux 9/10 或 CentOS Stream 环境中,从零部署一套完整的 Prometheus + Grafana + Node Exporter 监控体系,实现主机性能监控与图表化分析。
二、部署环境准备
组件  | 版本  | 说明  | 
OS  | RHEL 9 / 10  | 主监控节点和被监控节点  | 
Prometheus  | v2.53.0+  | 监控数据采集与存储  | 
Grafana  | v11.2.0+  | 可视化仪表盘  | 
Node Exporter  | v1.8.1  | 系统指标采集组件  | 
三、第一步:系统基础配置
# 更新系统
sudo dnf update -y
# 关闭防火墙与 SELinux(测试环境)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
# 创建监控用户
sudo useradd -m -s /bin/bash monitor
四、第二步:安装 Prometheus
1. 下载与解压
cd /opt
sudo wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz
sudo tar -xvf prometheus-2.53.0.linux-amd64.tar.gz
sudo mv prometheus-2.53.0.linux-amd64 prometheus
2. 配置 Prometheus
sudo vim /opt/prometheus/prometheus.yml
示例配置内容:
global:
scrape_interval: 10s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'linux-nodes'
static_configs:
- targets: ['192.168.1.101:9100', '192.168.1.102:9100']
3. 创建 systemd 服务
sudo tee /etc/systemd/system/prometheus.service <<'EOF'
[Unit]
Description=Prometheus Monitoring
After=network.target
[Service]
User=monitor
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data
[Install]
WantedBy=multi-user.target
EOF
4. 启动 Prometheus
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
sudo systemctl status prometheus
浏览器访问:
http://<server-ip>:9090
五、第三步:部署 Node Exporter
在每台被监控服务器执行以下命令:
cd /opt
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
sudo tar -xvf node_exporter-1.8.1.linux-amd64.tar.gz
sudo mv node_exporter-1.8.1.linux-amd64 node_exporter
创建服务:
sudo tee /etc/systemd/system/node_exporter.service <<'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
ExecStart=/opt/node_exporter/node_exporter
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
验证运行:
http://<node-ip>:9100/metrics
六、第四步:安装 Grafana
sudo dnf install -y https://dl.grafana.com/oss/release/grafana-11.2.0-1.x86_64.rpm
sudo systemctl enable --now grafana-server
访问 Web 界面:
http://<server-ip>:3000
默认账号密码:
admin / admin
七、第五步:连接 Prometheus 数据源
在 Grafana 中执行以下步骤:
八、第六步:导入监控模板
在 Grafana 的 Dashboard → Import 中输入模板 ID:
点击导入后即可看到完整的 CPU、内存、磁盘、网络实时监控面板。
九、第七步:设置告警与通知
在 Prometheus 创建告警规则:
groups:
- name: system_alerts
rules:
- alert: HighCPUUsage
expr: avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.9
for: 2m
labels:
severity: critical
annotations:
summary: "CPU usage > 90%"
description: "Server {{ $labels.instance }} CPU usage is above 90%"
重启服务:
sudo systemctl restart prometheus
结合 Alertmanager + 邮件/钉钉 即可完成全自动告警。
十、优化提议
sudo dnf install -y chrony
sudo systemctl enable --now chronyd
十一、结语
通过以上步骤,你已经成功从零搭建了一套高效稳定的 Prometheus + Grafana 监控平台。
这不仅能协助你快速发现问题、掌握资源趋势,还为后续的 AIOps 智能运维 打下坚实基础。