服务器监控实战:Prometheus+Grafana高效搭建指南
运维的核心在于"看得清",一套精准的监控系统就是运维工程师的望远镜。本文将手把手搭建开箱即用的监控解决方案。
为什么选择Prometheus+Grafana?
- Prometheus:基于时序数据库的监控工具,支持多维数据采集
- Grafana:数据可视化利器,支持丰富的仪表盘模板
- 组合优势:开源免费、扩展性强、社区生态完善
四步搭建监控系统
1. 安装Prometheus(Docker部署示例)
docker run -d --name=prometheus \
-p 9090:9090 \
-v /path/config:/etc/prometheus \
prom/prometheus
2. 配置Node Exporter采集主机指标
# prometheus.yml 关键配置
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['192.168.1.10:9100'] # 被监控服务器IP
3. Grafana对接数据源
docker run -d --name=grafana -p 3000:3000 grafana/grafana
登录Web界面添加Prometheus数据源(地址:http://prometheus:9090)
4. 导入监控仪表盘
使用官方模板ID 8919
一键导入:
- CPU/Memory使用率
- 磁盘IO实时吞吐
- 网络流量热力图
告警配置实战
在Prometheus配置企业微信告警:
alertmanager.yml
receivers:
- name: 'wechat'
wechat_configs:
- corp_id: 'xxxx'
to_user: '@all'
agent_id: '1000002'
api_secret: 'xxxxxx'
触发条件示例(内存>90%持续5分钟):
expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
for: 5m
进阶技巧
- 黑盒监控:使用blackbox_exporter探测端口可用性
- 日志集成:通过Loki插件关联日志与指标
- K8s监控:部署kube-state-metrics采集集群状态
监控系统搭建后,某电商平台将故障响应时间从小时级缩短至3分钟。记住:没有监控的服务器就像蒙眼奔跑,精准数据才是运维决策的基石。