15 KiB
15 KiB
第九部分:监控与运维
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: 企微 │
│ │
└──────────────────────────────────────────────────────────────────┘