1. 概述与目标
1. 目标:保证香港节点在遭受DDoS或异常流量下业务可用性≥99.99%。
2. 范围:覆盖鼎峰
香港高防服务器、绑定CDN、DNS、边缘WAF与BGP清洗链路。
3. 核心需求:实时监控流量、包率、主机资源与应用层指标并实现自动告警与联动清洗。
4. SLA约定:在峰值攻击时,能在30秒内触发告警,5分钟内完成流量转发到清洗中心。
5. 成本控制:优先使用轻量采集(Prometheus+node_exporter)与边缘流量采样,减少采样带宽开销。
2. 架构设计(监控与告警链路)
1. 采集层:主机Agent(node_exporter)、sFlow/NetFlow采样器、tcpdump按需抓包。
2. 存储层:Prometheus做时序数据,Influx/TSDB做高频流量指标,ES存储日志/告警历史。
3. 可视化:Grafana面板展示主机/网络/应用指标,提供Dashboard模板。
4. 告警引擎:Alertmanager或Zabbix负责规则判定与路由(邮件/SMS/微信/Slack)。
5. 联动层:通过API触发BGP社区变更、流量回流到清洗中心或下发防火墙策略(iptables/nftables)。
3. 关键监控指标与采集频率
1. 主机资源:CPU、内存、磁盘IO,采集频率30s,告警阈值CPU>80%持续5min。
2. 网络带宽:入/出向带宽1s采样,计算5s滑窗峰值。
3. 包速率(PPS):采样1s,SYN/UDP异常包率阈值按策略设定。
4. 业务层:HTTP 5xx比率、平均响应时延(p95),采样10s。
5. 流量来源:按IP/ASN/国家分布统计,每5min生成Top N。
4. 告警规则与分级策略
1. 严重告警(P0):带宽>清洗带宽或PPS>清洗PPS且业务不可用,立即电话/短信+自动触发BGP。
2. 高优先(P1):带宽占用>70%或SYN>100k/s,邮件+微信提醒,工程师10分钟内响应。
3. 中优先(P2):应用错误率>3%且持续10min,邮件并在工作时间页面。
4. 低优先(P3):资源阈值接近(如磁盘>80%),仅登记工单。
5. 告警抑制:基于时间窗口(防止风暴)和抑制规则避免重复提醒,支持自动恢复通知。
5. 清洗与联动策略(实操流程)
1. 初始判断:通过流量阈值和包特征判断是否DDoS(5s内流量激增且PPS异常)。
2. 自动化触发:调用API将流量切到鼎峰清洗中心(示例:BGP社区 65535:666)。
3. 清洗策略:按协议区分(SYN/UDP/HTTP),对HTTP做WAF+验证码挑战,SYN做速率限制。
4. 回收策略:攻击衰减至正常阈值72小时内逐步移回原IP。
5. 人工协同:必要时结合客户应用白名单、源站防护规则与CDN加速策略。
6. 真实案例复盘(来自鼎峰客户)
1. 背景:2025-02-12 03:10,某金融网站在香港节点遭遇大规模DDoS。
2. 攻击特征:峰值流量120Gbps、包速率40Mpps,主要为UDP/ACK混合攻击。
3. 监控响应:Prometheus在3s内触发P0告警,Alertmanager在10s内呼叫值班工程师。
4. 联动结果:BGP引导至清洗中心8s内生效,清洗后回源流量降至8Gbps,业务可用率维持在99.98%。
5. 后续:保留完整pcap 7天、时序指标存30天用于事后取证与优化。
7. 示例配置与阈值表(参考)
1. 参考服务器配置:Intel 8核 / 16线程、32GB DDR4、1 x 480GB NVMe、1Gbps专线,清洗能力100Gbps。
2. 告警阈值示例见下表。
| 指标 | 采样频率 | 阈值 | 级别 |
| 带宽入向 | 1s | >70%(1Gbps即700Mbps) | P1 |
| PPS(总包速率) | 1s | >100k pkt/s | P1 |
| CPU | 30s | >80% 持续5min | P2 |
| HTTP 5xx | 10s | >3% 持续10min | P2 |
3. 采集保留策略:高精度1s数据保留48小时,聚合后1min数据保留30天。
4. 日常演练:每季度进行一次攻防演练,验证告警链路完整性与回滚流程。
5. 运维建议:结合CDN缓存策略、合理DNS TTL(60-300s)和多可用区部署降低单点风险。
来源:技术团队视角 鼎峰香港高防服务器监控与告警方案详解