1.
概述:台湾高带宽VPS监控与告警的必要性
- 台湾节点面向华南、港澳及东南亚业务,延迟与丢包敏感,需实时监控带宽与连接数。
- 高带宽VPS常见端口带宽:1Gbps、5Gbps、10Gbps,任一口利用率异常都会影响服务。
- 监控对象包括:物理接口流量、连接数、HTTP QPS、并发连接、错误率与CPU/中断耗时。
- 告警要区分阈值级别:信息、警告、严重(比如链路利用率>70%、>90%)。
- 本文覆盖监控工具、告警规则、排查步骤、缓解命令与真实恢复案例,便于建立标准化SOP。
2.
监控架构与关键指标(Metric)
- 推荐监控组合:Prometheus + node_exporter + blackbox_exporter + Grafana + alertmanager。
- 关键指标:interface rx/tx (bytes/sec)、ifutil%(link usage)、conntrack/established、tcp_retrans、http_5xx、netstat/listen。
- 采样策略:1s收集用于流量突发检测,60s用于长周期趋势。Prometheus抓取间隔可为15s/30s/60s按指标区分。
- 阈值示例(1Gbps口):警告>=700Mbps(70%) 持续>=30s,严重>=900Mbps(90%) 持续>=15s。10Gbps口则相应放大到7Gbps/9Gbps。
- 监控要结合Netflow/sFlow采样,能快速定位流量来源ASN与top talkers。
3.
告警策略与通知链路
- 告警分级:P1(业务中断)、P2(性能受损)、P3(信息)。每级定义清晰的响应时间与负责人。
- 通知渠道:Alertmanager推送Email、Slack/Teams、企业微信/钉钉、SMS与Webhook触发自动化脚本。
- 自动化响应:严重带宽告警触发预置脚本(限速/iptables黑名单/通知上游)。示例告警内容:instance=tw-vps-01, iface=eth0, rx=2.8Gbps, threshold=900Mbps, time=2026-06-27T10:12:00。
- 告警抑制与抑制窗口:维护窗口抑制、重复告警退避,避免告警风暴。
- 告警里要包含诊断链接(Grafana面板、top-talkers CSV、最近tcptrace/tcpdump文件名)。
4.
带宽异常检测与初步排查(含示例流量表)
- 初步检查:查看接口利用率、ifconfig/ethtool中断、ss -s、conntrack -L输出;抓取tcpdump用于协议识别。
- 识别流量类型:是否为UDP/ICMP/FLOOD或是合法应用流量(HTTP下载、P2P)。
- Top talkers 查询:使用nfdump/sflowtool或iftop/ntop查看源/目的IP与端口。
- 关联上游:通过BGP邻居/ASN逆向确认是否为上游问题或DDoS攻击。
- 示例流量表(用于快速汇报与决策):
| 时间 | 源IP | 目的端口 | 入站Mbps | 连接数 | 备注 |
| 10:12 | 203.0.113.45 | 80 | 2800 Mbps | 120k | 疑似HTTP泛滥 |
| 10:15 | 198.51.100.8 | 123(udp) | 1200 Mbps | 300k | NTP 放大疑似攻击 |
5.
缓解措施与命令示例(快速响应Playbook)
- 暂时限流/丢弃:使用tc做policing。示例:tc qdisc add dev eth0 root tbf rate 1gbit burst 32kbit latency 400ms(下调到1Gbps)。
- 快速封堵源IP:iptables -I INPUT -s 198.51.100.8 -j DROP(批量可用ipset)。示例:ipset create badhosts hash:ip; ipset add badhosts 198.51.100.8; iptables -I INPUT -m set --match-set badhosts src -j DROP。
- Web层限流:nginx limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;location限制并返回429。
- BGP黑洞/上游清洗:联系带宽提供商请求blackhole或流量清洗;如果有BGP会话,可暂时announce blackhole。
- CDN/反DDoS服务:将流量切回Cloudflare/Akamai/厂商清洗,缓存静态资源以降低源站带宽。
6.
真实案例:台湾节点遭遇UDP/NTP放大与HTTP泛洪混合攻击
- 事件概述:某游戏公司
台湾VPS(配置示例:8 vCPU / 32GB RAM / 500GB NVMe / 10Gbps端口,Ubuntu 20.04,内核5.4)在2026-05-12 09:50触发带宽告警。
- 监控表现:eth0入站峰值达到2.8Gbps,conntrack状态达到450k条,CPU中断占用上升至60%。
- 处置过程:1) 触发自动脚本向运维值班发Slack告警并开启tcpdump;2) 识别两个主要源群:UDP/NTP放大(大量伪装源)与HTTP泛洪(大量小型源并发GET);3) 使用ipset封堵可疑源并启用tc限速;4) 联系上游请求BGP黑洞并同时启用CDN回源缓存。
- 恢复数据:封堵与上游配合后10分钟内流量从2.8Gbps降至400Mbps,conntrack回落至30k;业务恢复正常。
- 经验教训:预先准备ipset黑名单、BGP联系人清单与CDN回退策略能将恢复时间从数小时缩短到十分钟级。
7.
事后改进与最佳实践建议
- 告警与阈值优化:将阈值按端口速率分级、增加抑制窗口与告警链路演练。
- 自动化:编写受控的自动化缓解脚本(先采样、再应用),避免误杀合法用户。
- 内核与网络调优:调整/proc/sys/net/ipv4/ip_conntrack_max、nf_conntrack_hashsize、net.core.somaxconn、tcp_max_syn_backlog等,示例:echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max。
- 备援与分流:多点部署、多上游带宽、启用Anycast/CDN及流量清洗服务作为后备。
- SOP与演练:建立SOP文档(含联系人、脚本、表单),定期演练DDoS与带宽异常场景,确保团队在真实故障时高效响应。
来源:运维经验台湾高带宽vps监控告警与带宽异常处理流程