使用Zabbix的SNMP trap监控类型监控设备的一个例子

本文详细介绍了如何使用Zabbix通过SNMP trap监控设备,包括配置设备发送SNMP trap、设置Zabbix服务器接收trap、修改配置文件、添加MIB文件等步骤,以绿盟设备为例进行操作演示。
摘要由CSDN通过智能技术生成

转载来源 :使用Zabbix的SNMP trap监控类型监控设备的一个例子 :https://www.jianshu.com/p/aa795afdf655

介绍

本文以监控绿盟设备为例。

1.登录被监控的设备的管理系统,配置snmptrap地址指向zabbix服务器或代理服务器。

snmptrap地址也叫陷阱。

2.配置或关闭防火墙,并验证是否能在zabbix服务器或代理服务器上收到设备的trap信息。

2.1 旧版防火墙开放UDP的162端口的命令如下:

vi /etc/sysconfig/iptables

编辑防火墙的配置文件。

-A INPUT -p udp -m udp --dport 162 -j ACCEPT

添加一行代码。

/etc/init.d/iptables restart

重启防火墙,使配置生效。

2.2 新版防火墙开放UDP的162端口命令如下:

firewall-cmd --permanent --add-port=162/udp

firewall-cmd --reload

firewall-cmd  --list-ports

命令解析:

firewall-cmd --permanent --add-port=162/udp   永久开放UDP协议的162端口

firewall-cmd --reload           更新防火墙规则

firewall-cmd --list-ports       查看所有开放的端口

2.3 开放防火墙后,验证是否能在zabbix服务器或代理服务器上收到设备的trap信息,命令如下:

ip add

查看设备的网卡名称

tcpdump -i ens160 src 192.166.16.8

查看ens160 网卡收到的IP为192.166.16.8的设备的数据包

效果如下图:
在这里插入图片描述
没有tcpdump命令的话,可以使用命令yum -y install tcpdump 进行安装。

3.配置zabbix_trap_receiver.pl脚本

在zabbix 服务器或者代理服务器上,复制源码目录中的Perl脚本到 /usr/bin目录下并赋予执行权限

然后安装net-snmp,命令如下:

cp  `find / -name zabbix_trap_receiver.pl`  /usr/bin

chmod a+x /usr/bin/zabbix_trap_receiver.pl

yum -y  install   net-snmp*

效果如下图:
在这里插入图片描述
注意,此处可能遇到的问题:如果最后snmptrapd启动失败,提示缺少/usr/share/snmp/snmp_perl_trapd.pl文件,原因是net-snmp相关的安装包安装太少,建议更换yum安装源。

4.找到snmptrapd的配置文件并修改,命令如下:

vi  /etc/snmp/snmptrapd.conf

添加代码

disableAuthorization  yes

perl do "/usr/bin/zabbix_trap_receiver.pl"

disableAuthorization yes 表示不认证,接收所有团体名(community)的 trap信息

authCommunity execute public 表示只接收团体名(community)为 public 的 trap信息,可以写多行

修改完成后重启snmptrapd服务,命令如下:

service snmptrapd restart

systemctl restart snmptrapd

注意一段时间后观察snmptrapd状态是否正常,时间久的话可以看到收到了设备发出的trap包也可以主动发送测试trap信息:

snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "teststring000"

查看snmptrapd状态,命令如下:

service snmptrapd status

systemctl status snmptrapd

在这里插入图片描述
5.在zabbix服务器上修改zabbix_server.conf文件的以下两处:

StartSNMPTrapper=1

SNMPTrapperFile=/tmp/zabbix_traps.tmp 

(注:最后一行的路径必须跟 /usr/bin/zabbix_trap_receiver.pl脚本中设置的路径相同)

修改完成后重启zabbix_server服务,命令如下:

service  zabbix_server  restart

systemctl  restart  zabbix_server

6.在zabbix服务器上配置监控主机,添加监控项。效果如图所示:
在这里插入图片描述
监控项:

名称:snmptrap.fallback

类型:SNMP trap

键值:snmptrap.fallback

信息类型:日志

日志时间格式:hh:mm:sszyyyy/MM/dd解析:

键值配置为snmptrap.fallback,可以接收所有未配置成SNMPtrap监控项的设备发出的trap信息。

7.查看监控主机的最新数据,验证实验结果。

