1. 前置准备
核心要求:Ubuntu20+/CentOS7(1 核 2G 即可)、关闭防火墙 / SELinux、安装 Docker
# Ubuntu安装Dockerapt update && apt install docker -y# CentOS安装Dockeryum install docker -y && systemctl start docker
验证:docker --version 显示版本即成功
📊 2. 核心采集:Prometheus+NodeExporter
Docker 一键启动(自动采集服务器硬件指标)
# 启动Prometheus(核心采集引擎)docker run -d --name prometheus -p 9090:9090 -v /opt/prometheus/:/etc/prometheus/ prom/prometheus# 启动NodeExporter(采集服务器指标)docker run -d --name node_exporter -p 9100:9100 --net=host --pid=host -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest
核心配置(/opt/prometheus/prometheus.yml):
scrape_configs:- job_name: 'node_exporter'static_configs:- targets: ['localhost:9100'] # 采集NodeExporter指标alerting:alertmanagers:- static_configs:- targets: ['localhost:9093'] # 关联Alertmanagerrule_files:- "/etc/prometheus/alert_rules.yml" # 加载告警规则
验证:访问 http://你的IP:9090/targets,NodeExporter 状态为UP
🎨 3. 可视化:Grafana
Docker 一键启动(生成美观监控仪表盘)
docker run -d --name grafana -p 3000:3000 grafana/grafana:latest
核心操作:
1.访问 http://你的IP:3000,默认账号admin/admin
2.添加数据源:选择Prometheus,URL 填http://你的IP:9090,保存
导入模板:输入模板 ID「1860」(社区最火服务器监控模板),选择数据源导入
验证:仪表盘显示 CPU / 内存 / 磁盘实时数据

🚨 4. 告警:Alertmanager
Docker 一键启动(发送邮件 / 企业微信告警)
docker run -d --name alertmanager -p 9093:9093 -v /opt/alertmanager/:/etc/alertmanager/ prom/alertmanager
核心配置(/opt/alertmanager/alertmanager.yml,163 邮箱为例):
global:smtp_smarthost: 'smtp.163.com:25'smtp_from: '你的163邮箱@163.com'smtp_auth_password: '你的163授权码' # 不是登录密码route:receiver: 'email'receivers:- name: 'email'email_configs:- to: '接收告警邮箱@qq.com'
验证:访问 http://你的IP:9093,界面正常
⚙️ 5. 告警规则
核心规则(/opt/prometheus/alert_rules.yml,触发条件):
groups:- name: node_alertsrules:- alert: 内存不足expr: 100-(node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes*100)>90for: 2m # 持续2分钟触发annotations:summary: 主机{{$labels.instance}}内存不足,使用率{{humanize $value}}%
验证:重启 Prometheus(docker restart prometheus),访问http://你的IP:9090/alerts,规则已加载
🧪 关键验证 Checklist
✅ NodeExporter:http://你的IP:9100/metrics 有node_开头指标
✅ Prometheus:Targets 全部UP
✅ Grafana:仪表盘有实时数据
✅ Alertmanager:用stress --cpu 4 --timeout 120s模拟负载,5 分钟内收到告警邮件
上一条:grafana基本概念
下一条:Grafana 12.4 布局升级实测