1. 总体架构与站群分布设计(香港站点)
1) 节点分布:建议至少部署3个可用区/供应商(如HK1、HK2、HK3),每个区域部署3台Web节点与1台负载均衡器,实现跨机房冗余。
2) 节点规格举例:Web节点配置示例:CPU 8 vCPU,内存 16GB,磁盘 240GB NVMe,带宽峰值 1Gbps;DB主节点:CPU 16 vCPU,内存 64GB,磁盘 1TB NVMe,带宽 1Gbps。
3) 网络与DNS:主域名在香港机房使用主/备NS,TTL设置为60秒以便快速切换;使用DNS提供商API实现自动化修改。
4) CDN与WAF:前端强制走全球CDN(香港边缘),并启用WAF策略、速率限制和Bot管理,减轻源站压力。
5) 流量工程:对大流量时段(如广告投放)预设弹性扩容策略和临时流量削峰(CDN回源限流或下游限速)。
2. 监控项与阈值设计(关键量化指标)
1) 主机与系统监控:CPU平均利用率阈值:>80%(持续5分钟报警),内存使用>85%报警,Load average超出vCPU数*2时报警。
2) 磁盘与IO:IOPS阈值:>5000(单盘),磁盘剩余空间<15%报警,磁盘延迟(avg-cpu)>20ms报警。
3) 网络与带宽:上行或下行带宽利用率>70%(持续3分钟)触发报警;丢包率>1%或RTT异常大幅上涨报警。
4) 服务层指标:nginx 4xx/5xx比率>1%报警,响应时间P95 > 800ms报警,后端连接池耗尽(active connections)报警。
5) 业务健康检查:定期探测域名解析正确性、HTTPS证书有效期<14天报警、页面关键接口(/health, /login)错误率>0.5%报警。
3. 报警策略与分级(避免告警风暴)
1) 报警分级:P0(影响全站/大规模流量中断)、P1(单个机房故障/重要服务异常)、P2(次要性能下降)、P3(信息类)。
2) 报警抑制与聚合:同一类报警1分钟内抑制重复通知,5分钟内将相同源的报警聚合为一次事件。
3) 告警渠道:P0通过电话/SMS/值班电话、P1通过企业微信/钉钉+邮件、P2通过邮件+工单系统。
4) 自动消噪规则:维护窗口/流量峰值时段自动降级提醒优先级,避免误报干扰。
5) 恢复验证:每个告警设置自动检测脚本,恢复后自动关闭告警并发送恢复报告。
4. 自动化恢复策略与实现方法
1) 常见自动化动作:重启服务(systemctl restart nginx),重启容器(docker restart web-xx),重启主机(cloud API reboot),切换VIP(keepalived)。
2) 自动化流程:先尝试应用层重启(0-30s),再尝试进程回收/清理缓存(30-90s),90s仍未恢复则执行主机重启或流量切换。
3) DNS+CDN自动切换:通过DNS API把流量临时切到备用机房,并通过CDN回源控制减少源站压力(DNS TTL=60s保证切换快)。
4) 脚本示例:使用监控告警触发器调用运维脚本,示例动作:调用API:POST /cloud/v1/instances/{id}/reboot,或执行ssh "systemctl restart php-fpm"。
5) 自动化质量控制:对自动重启进行限制(同一资源24小时内最多3次自动重启),超过阈值改为人工介入。
5. DDoS防御与异常流量自动处置
1) 多层防护:边缘CDN先挡,WAF规则阻断常见攻击,BGP/流清洗在上游提供大流量清洗。
2) 异常检测阈值:5分钟内请求速率(RPS)突增>10倍或单IP并发连接数>2000启动应急策略。
3) 自动化处置:检测到异常后自动拉黑恶意IP、开启速率限制、调整WAF规则、并通知上游清洗厂商。
4) 黑名单同步:将恶意IP通过防火墙(iptables/nftables)或云防火墙API下发到所有香港节点(示例:分发规则到3个机房)。
5) 事后分析:保存pcap样本与nginx access日志,使用ELK/Graylog做攻击特征分析并制成IP黑白名单。
6. 监控数据与示例阈值表(演示数据)
下面为常见监控阈值表(示例),便于运维快速参考并在监控系统中配置。
| 指标 |
阈值 |
持续时长 |
告警级别 |
| CPU使用率 |
>80% |
5分钟 |
P1 |
| 内存使用率 |
>85% |
5分钟 |
P1 |
| 带宽利用率 |
>70% |
3分钟 |
P1 |
| HTTP 5xx比率 |
>1% |
1分钟 |
P0 |
7. 真实案例:香港站群遭遇DDoS的处理与恢复(含数据与过程)
1) 事件概述:2025-09-12 03:10(UTC+8),香港站群流量突然从正常RPS 2k升至峰值RPS 120k,带宽利用率从250Mbps飙升到950Mbps,源站CPU飙升至100%。
2) 监控报警:监控系统在90秒内触发P0告警(带宽>70%且5xx比率上升),同时检测到单IP并发>3000。
3) 应急处置:自动化脚本第一阶段触发——启用CDN速率限制并下发WAF规则(拦截异常UA与速率阈值),同时调用云防火墙API拉入黑名单1000条IP,减少回源流量约78%。
4) 上游清洗:同时向流量清洗厂商提交清洗请求,10分钟内清洗线路生效,使回源带宽从950Mbps降至140Mbps,源站CPU恢复到40%,P95响应从1.8s降到0.35s。
5) 复盘与改进:事件后在所有香港节点新增速率限制策略、将DNS TTL调整为30秒以加速切换并更新监控阈值;并将自动化重启限制从3次/24小时改为5次/24小时以提高自愈能力。