第16章:实时监控与告警系统
系统不出故障是不可能的,关键在于能否在用户发现之前发现并解决。
16.1 监控系统架构
一个完整的监控系统应包含四个层面:
- 基础设施层:CPU、内存、磁盘、网络带宽。
- 中间件层:MySQL 连接数、Redis 命中率、Kafka 积压量。
- 应用层:API 响应时间、错误率、QPS (每秒请求数)。
- 业务层:设备在线数、今日订单量、异常报警数。
16.2 告警机制
16.2.1 告警规则
- 阈值告警:
cpu_usage > 90%持续 5 分钟。 - 趋势告警:
order_count环比昨天下降 50%。 - 存活告警:关键进程
process_count == 0。
16.2.2 告警分级
- **P0 (灾难)**:核心业务中断(如 MQTT Broker 宕机),需立即电话唤醒。
- **P1 (严重)**:非核心功能受损(如历史数据查询失败),需 1 小时内响应。
- **P2 (一般)**:性能下降但未影响业务,工作时间处理。
16.2.3 通知渠道
- 邮件:适合日报、周报。
- **IM (钉钉/企业微信/Slack)**:适合 P1/P2 告警,群内协作。
- 短信/电话:适合 P0 级紧急告警。
16.3 常用工具:Prometheus + Alertmanager
Prometheus 是云原生时代监控的事实标准。
- Exporter:负责采集数据(如
node_exporter采集主机信息)。 - Prometheus Server:拉取并存储数据。
- Alertmanager:接收 Prometheus 发出的告警,进行去重、分组、路由(发给谁)和抑制(A 告警导致 B 告警,只发 A)。
至此,第四部分“云平台与大数据”已全部完成。随着 AI 技术的下沉,边缘计算变得越来越重要。下一章我们将进入第五部分:进阶技术与安全。