当先锋百科网

首页 1 2 3 4 5 6 7

目标

根据H3C网络设备 发送 SNMP trap 信息进行网络端口的告警。

具体过程

上次配置的trap 方式进行监控一个案例。 其中log数据中的内容是:

20230330.163810 ZBXTRAP 192.168.21.148
UDP: [192.168.21.148]:52289->[172.18.18.2]:1162
DISMAN-EVENT-MIB::sysUpTimeInstance = 8909811
SNMPv2-MIB::snmpTrapOID.0 = SNMPv2-SMI::mib-2.192.0.1
SNMPv2-SMI::mib-2.192.1.2.1.2.4.164 = 23
SNMPv2-SMI::mib-2.192.1.2.1.3.4.164 = 6
SNMPv2-SMI::mib-2.192.1.2.1.4.4.164 = 1
SNMPv2-SMI::mib-2.192.1.2.1.5.4.164 = "07 E7 03 1E 10 19 0A 00 00 00 2D 00 00   [......
...-..]" =
SNMPv2-SMI::mib-2.192.1.2.1.6.4.164 = "H3C"
SNMPv2-SMI::mib-2.192.1.2.1.7.4.164 = "NQA"
SNMPv2-SMI::mib-2.192.1.2.1.8.4.164 = "-"
SNMPv2-SMI::mib-2.192.1.2.1.9.4.164 = "NQA_ENTRY_PROBE_RESULT"
SNMPv2-SMI::mib-2.192.1.2.1.10.4.164 = 1
SNMPv2-SMI::mib-2.192.1.2.1.11.4.164 = "Reaction entry 1 of NQA entry admin-name h3c operation-tag dianxin: probe-fail. "
SNMPv2-SMI::mib-2.192.1.3.1.4.4.164.4.1.12.83.121.115.76.111.99.64.50.53.53.48.54.4.83.108.111.116 = "0"
20230330.163827 ZBXTRAP 192.168.21.148
UDP: [192.168.21.148]:52289->[172.18.18.2]:1162
DISMAN-EVENT-MIB::sysUpTimeInstance = 8911513
SNMPv2-MIB::snmpTrapOID.0 = SNMPv2-SMI::mib-2.192.0.1
SNMPv2-SMI::mib-2.192.1.2.1.2.4.165 = 23
SNMPv2-SMI::mib-2.192.1.2.1.3.4.165 = 6
SNMPv2-SMI::mib-2.192.1.2.1.4.4.165 = 1
SNMPv2-SMI::mib-2.192.1.2.1.5.4.165 = "07 E7 03 1E 10 19 1B 00 00 00 2D 00 00   [..........-..]"
SNMPv2-SMI::mib-2.192.1.2.1.6.4.165 = "H3C"
SNMPv2-SMI::mib-2.192.1.2.1.7.4.165 = "NQA"
SNMPv2-SMI::mib-2.192.1.2.1.8.4.165 = "-"
SNMPv2-SMI::mib-2.192.1.2.1.9.4.165 = "NQA_ENTRY_PROBE_RESULT"
SNMPv2-SMI::mib-2.192.1.2.1.10.4.165 = 1
SNMPv2-SMI::mib-2.192.1.2.1.11.4.165 = "Reaction entry 1 of NQA entry admin-name h3c operation-tag dianxin: probe-pass. "
SNMPv2-SMI::mib-2.192.1.3.1.4.4.165.4.1.12.83.121.115.76.111.99.64.50.53.53.48.54.4.83.108.111.116 = "0"

从图中可以看到具体trap过来的log,我从中截取两端是本次监控内容的片段。其中第一次 20230330.163810 operation-tag dianxin: probe-fail. ,
第二次 20230330.163827 operation-tag dianxin: probe-pass.
operation-tag 需要在交换机对设备某一接口进行配置,唯一值表示设备的具体线路信息。 当设备出现 probe-fail 我们进行告警,出现probe-pass告警恢复。

逻辑有了,下面进行模版的配置。

模版配置

创建了两个内容:

  • 监控接口线路状态
  • 监控operation-tag 名称

监控项

  1. 接口线路状态
    6wwfgGn
    类型选择 SNMP trap, 我这里的时间格式和我之前配置的bash 文件是匹配的。
    通过正则获取关键词。

获取到关键词后,对数据进行处理:
W3huF0f
正则判断是否是fail 如果fail 值输出0,否则1。

  1. tag名称
    获取tag目的主要是进行告警时候能分辨是谁,所以在这里进行获取。
    yGPMObm
    正则获取operation-tag内容

获取后进行内容处理:
EI2zyUI

配置触发器

uoYBWD7
判断两个规则:
NLVmtl3
A 判断是fail 还是pass, =0 fail 触发 (=1 pass 是恢复表达式)。
B 判断tag 内容是否是宏配置中的变量(如果多个可创建多个触发器进行配置)。

由于现在需求不存在自动关闭,所以没有其他规则来恢复这个告警。
如果需要自动关闭可配置一个nodata的条件在恢复表达式中。

模版宏

我们在触发器中使用了一个宏,在模版中也配置一下吧{$OPN_TAG}。值默认空就好了。

配置宏

由于我们需要在设备层面配置{$DEV_NAME}{$OPN_TAG}的内容,所以在创建一台HOST后,在HOST设备上进行配置。
比如我们上面那个设备中的{$OPN_TAG} 是 dianxin。{$DEV_NAME} test-trap。
DjwGzT5

完结
祝好~