在最新数据里选择被监控的主机,点击snmptrap.fallback的历史记录。
在这里插入图片描述
效果如下图,在此处可以看到被监控设备发出的trap信息,但是从OID上不能明显看出对应的信息,因此需要为net-snmp添加mib文件。
在这里插入图片描述
到此步骤,已基本完成SNMP trap监控类型的配置,后面的为进阶配置,主要是为了解决不能直观地看出对应信息的问题。

8.在zabbix服务器或代理服务器上添加mib文件。

net-snmp-config --default-mibdirs 命令可以看到mib文件位置,效果如下:

[root@mgmtmonitorweb02 ~]# net-snmp-config --default-mibdirs

/root/.snmp/mibs:/usr/share/snmp/mibs

[root@mgmtmonitorweb02 ~]#

cd /usr/share/snmp/mibs 打开存储mib文件的目录

ls 可以看到自带的mib文件,此处WAFV6-MIB.txt是我找厂商售后索取的mib文件

效果如下图:
在这里插入图片描述
9.在zabbix服务器或代理服务器上应用mib文件。

vi /etc/snmp/snmp.conf         修改此配置文件

mibs +ALL                     在文件中添加此行,意思是应用mib文件目录下的所有mib文件

效果如下图:
在这里插入图片描述
解析:
mibs +后面可以填写mib文件的名字,如mibs +WAFV6-MIB,需要注意的是“+”号后直接加文件名,不可出现空格,否则会有错误。

修改完成后重启snmptrapd服务,命令如下:

service snmptrapd restart

systemctl restart snmptrapd

重启注意后观察snmptrapd状态是否正常,时间久的话可以看到收到了设备发出的trap包。命令如下:

service snmptrapd status

systemctl status snmptrapd

此时可以看到,OID的名字已经发生改变。效果如下图:
在这里插入图片描述
10.在zabbix服务上验证最新数据是否发生改变。效果如下图:
在这里插入图片描述
此时可以看到OID不再是数字,而是比较容易识别的英文名字,此名字可在mib文件中修改,但不能以中文命名。

11.如果需要分类trap信息,可以如下图配置监控项。
在这里插入图片描述

注意:此时键值snmptrap[]的[]内不再是填写数字OID,而是监控项snmptrap.fallback获取到的mib文件里定义的名字,

如:snmptrap[WAFV6-MIB::alert-level]

作者:乐维君
链接:https://www.jianshu.com/p/aa795afdf655
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考链接 :

使用Zabbix的SNMP trap监控类型监控设备的一个例子 :https://www.jianshu.com/p/aa795afdf655

【Zabbix】SNMPtrap实现主动监控的原理与安装配置 : https://www.jianshu.com/p/8ddfa611e382

Zabbix Server上配置SNMP Trap监控,需要进行以下步骤: 1. 创建SNMP Trap项: 在Zabbix Web界面上,进入“配置”->“主机”,选择要接收SNMP Trap告警的主机,点击“创建项”,设置以下参数: - 名称:自定义,例如“SNMP Trap” - 类型SNMP Trap - SNMP OID:留空 - 类型信息:选择“数据类型”,例如“文本信息” - 键值:自定义,例如“snmptrap” 2. 创建SNMP Trap触发器: 在“配置”->“触发器”界面上,点击“创建触发器”,设置以下参数: - 名称:自定义,例如“SNMP Trap告警” - 表达式:{<Host>:snmptrap.regexp("<Trap_Message>")},其中<Host>为主机名,<Trap_Message>为要匹配的Trap消息内容,可以使用正则表达式进行模糊匹配。 3. 创建操作: 在“配置”->“操作”界面上,点击“创建操作”,设置以下参数: - 名称:自定义,例如“SNMP Trap告警” - 默认状态:选择“启用” - 操作类型:选择“发送信息”,并设置相应的告警内容和接收人等信息。 4. 关联项、触发器和操作: 在“配置”->“主机”->“魔术”->“触发器”界面上,选择刚刚创建的SNMP Trap项和触发器,点击“添加操作”并选择刚刚创建的操作。 完成以上步骤后,Zabbix Server就可以接收并处理SNMP Trap告警了。当SNMP设备发送符合条件的Trap消息时,Zabbix Server将自动触发相应的操作,例如发送邮件或短信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值