Docker之Prometheus部署
Docker之Prometheus部署:监控系统快速搭建指南
核心组件与部署命令
1. Node Exporter部署(监控主机指标)
docker run -d \
--restart=unless-stopped \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
192.168.2.130:5000/prom/node-exporter:latest
参数解析:
--net="host"
:使用主机网络模式,直接暴露主机指标-v
挂载参数:只读(ro)挂载系统关键目录,用于采集主机指标9100
端口:Node Exporter默认服务端口
2. Prometheus Server部署(监控主服务)
docker run -d \
-p 9090:9090 \
--restart=unless-stopped \
--name prometheus \
-v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
192.168.2.130:5000/prom/prometheus
配置文件详解(prometheus.yml)
global:
scrape_interval: 15s # 每15秒抓取一次指标
scrape_configs:
- job_name: PROD # 生产环境节点组
static_configs:
- targets: [ # 监控目标列表
'10.9.20.31:9100', # Node Exporter地址
'10.9.20.31:9100' # 可添加多个目标
]
- job_name: Windows # Windows节点组
static_configs:
- targets: [
'192.168.2.100:9182' # Windows Exporter地址
]
配置要点:
必须先创建配置文件并设置权限:
mkdir -p /home/prometheus chmod 755 /home/prometheus/prometheus.yml
- 每个
job_name
代表一个监控分组 targets
支持DNS名称或IP地址
架构说明
+-------------------+ +-------------------+ +-------------------+
| Node Exporter | | Windows Exporter| | 其他Exporter |
| (主机指标采集) | | (Windows指标采集)| | |
+--------+----------+ +---------+---------+ +---------+---------+
| | |
v v v
+----------------------------------------------------------------------+
| Prometheus Server |
| (指标收集、存储与告警判断) |
+----------------------------------------------------------------------+
验证部署
检查Node Exporter:
curl http://localhost:9100/metrics
访问Prometheus Web界面:
http://服务器IP:9090
- 在Web界面输入
up
查询监控目标状态
生产环境建议
安全加固:
- 配置Basic认证
限制9090端口的访问IP
# 在prometheus.yml中添加 basic_auth: username: admin password: strongpassword
数据持久化:
# 添加数据卷挂载 -v /data/prometheus:/prometheus
告警配置:
创建alertmanager.yml并挂载:-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml
常见问题排查
Q:Targets显示DOWN状态?
- 检查防火墙规则
- 验证exporter服务是否正常运行
- 检查prometheus.yml中的IP/端口是否正确
Q:如何监控更多主机?
- 在新主机部署Node Exporter
- 在prometheus.yml的targets中添加新条目
- 无需重启,Prometheus会自动重新加载配置
Q:如何升级配置?
# 修改配置文件后执行
docker kill -s SIGHUP prometheus
通过以上部署,您将获得:
- 主机级资源监控(CPU/内存/磁盘等)
- 多环境统一监控视图
- 可扩展的监控架构