[技术干货] zabbix 正则结合JavaScript简化Trap告警信息

[复制链接]
乐维 发表于 2020-7-14 10:24:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
场景:运维部小陈给公司的华为云计算节点配置了Trap告警,方便及时监控到存储的运行状况。但是领导看过觉得收到的Trap信息过于复杂,不便快速查看到告警信息,要小陈给处理成简单易懂的形式,于是乎,操作如下:
环境:
zabbix4.2.5,已安装snmptrap服务
1、从计算节点收到snmptrap如下图:
1.png
需要提取出来的信息如下:
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.2 type=4  value=STRING: "15.1000102"       //告警ID
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.8 type=4  value=STRING: "2"            //告警类型(0-原始告警,1-清除告警,2-更新告警)
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.9 type=4  value=STRING: "3"      //告警等级(1-紧急,2-主要,3-次要,4-提示)
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.5 type=4  value=Hex-STRING: 42 49 4D 26 E8 AE BE E8 AE A1 E7 AE A1 E7 90 86  
EF BC 88 E6 96 B0 EF BC 89        //告警对象
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.3 type=4  value=STRING: "VM Memory Usage Exceeds the Threshold"         //告警名称
  SNMPv2-SMI::enterprises.2011.2.290.1.1.1.15 type=4  value=STRING: "Current threshold=80.0%,VM memory usage=83.02%"      //告警附加信息
2、zabbix监控项上正则处理,如下图所示:
匹配:OID.0.*::.*(\n).*[\n].*[\n].*ING:(.*)[\n].*[\n].*[\n].*ING:(.*)[\n].*ING:(.*)[\n].*[\n].*[\n].*[\n].*[\n].*[\n].*[\n].*[\n].*[\n].*[\n].*ING:(.*\W.*)[\n].*ING:(.*)[\n].*[\n].*ING:(.*)
输出:告警ID:\2\1告警类型:\3\1告警等级:\4\1告警对象:\5\1告警名称:\6\1告警附加信息:\7\1
2.png

再次发送Trap信息,得出结果:
告警ID: "15.1000102"
告警类型: "2"
告警等级: "3"
告警对象: 42 49 4D 26 E8 AE BE E8 AE A1 E7 AE A1 E7 90 86
EF BC 88 E6 96 B0 EF BC 89
告警名称: "VM Memory Usage Exceeds the Threshold"
告警附加信息: "Current threshold=80.0%,VM memory usage=83.02%"
3.png

3、告警对象的信息还需要用JavaScript处理,添加预处理步骤javascript
脚本如下:
var str1 = /告警ID:([\s\S]*)告警对象:/;
str1 = str1.exec(value)[0];
var str3 = /告警名称:([\s\S]*)/;
str3 = str3.exec(value)[0];
var str2 = /告警对象:([\s\S]*)告警名称/;
str2 = str2.exec(value);
str2 = str2[1];   //需要十六进制转换
str2 = str2.replace(/\n/g,'').replace(/\./g,'').replace(/ /g,'');  //删除\n  删除.字符  删除空格
var temp = '';
var m = str2.match(/../g);
for (var i=0;m!=null, i < m.length; i++)
{
    temp += '%' + m;
}
str2 = decodeURI(temp);
return str1 + str2 +'\n'+ str3;
4.png
Trap信息重新发送,进行测试的结果如下:
5.png

技术交流欢迎加入Q群:177428068





上一篇:zabbix自动发现规则如何使用过滤器
下一篇:Zabbix 实现简单的WEB监测
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子197

发布主题

乐维社区

微信公众号

版权所有 © 2016-2019 九一乐维丨粤ICP备17007026号