当前位置:首页 > Zabbix > Zabbix SNMP Trapper配置总结

Zabbix SNMP Trapper配置总结

公司有几台HP Superdome服务器做Oracle数据库,前段时间由于一台硬件故障导致系统重启。DBA紧急把主库切到备机上面,业务中断了5分钟左右,还好在中午12点,影响不是很大。和管理小机的系统管理员沟通了一下,目前几台小机没有任何硬件方面的报警,都是定期登录小机管理后台巡检看是否有硬件方面的报警,然后被动地去处理。

研究了一下HP小机关于SNMP的监控方式,只有通过SNMP Trapper的方式监控。当被监控的网络设备发生故障的时候会向Zabbix Server SNMPTrap告警信息,当Zabbix Server收到网络设备SNMPTrap的信息时会立即触发短信和邮件报警。

Zabbix SNMP Trapper具体的工作流程如下:

1)硬件设备发送SNMPTrap信息到Snmptrapd(Net-SNMP)服务器(Zabbix Server服务器)。

2)Snmptrapd服务器将接收到的SNMPTrap信息发送给SNMPTT或者Perl trap receiver,下面的配置是通过SNMPTT的方式接收信息的。

3)SNMPTT或者Perl trap receiver将按照指定的数据格式将SNMPTrap信息写入SNMP TrapperFile。

4)Zabbix服务器的Snmptrapper进程读取SNMP TrapperFile的内容并立即触发Action报警。

下面在Centos 6.8上面配置Snmptraps,官方参考文档:https://www.zabbix.org/wiki/ConfigureSnmptrapsCentos6_RHEL6

1.安装软件包并配置服务。

[root@monitor ~]# yum install net-snmp-utils
[root@monitor ~]# yum install net-snmp-perl
[root@monitor ~]# yum install snmptt #(perl-Net-SNMP will be installed together with snmptt)
[root@monitor ~]# chkconfig snmptt on
[root@monitor ~]# chkconfig snmptrapd on

2.修改Zabbix的配置文件并重启Zabbix Server服务。

[root@monitor ~]# vim /etc/zabbix/zabbix_server.conf
### Option: SNMPTrapperFile
#       Temporary file used for passing data from SNMP trap daemon to the server.
#       Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.
#
# Mandatory: no
# Default:
SNMPTrapperFile=/var/log/zabbix_traps/zabbix_traps.log

### Option: StartSNMPTrapper
#       If 1, SNMP trapper process is started.
#
# Mandatory: no
# Range: 0-1
# Default:
StartSNMPTrapper=1
[root@monitor ~]# /etc/init.d/zabbix_server restart

3.编辑snmptrapd的配置文件并重启服务。这里配置community名称为zmz,要和小机上面snmptrap时候的community名称保持一致。

[root@monitor ~]# cat /etc/snmp/snmptrapd.conf 
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
#authCommunity   log,execute,net public
traphandle default snmptt
authCommunity   log,execute,net zmz
[root@monitor ~]# /etc/init.d/snmptrapd restart

4.编辑snmptt的配置文件并重启服务。

[root@monitor ~]# vim /etc/snmp/snmptt.ini
date_time_format=  %H:%M:%S %Y/%m/%d
translate_log_trap_oid = 2
net_snmp_perl_enable = 1
log_file = /var/log/zabbix_traps/zabbix_traps.log
/etc/snmptt.conf

[root@monitor ~]# cat /etc/snmp/snmptt.conf 
EVENT general .* "Zabbix Traps" Warning
FORMAT ZBXTRAP $aA $1
[root@monitor ~]# /etc/init.d/snmptt restart

5.配置日志按照天轮询。

[root@monitor ~]# cat /etc/logrotate.d/snmptt 
/var/log/zabbix_traps/zabbix_traps.log {
 weekly
 notifempty
 missingok
 postrotate
 /etc/init.d/snmptt reload >/dev/null 2>/dev/null || true
 endscript

}

6.上面所有的Zabbix Server、snmptrapd和snmptt的配置都已经完成。下面进行配置Zabbix监控模板。

在模板里面创建Items,监控类型为SNMP trap,监控项目为snmptrap[“Warning”],Log time format:hh:mm:ss yyyy/MM/dd

7.创建Tigger,这里采用nodata函数,当Zabbix收到错误信息的时候会立即触发报警。

8.在Zabbix Macros中使用{$SNMP_COMMUNITY}变量指定在SNMPTrap中配置的community名称。如果监控设备上面的snmp community名称和SNMPTrap中配置的community名称一致,则不需要配置该Macros变量。

9.验证上面的配置是否正确。

1)在被监控的对象上面用下面的命令测试。

[root@monitor ~]# snmptrap -v 2c -c zmz 192.168.3.100:162 '' 1.3.6.1.4.1.2345 SNMPv2-MIB::sysLocation.0 s "This is zabbix traps test" 

2)SNMPTT将设备trap的信息保存到Zabbix指定的文件中。

[root@monitor ~]# cat /var/log/zabbix_traps/zabbix_traps.log
15:19:33 2018/04/03 SNMPv2-SMI::enterprises.2345 Warning "Zabbix Traps" 192.168.3.100 - ZBXTRAP 192.168.3.100 This is zabbix traps test

3)Zabbix读取/var/log/zabbix_traps/zabbix_traps.log内容存入数据库并触发报警。

  • «
  • 朴实的追梦者 作者:
    除非注明,本文原创:朴实的追梦者,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zmzblog.com/zabbix/zabbix-snmp-trapper-configuration.html

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注