# 第九部分:监控与运维 ## 9.1 监控架构 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 监控架构总览 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ 数据采集层 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │Prometheus│ │ Filebeat │ │ Loki │ │ Jaeger │ │ │ │ │ │ 指标采集 │ │ 日志采集 │ │ 日志聚合 │ │ 链路追踪 │ │ │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ └───────┼──────────────┼──────────────┼──────────────┼─────────────────┘ │ │ │ │ │ │ │ │ ┌───────┼──────────────┼──────────────┼──────────────┼─────────────────┐ │ │ │ ↓ ↓ ↓ ↓ 存储层 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │Prometheus│ │Elastic │ │ Loki │ │ Jaeger │ │ │ │ │ │ TSDB │ │search │ │ Storage │ │ Storage │ │ │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ └───────┼──────────────┼──────────────┼──────────────┼─────────────────┘ │ │ │ │ │ │ │ │ ┌───────┼──────────────┼──────────────┼──────────────┼─────────────────┐ │ │ │ ↓ ↓ ↓ ↓ 展示层 │ │ │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ │ │ Grafana │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 系统面板 │ │ 业务面板 │ │ 日志面板 │ │ 链路面板 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ 告警层 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │AlertMana │ │ 企微/钉钉│ │ 短信/电话│ │ │ │ │ │ ger │ │ Webhook │ │ 通知 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ## 9.2 监控指标 ``` ┌──────────────────────────────────────────────────────────────────┐ │ 核心监控指标 │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ 系统指标(基础设施): │ │ ┌──────────────┬──────────────┬──────────────┬──────────────┐ │ │ │ 指标 │ 采集方式 │ 频率 │ 告警阈值 │ │ │ ├──────────────┼──────────────┼──────────────┼──────────────┤ │ │ │ CPU使用率 │ node_exporter│ 15秒 │ >80% │ │ │ │ 内存使用率 │ node_exporter│ 15秒 │ >85% │ │ │ │ 磁盘使用率 │ node_exporter│ 15秒 │ >90% │ │ │ │ 磁盘IO │ node_exporter│ 15秒 │ >80% │ │ │ │ 网络带宽 │ node_exporter│ 15秒 │ >80% │ │ │ │ 网络连接数 │ node_exporter│ 15秒 │ >8000 │ │ │ └──────────────┴──────────────┴──────────────┴──────────────┘ │ │ │ │ 业务指标(加速器): │ │ ┌──────────────┬──────────────┬──────────────┬──────────────┐ │ │ │ 指标 │ 采集方式 │ 频率 │ 告警阈值 │ │ │ ├──────────────┼──────────────┼──────────────┼──────────────┤ │ │ │ 节点在线率 │ 心跳统计 │ 1分钟 │ <95% │ │ │ │ 带宽利用率 │ 流量统计 │ 1分钟 │ >80% │ │ │ │ 用户在线数 │ 会话统计 │ 实时 │ - │ │ │ │ 平均延迟 │ 探测数据 │ 5秒 │ >100ms │ │ │ │ 丢包率 │ 探测数据 │ 10秒 │ >5% │ │ │ │ 加速成功率 │ 会话统计 │ 1分钟 │ <95% │ │ │ │ 掉线率 │ 会话统计 │ 1分钟 │ >5% │ │ │ │ 新用户注册数 │ 业务统计 │ 1小时 │ - │ │ │ │ 支付成功率 │ 支付统计 │ 实时 │ <98% │ │ │ └──────────────┴──────────────┴──────────────┴──────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────┘ ``` ## 9.3 告警规则 ``` ┌──────────────────────────────────────────────────────────────────┐ │ 告警规则配置 │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ 告警级别: │ │ ┌──────────┬────────────────────────────────────────────────┐ │ │ │ 级别 │ 说明 │ │ │ ├──────────┼────────────────────────────────────────────────┤ │ │ │ P0-紧急 │ 服务完全不可用,需要立即处理 │ │ │ │ P1-严重 │ 服务部分不可用,需要15分钟内处理 │ │ │ │ P2-警告 │ 服务异常但可用,需要1小时内处理 │ │ │ │ P3-通知 │ 信息性通知,工作时间处理 │ │ │ └──────────┴────────────────────────────────────────────────┘ │ │ │ │ 告警规则示例: │ │ │ │ # P0 - 节点全部离线 │ │ - alert: AllNodesDown │ │ expr: up{job="accelerator-node"} == 0 │ │ for: 1m │ │ labels: │ │ severity: critical │ │ annotations: │ │ summary: "节点 {{ $labels.node }} 离线" │ │ │ │ # P1 - 节点负载过高 │ │ - alert: NodeHighLoad │ │ expr: node_load_rate > 0.8 │ │ for: 5m │ │ labels: │ │ severity: warning │ │ annotations: │ │ summary: "节点 {{ $labels.node }} 负载过高: {{ $value }}" │ │ │ │ # P2 - 延迟过高 │ │ - alert: HighLatency │ │ expr: node_rtt_ms > 100 │ │ for: 5m │ │ labels: │ │ severity: warning │ │ annotations: │ │ summary: "节点 {{ $labels.node }} 延迟过高: {{ $value }}ms"│ │ │ │ # P2 - 丢包率过高 │ │ - alert: HighLossRate │ │ expr: node_loss_rate > 0.05 │ │ for: 3m │ │ labels: │ │ severity: warning │ │ annotations: │ │ summary: "节点 {{ $labels.node }} 丢包率: {{ $value }}" │ │ │ │ 通知渠道: │ │ - P0: 电话 + 短信 + 企微 + 钉钉 │ │ - P1: 短信 + 企微 + 钉钉 │ │ - P2: 企微 + 钉钉 │ │ - P3: 企微 │ │ │ └──────────────────────────────────────────────────────────────────┘ ```