打视频会议突然卡顿,远程桌面连不上,游戏里角色原地瞬移——这些八成不是网速慢,而是网络正在悄悄丢包。丢包本身不显眼,但一旦超过3%,网页加载变慢、语音断续、监控画面花屏就全来了。这时候,有个靠谱的丢包告警提醒,比等用户投诉强十倍。
丢包告警不是“出了事才通知”,而是提前拉响哨子
很多人以为丢包告警就是“ping不通了发个邮件”,其实真用起来,得盯住三件事:丢包率、持续时间、发生位置。比如你家路由器后台看到某条WAN口链路连续2分钟丢包5%,同时局域网内某台NAS的响应延迟飙到300ms,这就不是偶然抖动,很可能是光猫老化或网线接头氧化。
常见能设告警的设备:家用路由器(华硕、TP-Link高端款)、企业级交换机(华为S5735、H3C S5130)、软路由(OpenWrt/LEDE、PFSense)、还有Windows/Linux服务器自带的性能监视器。
动手试试:在OpenWrt里加个丢包监控脚本
以OpenWrt为例,进SSH后新建一个定时检测脚本:
#!/bin/sh
HOST="192.168.1.1" # 网关地址
LOSS=$(ping -c 5 $HOST 2>/dev/null | grep "packet loss" | awk -F'packet loss' '{print $1}' | awk '{print $NF}' | sed 's/%//')
if [ "$LOSS" -gt "3" ]; then
logger -t "loss-alert" "High packet loss to $HOST: ${LOSS}%"
echo "$(date): 丢包${LOSS}%,已记录" >> /tmp/ping_alert.log
# 这里可以加微信/钉钉推送命令,或发邮件
fi再用crontab每两分钟跑一次:*/2 * * * * /root/check_loss.sh。别小看这十几行,上周我邻居直播带货掉线三次,就是靠这个脚本发现是入户光纤弯折导致的间歇性丢包。
企业环境别只靠设备自带功能
公司用H3C交换机,Web界面里确实能开“端口CRC错误告警”,但它默认只报错帧,不统计ICMP丢包。真正管用的是开SNMP,把接口inDiscards、outDiscards、inputErrors这些OID值扔进Zabbix或Prometheus,配上阈值规则:比如Gi1/0/5口5分钟内inDiscards增长>100,立刻企微弹窗+电话外呼。我们给本地一家律所部署后,他们视频庭审再没因网络中断被法官记过。
最后提醒一句:告警不是越多越好。把所有端口丢包1%就发短信,三天你就关掉它。建议从核心链路(出口防火墙→核心交换机→关键服务器)开始布防,阈值设在2%~3%,持续时间拉长到3~5分钟,先稳住主干,再慢慢往接入层铺。