1. 部署前准备与清单梳理
- 核对资源清单:IP段、ASN、BGP对等、机房/机柜、链路带宽、NAT/防火墙规则。
- 确定监控目标:路由器、交换机、边缘防火墙、NAT网关、真实业务服务器(含容器/虚拟机)、链路出口。
- 时间与告警策略本地化:所有监控时间使用日本标准时间(JST),提示值与值班班次同步。
2. 选择监控与报警平台
- 推荐组合:Prometheus(指标收集)+Grafana(可视化)+Alertmanager(报警路由)或Zabbix/Nagios用于SNMP/传统设备。
- 边界设备:使用SNMP/sFlow/NetFlow(nProbe、pmacct)采集接口流量与错误;路由器用BGP会话监控(BGP exporter、exabgp监控脚本)。
3. 指标与Exporters具体列表
- 主机:node_exporter(CPU、内存、磁盘、网络吞吐、inode、进程数)。
- 网络设备:snmp_exporter(ifInOctets/ifOutOctets OID: IF-MIB)、sflow/prometheus exporter采样;边缘链路丢包和延迟用blackbox exporter(icmp/http/tcp)。
- BGP:bgp_exporter或自写脚本抓取BGP状态(邻居、Prefix count、AS path变更、flap计数)。
4. Prometheus配置要点(示例)
- scrape_configs:按job分组(node、snmp、blackbox、bgp),scrape_interval=30s或60s。
- retention:根据容量与合规设置(建议90天高分辨率、1年下采样long-term)。用remote_write接备份TSDB(Thanos或Cortex)。
5. 关键监控项与阈值建议
- 主机:CPU avg >85% 持续5m告警,内存可用<10%或swap>0。
- 磁盘:使用率>80%(警告)、>90%(严重);inode使用>80%。
- 网络:接口利用率>70%(注意突发),>85%持续5m告警;丢包>1%或RTT跳变>2x正常水平。
- BGP:邻居DOWN、route-count骤降、flap>3/5m。
6. Alertmanager规则与通知链路
- 分级severity:info/warning/critical。配置routes按label(site=jp、service=bgp)分流。
- 通知:Webhook->Slack/Teams,PagerDuty或SMS给值班。设置抑制(silence)用于计划内维护。
- 去噪:使用for字段(例如for: 5m)避免瞬时抖动告警;对同类告警group_by(instance,alertname)。
7. 告警流程与运维Runbook模板
- Runbook应包含:验证指标命令、检查链路与邻居、临时缓解步骤、回滚或切换步骤、联系人清单。
- 示例命令:ping/traceroute、show bgp summary(设备厂商命令)、snmpwalk对应OID、curl到blackbox endpoint、查看Prometheus graph。
8. 自动化与自愈策略
- 建议:对低危问题(服务down)做自动重启playbook(Ansible/Runbook automation),对链路过载做流量重分发脚本。
- 严重网络故障避免自动操作,优先人工确认并启动故障切换计划。
9. 容量规划数据收集方法
- 时间窗口:至少收集90天数据作为基线,优先p95/p99统计而非均值。
- 关键指标:带宽使用(5m/1m峰值)、会话数、连接速率、流量方向分布、路由表条数、CPU/IO使用趋势。
10. 容量预测与计算步骤
- 步骤1:导出历史时间序列(Prometheus API或CSV)。
- 步骤2:计算日增长率/周增长率,使用线性回归或ARIMA进行短期预测;以p95峰值作为容量基准。
- 步骤3:定义头部余量(headroom)—常见取值20%-30%,高风险业务取40%+。
- 步骤4:考虑采购和交付周期(日本机房设备或电路通常有提前期),提前提交采购或申请扩容工单。
11. 预案与演练
- 定期做容量和故障演练:流量注入测试(压力测试)、链路切换、BGP故障演练。
- 演练后更新SOP、Runbook和报警阈值,记录MTTR与改进点。
12. 合规、时区与本地化细节
- 日方合作注意事项:使用JST、保留业务联系人日语支持、若涉及日志数据长期存储需考虑日本数据保留政策与合同条款。
- 告警文案本地化(日语/英语)以便运维快速理解。
13. 常见故障排查清单(一步步)
- 1) 验证Prometheus是否正常scrape目标;2) 在设备上执行ping/traceroute;3) 检查BGP邻居状态并查看路由数;4) 检查接口错误计数和丢包;5) 若为流量问题,查看NetFlow/sFlow采样分析热流量源/目的。
14. 问:如何快速判定日本出口链路是否瓶颈?
- 答:先看接口利用率与错误计数(snmp ifIn/ifOut、ifInErrors/ifOutErrors),再查看5分钟峰值流量与历史p95对比,最后用sFlow/NetFlow定位top talker。如果同时出现高利用率和丢包/错误,则为瓶颈。
15. 问:报警太多如何精简?
- 答:先分级并统计噪音来源(Prometheus alerts history),对频繁抖动的指标提高for时间或使用increase/rate聚合,合并相似告警并增加抑制/静默期,优化阈值基于p95而非瞬时峰值。
16. 问:容量规划如何考虑突发业务(如大促)?
- 答:在预测外增加特殊事件策略:提前做流量模拟与扩容演练,临时提高headroom(例如+50%),并准备可快速启用的预留带宽或云弹性扩容方案,同时制订流量降级策略与优先级规则。
来源:日本原生ip搭建后如何进行监控报警和容量规划实践