影刀RPA进阶教程:告警升级机制——从机器人通知到人工介入的链路 影刀RPA进阶教程告警升级机制——从机器人通知到人工介入的链路流程半夜挂了你早上九点才知道业务数据断了一整天——这种事经历过一次你就会认真对待告警。但更常见的翻车是另一个极端机器人每跑一次就往群里丢五条通知一周后所有人把群设成了免打扰真出事那天没人看见。我管着二十多个影刀RPA流程被这两种极端都坑过最后搭了一套告警升级机制小事自动处理中事发群通知大事直接把人拉进来一级一级往上升级。这篇把这条链路完整拆开讲从重试策略到人工介入的闭环全是实操两年攒下来的经验。告警的本质分级而不是有通知就行先说结论一套告警机制没有分级等于没有告警。我最早的告警就是所有异常都发钉钉群跑了一周群里一天几十条消息队友直接屏蔽了群。后来有个关键的对账流程在周五晚上失败因为没人看群周一才发现损失不小。那次之后我明白告警的价值不在于发出去而在于该看到的人必须看到且不能看麻。我的分级方案是四级也是现在稳定运行的版本级别判断标准响应动作谁来处理L1瞬时异常网络抖动、元素偶尔找不到机器人自动重试不通知机器人自己L2可自动恢复重试后成功记日志事后汇总通知机器人自己L3流程级失败重试用尽仍失败群机器人发通知告警邮箱当班的人L4持续失败同一流程连续两次失败升级人短信级触达人工介入流程负责人升级机制的灵魂在L3到L4第一次失败通知群第二次失败说明通知没被处理就要换更重的通道。这个判断需要一个失败登记表后面细讲。第一道防线重试不是简单的再来一次L1和L2全靠重试策略这里最容易写糊。影刀RPA里Try-Catch异常处理的结构是Try-Catch-Finally重试要靠While条件循环或者For次数循环包在Try外面自己实现。我踩过的坑是无脑重试三次页面结构真的变了重试三次每次都在同一个地方死白白多跑十分钟。正确的做法是分错误类型网络类、超时类报错等30秒重试最多三次间隔递增。元素定位失败先判断元素是否存在配合等待元素出现的指令再试一次还失败就别重试了直接进L3。数据类报错比如表格里的脏数据跳过这条记录记进异常清单绝不为单条数据重跑全流程。每次重试都要在输出日志里记下第几次重试、报错指令名、报错信息。日志是后面所有升级判断的依据Catch块里没有日志的告警机制出了问题连复盘都做不了。第二道防线群机器人Webhook的正确用法进入L3就该群机器人上场了。影刀RPA的指令面板里有对接钉钉群机器人、企业微信群机器人、飞书群机器人的指令原理都一样在群里添加自定义机器人拿到Webhook地址流程里调用发送指令把消息推到群。三个平台我都接过配置上各有各的坑钉钉机器人安全设置里如果选了关键词模式消息内容必须包含那个关键词否则发送直接被拒。另外文档里写得很清楚钉钉机器人只支持发送富文本消息不支持发文件想发附件就得走别的通道。企业微信机器人Webhook有频控短时间内连发大量消息会被限流告警消息要做合并。飞书机器人同样拿到Webhook地址和密钥就能用消息格式用markdown卡片把流程名、报错指令、时间、重试次数排清楚。消息内容我固定五个字段流程名、失败阶段、报错摘要、已重试次数、处理指引比如请检查工单系统登录态。告警消息是写给三年后的自己看的宁可啰嗦也别让人猜。# 捕获元素把报错信息从异常对象里整理成告警消息伪代码# 输入app_name、stage、error_msg、retry_countalert_msg(【L3告警】流程失败\nf流程{app_name}\n# 流程名对应控制台应用f阶段{stage}\n# 失败发生在哪个子流程f报错{error_msg[:80]}\n# 报错截断群里太长没人看f重试{retry_count}次后仍失败\n处理请检查页面结构或登录态处理后回复已介入)升级的关键失败登记表与二次失败判定L3升级到L4的判断靠一张失败登记表。实现很简单飞书多维表格或本地Excel每次L3告警时写入一行流程名、时间、是否已处理。下一次运行失败时流程先查这张表上一条同流程的失败记录还没被标记已处理说明上次通知没人响应直接走L4升级同时在通知里具体的人。这里有个时序坑我踩过登记表的读取要在流程开头做写入要在告警发出后立刻做中间隔了别的指令的话并发跑的流程会读到脏数据。多个流程共用一张登记表时尽量错峰调度或者在表里加流程名字段严格隔离这是文档里反复强调的多任务并发要注意的地方。人工已介入的标记怎么回来两条路最土的办法是人在多维表格里手动把状态列改成已处理优雅一点的做法是走对话式介入下面细说。人工介入闭环从通知到对话再到重启L4的人工介入不是发个消息就完了要形成闭环人能知道详情、能反馈处理结果、能触发补救动作。第一层是双向消息。影刀RPA有钉钉机器人监听内部群消息的能力新版指令可以监听群里机器人的回复。我把它用在告警确认上负责人在群里回复已介入流程名监听流程捕获消息后把登记表对应记录标记为已处理。这就把谁看到、谁接手落到了数据上。第二层是Webhook触发器做远程重启。影刀的自动化能力里支持配置Webhook触发器接收HTTP请求后启动流程。我把关键流程复制一个恢复专用版清缓存、重新登录、从断点续跑配置Webhook触发负责人在手机上用快捷指令或浏览器访问一次那个地址恢复流程就在服务器上跑起来了。半夜流程挂掉人不用摸到电脑。第三层兜底是告警邮箱。控制台本身支持设置告警邮箱和钉钉群计划任务执行异常时可以收到告警通知这是平台自带的最后一道保险跟自己的升级机制并行用成本为零。定时任务调度让告警链路自己也有心跳升级机制里所有检查动作——失败登记表轮询、未处理告警的升级判定——都要靠定时任务驱动。控制台里配置计划任务我设了三个节奏业务流程按业务节奏跑比如每天早上七点告警升级判定每小时跑一次登记表周度清理跑一次。夜间执行有单独的坑凌晨时段个别内网系统会维护把敏感流程排在维护窗口之外能少一半L3告警。错峰调度还有个好处多个流程不抢同一台机器调度器上有机器人状态的概念空闲、运行中、离线都会显示把任务分配给状态健康的机器人。系统联动这块邮件发送我也接了一条每周五自动汇总本周全部L3/L4告警发周报邮件给团队。告警不怕多怕的是没有沉淀周报就是沉淀。告警链路搭建顺序与易错速查建议的搭建顺序是先把输出日志写规范再接一个平台的群机器人然后加重试分级最后上失败登记表和升级判定。一次全上容易顾此失彼。现象原因解决办法钉钉消息发送失败安全设置关键词不匹配消息里固定带上关键词群消息被人屏蔽告警太密没有分级上L1-L4分级L1不通知升级判定误报登记表记录没及时标记监听已介入回复自动关单重试把问题放大对元素类报错无脑重试按错误类型分策略重试夜间集中报错系统维护窗口撞上任务错峰排程避开维护时段延伸阅读与模板官方文档里群机器人对接、定时任务配置这几篇值得反复看客户端帮助入口能直接搜到。我把这套四级升级机制的失败登记表模板、监听关单的写法、Webhook触发的恢复流程设计整理在作者的代码仓库里了地址 home.linyan.cloud 照着模板改流程名就能用。最后提醒一句告警机制上线后第一周密切观察消息密度宁可误报多发几条也绝不能漏报——漏报一次的代价可能就是一次没有预警的数据事故。#影刀RPA #RPA自动化 #异常处理 #定时任务 #钉钉作者林焱