核心指标应覆盖网络、主机与应用三个层面,保证从链路到业务的可观测性。网络层建议监控:带宽利用率、延迟(RTT)、丢包率、抖动、路由变更与BGP邻居状态。主机层建议监控:CPU使用率、内存使用率、磁盘IO与可用空间、负载(load average)、进程数量与僵尸进程。应用层监控:服务响应时间(99/95/50分位)、错误率(4xx/5xx)、连接数、队列长度与自定义业务指标。
将指标按SLO影响分为P0-P2,P0(如链路丢包、服务不可达)采集频率建议10s-30s,P1(如延迟升高、CPU超阈)采集频率30s-60s,P2(如趋势类指标)可1-5分钟。采集要兼顾性能与成本。
在告警文案与仪表盘中突出显示 CN2 GIA、香港节点、丢包、延迟 等关键词,便于值班快速判断。
先在每台出口路由与关键业务主机部署基础监控(ICMP、SNMP、agent),并在边缘交换设备上启用流量镜像或sFlow以便精细分析。
告警阈值应基于业务SLA和历史统计分布设定,结合瞬时与持续两个维度。建议同时配置“瞬时阈值告警”和“持续阈值告警”来区分短暂波动与真实问题。
延迟(出海到主要目的地):瞬时>120ms触发警告,持续3次/5分钟触发告警;丢包:瞬时>1%警告,持续>1%且持续3分钟触发严重告警;抖动:瞬时>30ms警告,持续>30ms且持续5分钟触发告警。
1)优先考虑业务影响:语音/实时业务阈值更严格;2)结合业务时段:高峰期阈值可更敏感;3)采用相对阈值(例如同比、环比)以识别突发异常。
使用聚合告警(grouping)、抑制(suppression)和静默窗口(maintenance window)来减少重复告警;对于短时抖动可设置“连续N次异常”后才发出告警。
主机资源需要区分临界与预警级别,结合趋势与突发峰值采取不同处理。预警用于容量规划,临界用于立即干预。
CPU:5分钟均值>85%触发预警,>95%触发紧急;内存:可用内存占比<20%预警,<10%紧急并检查Swap;磁盘:可用空间<20%预警,<5%紧急;磁盘IO延迟>20ms(数据库场景更严苛)触发IO告警。
触发预警时自动创建工单并通知On-call;触发紧急时可执行预设脚本(限流、重启非关键进程、清理临时文件)并同时发起人工回滚流程。所有自动化动作需经过变更审计。
1)对批量任务窗口做告警抑制;2)对短时峰值应用滑动窗口与中位数过滤;3)结合进程级指标(例如单进程CPU)判断是否为单点进程问题。
应用层要从可用性、性能、正确性三方面监控:可用性(可连接性、响应码)、性能(响应时间p50/p95/p99)、正确性(错误率、数据一致性)、以及依赖服务状态。
HTTP:4xx>1%或5xx>0.5%持续5分钟触发告警,p95响应时间超过SLO(例如500ms)触发性能告警;TCP连接失败率、重传率>阈值需告警;数据库慢查询占比>X%触发性能优化流程。
定义代表性业务交易作为合成监控(synthetic checks),并部署真实用户监控(RUM)或采样链路追踪以关联出错事务与底层资源。
对高影响错误(如支付失败)设置最高级别告警并自动触发流量切换或降级策略;对非关键降级设置告警但默认不做自动回退,先通知值班人员评估。
告警策略包含分级(信息、警告、关键、紧急)、抑制与路由(不同团队接收不同级别)、以及后续处置SOP与Escalation链路。
信息/提示类仅写入日志并邮件汇总;警告类通知团队群但不唤醒On-call;关键与紧急类通过电话/SMS/电话桥唤醒对应On-call并同时在工单系统创建事件。
重复同一问题的告警在短期内合并,首封告警发送后若未被确认,按指数退避进行重试并升级通知级别。设置自动确认规则(例如问题自动恢复即闭环)以减少人工操作。
定期演练故障恢复与告警响应(包含跨团队演练),并定期分析告警噪音率、平均修复时间(MTTR)与误报率,持续调整阈值与抑制规则。