在站群监控中,必须聚焦于既能反映节点健康又能体现业务质量的指标。核心指标包括:CPU利用率、内存使用率、磁盘I/O(IOPS、吞吐)、磁盘使用率、网络带宽/流量、网络延迟与丢包、TCP重传率、应用响应时间(如HTTP 95/99百分位)、GC/线程阻塞、以及服务依赖的外部接口错误率。
此外要纳入平台和运维层面的指标:时间序列数据库的采集延迟、监控Agent心跳、容器/虚拟机的重启次数、负载均衡器的后端健康检查通过率等。对跨站群架构,还需重点监测跨境链路的延迟/jitter和带宽波动。
对于不同指标建议不同采集频率:关键主机级指标(CPU、内存、磁盘I/O)建议30s~1min;应用响应时间和业务QPS建议10s~30s;跨站点网络探测(ping/HTTP synthetic)建议15s~30s,以便及时捕获短时抖动。
阈值设定应兼顾静态阈值与动态阈值。静态阈值适用于明确的资源饱和界限(如磁盘使用率90%),而动态阈值基于基线与异常检测(如使用移动平均、季节性分解或机器学习模型检测突变)。
常见分级:INFO/NOTICE(轻微波动)、WARNING(可能影响)、CRITICAL(影响业务)。告警触发逻辑建议加入持续时间条件(例如CPU>85%持续超过5分钟才报警),并结合告警抑制与去重(同一事件群组内只发送一路告警)。
CPU长期高于85%触发WARNING,95%触发CRITICAL;内存占用90% WARNING;磁盘使用率90% WARNING;IOPS/Writes延时超过某阈值(如avg latency > 20ms)触发告警;网络丢包率>1%持续超过3分钟触发告警。
跨站点链路是站群稳定性的关键。建议从三层面采集数据:基础网络层(ping、ICMP丢包、Traceroute)、传输层(TCP握手延迟、重传率)、业务层(HTTP/TCP端到端延时、应用请求成功率)。
部署合成监控(Synthetic Monitoring)在罗湖与新加坡双向定时发起请求,记录RTT、请求成功率与时延分位数;同时在链路上启用连续的双向iperf或sflow/sFlow类流量采样以分析带宽与流向。
对于跨境延迟或抖动,采用差异告警:比如新加坡到罗湖延迟比历史基线提升30%且绝对值超过100ms则触发中级告警;丢包率>2%且影响到业务SLO时触发CRITICAL。
根因分析推荐遵循“快照—回溯—验证”三步法。先快速采集指标快照(top、iotop、netstat、tcpdump摘要、应用性能追踪),然后回溯时间线查看异常前后事件(部署变更、流量突增、网络抖动),最后用假设逐一验证(切换流量、回滚、限流等)。
必须保证日志(集中化)、度量(Prometheus/InfluxDB),分布式追踪(Jaeger/Zipkin)、以及网络抓包(pcap)可快速访问。利用关联性分析(trace->logs->metrics)能显著缩短定位时间。
1) 确认告警影响范围(单机/一组/全局);2) 检查监控Agent与采集链路是否异常;3) 查看系统资源峰值和进程级别占用;4) 分析网络路径与丢包、重传;5) 回看发布/配置变更与上游依赖情况;6) 执行临时缓解(流量回退/扩容/重启)并观察。
自动化应覆盖告警分流、自动恢复与演练。告警分流通过规则与机器学习模型把告警送到对应值班组并自动关联历史事件;自动恢复可以实现常见故障的自愈脚本(如服务重启、路由重播、自动扩容)。
用告警抑制(maintenance window)、重复触发门槛(持续时间)和基于模型的噪声过滤降低误报率。定期演练(故障注入Chaos、灾难恢复演练)可以验证自动化流程与SOP的有效性。
建立标准化的Runbook并在Runbook中嵌入自动化脚本;对关键路径进行SLO定义并把告警与SLO偏离度关联;在Prometheus/Alertmanager中配置分组和抑制规则,保证告警既不过载也不过迟。