iMC PLAT7.3 E0703P08 ISIS 邻居 Trap 告警不自动恢复、持续上报告警完整排查
核心原理前置
iMC 针对 Trap 告警自动恢复的机制:
设备下发故障 Trap(isisAdjacencyDown) → iMC 生成活动告警;
只有收到配套恢复 Trap(isisAdjacencyUp),且两条 Trap 的匹配关键字段(设备 IP、邻居 SystemID、接口索引)完全一致,平台才会自动将活动告警置为已恢复。
你当前现象:设备邻居已恢复,但平台告警滞留、持续收到故障类 Trap,分 5 大类根因,按优先级排查。
一、设备侧根源(最高概率,90% 同类故障出自此处)
1. ISIS 邻居仅临时恢复,实际持续震荡,设备反复下发 Down Trap
登录路由器执行查看邻居状态与日志:
plaintext
display isis peer
display logbuffer | include isisAdjacencyChange
display snmp-agent trap queue
若日志持续输出isisAdjacencyChange Down报文:链路存在 Hello 丢包、认证不匹配、接口闪断、MTU 不匹配,邻居反复断连重建,设备不停下发故障 Trap,平台持续新增告警。
验证方式:关闭设备 ISIS 模块 Trap 上报,iMC 不再新增告警即可确认。
关闭命令:
plaintext
undo snmp-agent trap enable isis adjacency-change
2. 设备仅下发 Down 故障 Trap,未生成 / 未发送 Up 恢复 Trap
ISIS MIB OID:isisAdjacencyChange (1.3.6.1.2.1.138.0.17),一条 Trap 同时携带状态字段(Down/Up)。
故障场景:
设备 SNMP 缓冲区溢出,Up 恢复 Trap 被丢弃:snmp-agent trap queue-size默认偏小,高峰期丢恢复报文;
设备仅开启了 ISIS Down 告警,未全局开启 isis trap 总开关;
设备到 iMC 的 UDP162 报文单向丢包,Up 恢复 Trap 被防火墙 / ACL 拦截,只有 Down 报文送达平台。
3. Trap 上报源 IP 与 iMC 纳管设备管理 IP 不一致
设备 Trap 源地址为业务三层接口 IP,iMC 纳管该设备使用 Loopback 管理 IP;iMC 会将两条 Trap 识别为不同设备,无法匹配自动恢复。
解决:设备配置snmp-agent trap source LoopBack 0,统一 Trap 源 IP 为纳管地址。
二、iMC 平台 Trap 匹配规则问题(无恢复 Trap 匹配逻辑)
1. Trap 升级定义内,ISIS 邻居变更 OID 未配置「成对恢复匹配规则」
进入 iMC 页面:告警 → 告警配置 → Trap 升级
搜索 OID 1.3.6.1.2.1.138.0.17,查看该 Trap 定义:
必须配置匹配关键字段:邻居 SystemID、IfIndex 接口索引、设备 IP;
若仅以设备 IP 作为唯一匹配键,多邻居同时断开时,新 Down Trap 会覆盖原有告警,且 Up 报文无法精准匹配对应故障告警。
修复:编辑 Trap 升级规则,勾选 ISIS 邻居唯一标识字段作为匹配主键,开启「收到状态正常 Trap 自动清除活动告警」。
2. 重复 Trap 过滤规则异常,恢复 Trap 被过滤丢弃
路径:告警 → Trap 管理 → 过滤规则 → 重复 Trap 过滤
默认规则:10 分钟内相同 OID 重复 Trap 仅保留 1 条,过滤后续所有同类型报文;
场景:先收到 Down 告警,短时间内邻居恢复下发 Up Trap,被重复过滤规则拦截,iMC 收不到恢复报文;
临时验证:修改重复 Trap 过滤时间窗调至 1 分钟,或临时禁用该规则测试告警是否自动恢复。
3. 未知 Trap / 闪断过滤拦截恢复报文
闪断过滤:若邻居断连恢复间隔小于阈值,Up Trap 直接丢弃;
自定义 ACL 过滤规则拦截 ISIS Up 状态 Trap;
查看路径:告警 → Trap 管理 → 过滤规则,临时禁用所有自定义过滤测试。
三、SNMP 与网络连通隐性故障
双向 UDP162 端口可达性校验
iMC 服务器抓包确认:设备 Up 恢复 Trap 是否真正送达 iMC;
中间防火墙 / 安全策略仅放行设备到 iMC 的下行报文,拦截恢复类上行 Trap;
SNMPv3 参数不匹配,恢复 Trap 校验失败被丢弃
设备 Trap 使用 v3,iMC 设备纳管 SNMPv3 用户名、认证 / 加密算法不一致,Down 报文偶然校验通过、Up 报文校验失败,直接丢弃。
四、iMC 平台版本缺陷(PLAT7.3 E0703P08 已知问题)
E0703P08 早期补丁存在 Trap 状态字段解析 bug:
ISIS 变更 Trap 内携带的adjacencyState字段(Up/Down)解析异常,iMC 无法识别恢复状态,仅判定为新故障持续生成告警。
解决方案:
升级 iMC PLAT 补丁至 E0703P12 及以上稳定版本,修复 ISIS MIB 状态解析逻辑;
临时规避方案:配置告警自动化定时自动清除规则:
路径:告警 → 告警配置 → 告警自动化 → 增加规则
匹配 OID:isisAdjacencyChange,设置持续超时(30min)自动恢复活动告警。
五、快速分步排查流程(按顺序执行,高效定位)
设备侧确认邻居真实状态
plaintext
display isis peer
display logbuffer | include isisAdjacencyChange
持续输出 Down 日志:链路震荡,先解决底层 ISIS 邻居不稳定问题;
无 Down 日志,邻居稳定:进入第二步。
抓包验证 iMC 是否收到 Up 恢复 Trap
iMC 服务器使用 wireshark 监听 UDP162,设备手动 shutdown/no shutdown IS-IS 接口,查看是否同时捕获 Down+Up 两条 Trap。
只抓到 Down 报文:设备丢恢复 Trap / 中间网络拦截 Up 报文;
两条报文都抓到:问题在 iMC 平台 Trap 匹配逻辑。
核对 Trap 源 IP 统一
设备配置trap source loopback 0,保证 Trap 源 IP = iMC 纳管设备 IP。
iMC 侧临时禁用所有 Trap 过滤规则
关闭重复过滤、闪断过滤、自定义过滤,复现故障测试告警是否恢复。
校验 Trap 升级匹配规则
确认 isisAdjacencyChange OID 配置了完整匹配主键,开启自动恢复动作。
版本兜底修复
升级 PLAT 补丁至 E0703P12+,规避旧版本 MIB 字段解析 bug;短期可配置自动化定时清告警规则兜底。
六、临时兜底处理方案(业务不中断)
手动处理:活动告警页面选中滞留 ISIS 告警,手动标记「已恢复」;
自动化兜底:配置告警自动化规则,ISIS 邻居告警超过 30 分钟自动清除;
设备侧限流:调大 Trap 缓冲区,避免恢复报文丢失
plaintext
snmp-agent trap queue-size 1000
snmp-agent trap life 600
多谢老师,我在trap定义后加上oid告警自动消除了
老师,是在告警-trap管理-Trap定义一览表 > 修改Trap定义 里勾选恢复trap设置这样的吗
老师,是在告警-trap管理-Trap定义一览表 > 修改Trap定义 里勾选恢复trap设置这样的吗
配置trap了吗
trap了的,设备上isis的是发送告警的,但imc就像是只接受不恢复
trap了的,设备上isis的是发送告警的,但imc就像是只接受不恢复
iMC收到Trap告警后不自动恢复,通常是因为iMC未收到、未识别或未正确关联对应的恢复Trap导致的。可以按照以下步骤从简到繁进行排查:
检查告警规则:登录iMC,进入“告警” -> “告警规则”,找到ISIS邻居相关的规则,确认“清除条件”是否勾选了“接收恢复Trap时清除”。
检查Trap定义:进入“告警” -> “Trap管理” -> “Trap定义一览表”,搜索ISIS邻居DOWN的告警Trap。查看其“恢复Trap”字段是否已正确关联对应的UP恢复Trap。如果没有,需要手动编辑并关联。
检查设备Trap配置:登录交换机,确认SNMP Trap功能已开启,且iMC服务器的地址在目标主机列表中。可以使用 display snmp-agent trap all 和 display snmp-agent target-host 命令检查。
检查设备IS-IS状态:在设备上执行 display isis peer 命令,确认IS-IS邻居关系确实已恢复正常。
这是最直接的验证方法。在iMC服务器上抓包(如使用Wireshark),过滤条件为设备IP和UDP端口162。
抓包未收到:说明Trap未到达iMC,需要排查网络连通性、中间防火墙策略或设备SNMP发送配置。
抓包已收到:说明Trap已到达iMC,但iMC未能将其识别为恢复Trap。这通常指向第1步中的Trap定义或MIB解析问题。
在“告警” -> “Trap管理” -> “过滤规则”中,检查是否有规则将ISIS的恢复Trap错误地过滤掉了。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
多谢老师,我在trap定义后加上oid告警自动消除了