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

本文涉及的产品
云防火墙,500元 1000GB
简介:
本文以监控绿盟设备为例。
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]


本文《使用Zabbix的SNMP trap监控类型监控设备的一个例子》首发于 乐维论坛,欢迎来访。
相关文章
|
27天前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
37 5
|
21天前
|
运维 监控 Linux
zabbix中SNMP (Simple Network Management Protocol)
zabbix中SNMP (Simple Network Management Protocol)
42 10
|
24天前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
41 9
|
23天前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
49 7
|
4月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
1月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
104 7
|
2月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
91 2
|
3月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
84 2
zabbix agent集成percona监控MySQL的插件实战案例
|
4月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
110 0
|
6月前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
110 0
Zabbix监控神通数据库教程