影刀RPA 网络质量监控:Ping与路由追踪自动化

📅 2026/7/22 2:55:35
影刀RPA 网络质量监控:Ping与路由追踪自动化
影刀RPA 网络质量监控Ping与路由追踪自动化作者林焱 | 分类影刀RPA新手教程 | 难度★★什么情况用公司的IT运维需要监控多地办公网络质量。特别是分公司、仓库、门店用的是不同运营商的宽带网络质量参差不齐。人工定时ping几十个目标IP还要求记录丢包率和延迟非常枯燥。用影刀RPA定时执行ping和traceroute采集数据做趋势分析网络异常自动告警。运维人员从手动检查工变成收到告警再处理。怎么做第一步确定监控目标在Excel中维护监控清单店群矩阵自动化突破运营极限目标名称IP/域名位置运营商告警阈值总部核心交换机192.168.1.1北京中国电信延迟50ms或丢包1%阿里云服务器47.x.x.x杭州阿里云延迟100ms公司官网www.company.comCDN—延迟200msDNS服务器114.114.114.114全网—延迟100ms第二步Python执行Ping# 影刀Python节点多目标Pingimportsubprocessimportplatformimportredefping(host,count4):执行ping命令并解析结果systemplatform.system().lower()ifsystemwindows:cmd[ping,-n,str(count),host]else:cmd[ping,-c,str(count),host]try:resultsubprocess.run(cmd,capture_outputTrue,textTrue,timeout30)outputresult.stdout# 解析丢包率loss_matchre.search(r(\d)% loss|丢失 (\d),output)loss_pctint(loss_match.group(1)orloss_match.group(2))ifloss_matchelse100# 解析平均延迟Windows中文版输出平均 XXXmsavg_matchre.search(r平均 (\d)ms|Average (\d)ms|avg (\d\.?\d*)/(\d\.?\d*),output)ifavg_match:delayint(avg_match.group(1)oravg_match.group(2)oravg_match.group(4)or0)else:delay-1# 全部超时return{host:host,loss_pct:loss_pct,avg_delay_ms:delay,success:loss_pct100}exceptsubprocess.TimeoutExpired:return{host:host,loss_pct:100,avg_delay_ms:-1,success:False}# 批量pingtargets[192.168.1.1,www.baidu.com,114.114.114.114,47.x.x.x]results[]forhostintargets:rping(host,count4)results.append(r)status✅ifr[success]else❌print(f{status}{host}| 丢包:{r[loss_pct]}% | 延迟:{r[avg_delay_ms]}ms)第三步Traceroute路由追踪# 影刀Python节点路由追踪deftraceroute(host,max_hops15):Windows下使用tracert命令cmd[tracert,-d,-h,str(max_hops),host]try:resultsubprocess.run(cmd,capture_outputTrue,textTrue,timeout60)outputresult.stdout hops[]forlineinoutput.split(\n):# 匹配 1 1 ms 1 ms 1 ms 192.168.1.1格式matchre.match(r\s*(\d)\s.*?(\d)\s*ms.*?(\d)\s*ms.*?(\d)\s*ms\s(\S),line)ifmatch:hops.append({hop:int(match.group(1)),delay1:int(match.group(2)),delay2:int(match.group(3)),delay3:int(match.group(4)),ip:match.group(5)})returnhopsexceptExceptionase:return[]# 当ping异常时自动执行traceroute排查forrinresults:ifr[loss_pct]10:print(f\n排查{r[host]}路由)hopstraceroute(r[host])forhopinhops:print(f 第{hop[hop]}跳 →{hop[ip]}| 延迟:{hop[delay1]}ms)第四步数据存储与趋势分析# 追加到历史记录importpandasaspdfromdatetimeimportdatetime record{时间:datetime.now().strftime(%Y-%m-%d %H:%M),目标:host,丢包率:loss_pct,平均延迟ms:avg_delay,是否异常:是ifloss_pct1oravg_delay200else否,}# 影刀写入Excel追加模式dfpd.DataFrame([record])print(f记录{host}{record[时间]})第五步异常告警在影刀中判断结果如果关键目标核心交换机丢包0 → 【企微推送】给运维群如果多个目标同时丢包 → 判断为本地网络问题 → 提醒请检查路由器如果只有某个外网IP异常 → 可能是对方服务器问题标记为外部异常等待恢复影刀操作动作【Python节点】→ 执行全部ping【判断】→ 遍历结果列表【条件】→ 丢包率阈值或延迟阈值【企微推送】→ 发送告警消息有什么坑坑1Windows ping中文输出解析Windows中文版ping输出是来自 192.168.1.1 的回复: 字节32 时间2ms TTL64正则表达式需要适配中文。如果用英文版Windows或Linux输出格式完全不同。建议先打印一次输出确认格式再写正则。temu店群自动化报活动案例坑2ping被防火墙拦截很多企业防火墙默认禁用ICMP协议ping使用的协议导致ping所有外网IP都超时。这不是网络坏了是策略限制。跟网络管理员确认是否允许ICMP。坑3Traceroute有时非常慢有些中间节点的路由器不响应ICMPtraceroute会等超时每个节点等3秒15跳就是45秒。如果监控几十个目标每个都traceroute时间不够。建议只在ping异常时才自动执行traceroute。坑4数据量积累问题如果每分钟ping 10个目标每天产生14400条记录。一个月就是43万条。Excel存储会越来越卡。建议每天的数据汇总后再删除原始明细只保留日统计日均延迟、最大丢包率。坑5Ping延迟 ≠ 实际业务体验ping延迟低不代表业务正常——DNS解析慢、SSL握手慢、服务器处理慢都不会反映在ping值里。ping监控只是网络质量的第一层要全面还需要HTTP状态码监控。总结网络监控自动化不复杂但告警阈值设不好就变成狼来了——太敏感天天报警没人看太迟钝出了问题不知道。建议先跑一周收集基准数据再按均值3倍标准差设置动态阈值。