1.
监控总体规划与指标清单
步骤:1) 确定监控目标(可用性、延迟、带宽、丢包、BGP路由稳定性、磁盘、CPU、内存、进程、日志异常)。2) 制定SLO/SLA基线(如月可用率99.95%、P95延迟<100ms)。3) 列出数据来源:node_exporter、cloud API、SNMP、ICMP/tcping、应用指标、日志。
2.
部署基础指标采集(Prometheus + node_exporter)
步骤:1) 在监控服务器安装Prometheus:apt install prometheus。2) 在每台CN2实例安装node_exporter并启用systemd:创建/etc/systemd/system/node_exporter.service,启动并开放9100端口。3) 在prometheus.yml中添加scrape_configs,示例:scrape_configs: - job_name: 'cn2-servers' static_configs: - targets: ['10.0.0.5:9100','10.0.0.6:9100']。
3.
网络质量与路由监控
步骤:1) 使用ping/tcping定时任务检测延迟与丢包,cron示例每分钟执行并写入Prometheus Pushgateway或Push到Influx。2) 使用mtr或smokeping做连续延迟路径分析,保存历史。3) 监控BGP路由变更:如可用,接入路由监控API或部署BGP监听器(ExaBGP)记录路由异动并作为告警触发条件。
4.
应用与进程级监控
步骤:1) 使用blackbox或自定义Probe做HTTP/TCP健康探测(返回码、响应时间、页面内容校验)。2) 对关键进程配置systemd探针,当进程停掉时由node_exporter textfile或自定义脚本暴露指标。3) 为数据库/缓存使用专业exporter(mysql_exporter、redis_exporter)。
5.
日志采集与异常检测(ELK/EFK / Loki)
步骤:1) 部署Filebeat/Fluentd将/var/log和应用日志推送到Elasticsearch或Loki。2) 在Logstash/Fluentd配置解析与标签(实例、服务、环境)。3) 设置基于关键字与异常频率的告警(如ERROR速率突增、连接超时日志大量涌入)。
6.
告警规则与阈值配置(Prometheus Alerting)
步骤:1) 定义AlertRule,例如: - alert: HighCpu expr: node_cpu_seconds_total{mode!="idle"} / ignoring(mode) group_left sum(node_cpu_seconds_total) > 0.8 for: 5m 2) 把告警分级(P0/P1/P2)并定义持续时间触发策略。3) 在Alertmanager配置路由和抑制规则(suppress flapping)。
7.
告警通知与群组路由
步骤:1) 配置Alertmanager receivers(email、Webhook、Slack、钉钉、短信)。示例:receivers: - name: 'ops' webhook_configs: - url: 'https://dingtalk.example.com/webhook'。2) 实现分级通知:P0立即电话+短信,P1发送群组IM并标注值班人,P2邮件汇总。3) 设置静默时段与值班表对接。
8.
自动化修复与Runbook
步骤:1) 为常见故障写自动化脚本(重启服务、清理临时文件、扩容磁盘、触发云端热迁移)。2) 在告警中嵌入修复命令或Runbook链接,示例:告警触发后执行Webhook调用自动化平台(Ansible Tower / Rundeck)。3) 所有修复需日志化并可回滚。
9.
演练与容量规划
步骤:1) 每月执行一次故障演练(单点宕机、链路丢包、CPU暴涨),验证告警触达与自动化脚本。2) 定期查看监控趋势(7/30/90天),按95/99分位进行容量扩容计划。3) 记录每次演练结果并更新Runbook。
10.
CN2特殊注意事项与优化
步骤:1) 关注跨境路由和出口带宽突变,监控从中国大陆到新加坡的RTT和丢包。2) 调整MTU与TCP参数(启用BBR:sysctl -w net.ipv4.tcp_congestion_control=bbr)。3) 对关键链路配置备份出口或跨机房多线路以防BGP波动。
11.
持续改进与SLA对齐
步骤:1) 定期审计告警噪音,合并低价值规则,避免疲劳。2) 将告警和SLO绑定,设立改进目标(降低P0次数)。3) 建立月度监控报告,向业务方通报趋势与改进计划。
12.
问:监控刚部署好如何验证有效性?
答:验证步骤:1) 人工触发故障(stop 服务、制造高CPU、丢包模拟)并确认Prometheus指标上升及Alertmanager告警到达对应渠道。2) 检查Grafana面板历史曲线与日志系统是否有同步记录。3) 演练自动化修复,确认流程闭环并记录结果。
13.
问:如何降低告警噪音,避免运维疲劳?
答:方法:1) 分级告警并提高非紧急告警的触发窗口(例如for: 10m)。2) 设置抑制规则(suppress)避免重复告警。3) 定期清洗不再需要的规则,合并相似告警并添加速率阈值。
14.
问:对新加坡CN2云服务器,首要的网络监控项是什么?
答:首要项:1) 双向RTT与丢包(到中国主要节点和业务节点)。2) 带宽使用与突发流量监控。3) BGP路由变更与出口异常。结合上述监控,配合自动化和多线冗余可保障长期稳定运行。
来源:监控与告警策略教你保障新加坡云服务器cn2长期稳定运行