云原生监控实战:Prometheus+Grafana快速搭建指南
在分布式系统时代,运维监控是系统稳定的生命线。本文将手把手搭建轻量高效的监控解决方案。
核心组件
- Prometheus:开源时序数据库,支持多维数据采集
- Grafana:数据可视化平台,提供丰富仪表盘
- Node Exporter:主机资源指标采集器
四步部署方案
安装Node Exporter(被监控主机)
docker run -d -p 9100:9100 --name node-exporter prom/node-exporter
配置Prometheus(监控服务器)
# prometheus.yml scrape_configs: - job_name: 'node' static_configs: - targets: ['192.168.1.10:9100'] # 被监控主机IP
启动Prometheus服务
docker run -d -p 9090:9090 -v ./prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
部署Grafana可视化
docker run -d -p 3000:3000 --name=grafana grafana/grafana-enterprise
关键配置技巧
告警规则配置(示例:CPU超80%告警)
alert: HighCPU expr: 100 - (avg by(instance)(irate(node_cpu_seconds_total{ mode="idle"}[5m])) * 100 > 80 for: 5m
Grafana仪表盘导入
- 登录Grafana (http://IP:3000)
- 导入ID:1860(Node Exporter全监控仪表盘)
监控指标全景
| 指标类型 | PromQL示例 | 监控意义 |
|----------------|-------------------------------|----------------------|
| CPU使用率 | 100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m]))
| 系统负载 |
| 内存占用 | node_memory_MemTotal_bytes - node_memory_MemFree_bytes
| 内存消耗 |
| 磁盘IO | rate(node_disk_read_bytes_total[5m])
| 磁盘读写性能 |
| 网络流量 | sum(rate(node_network_receive_bytes_total[5m]))
| 网络吞吐量 |
进阶实践
- 集成Alertmanager实现微信/邮件告警
- 对接Kubernetes监控容器生态
- 使用Blackbox Exporter监控HTTP/ICMP服务
经生产验证,该方案可在1小时内完成部署,降低40%故障发现时间。监控不是目的,而是保障业务连续性的基石。