zabbix开启SNMPTrap功能

目录

一、SNMPTrap消息处理流程

二、snmptt

1、SNMPTrap、snmptt安装

2、配置文件修改

3、SNMPTrapFile文件创建

4、监控项创建

三、perl脚本

  1、SNMPTrap安装

2、从zabbix源码包中拷贝perl脚本到/usr/bin/目录下,并增加执行权限

3、修改snmptrapd.conf配置

4、修改zabbix配置


 

调试环境:Centos7

SNMPTrap主要用于在设备发生故障时,向预先配置好的主机发送通知消息。

zabbix对SNMPTrap数据的监控,是通过对日志文件的监控实现。

日志文件的更新有snmptrapd的消息处理程序完成。

本文介绍两种snmptrap消息处理方式的环境搭建:snmptt, perl脚本

一、SNMPTrap消息处理流程

1、监控主机发送SNMPTrap信息到snmptrapd服务器;

2、snmptrapd将接收到的SNMPTrap信息发送给消息处理程序;

3、消息处理程序将处理后的信息导入到日志文件;

4、zabbix服务器的snmptrapper进程读取日志文件,解析后传递给对应的监控对象。

二、snmptt

1、SNMPTrap、snmptt安装

        yum install -y net-snmp net-snmp-libs net-snmp-utils net-snmp-perl mrtg snmptt

        snmptt安装时可能会提示perl错误,可以在https://pkgs.org/中查找安装epel-relase进行安装。

2、配置文件修改

        /etc/snmp/snmptrapd.conf

             authCommunity   log,execute,net public

             traphandle default /usr/sbin/snmptthandler

        /etc/snmp/snmptt.conf

            EVENT test .1.3.6.1.4.1.2345 "just for test" Normal

            FORMAT ZBXTRAP $aA $ar

            EVENT general .* "General event" Normal

            FORMAT ZBXTRAP $aA $ar

             注:后续若要针对特定oid处理,通过脚本更新。”ZBXTRAP”必须存在,否则zabbix提取数据失败。

        /etc/snmp/snmptt.ini    

             date_time_format=  %Y/%m/%d %H:%M:%S

             #### 设置时间格式,读取的SNMPTrap信息之后写入SNMPTrapperFile里的时间格式,也是ZabbixTrapper读取时的时间格式

             syslog_enable = 0  

             #### 默认值为1,设置成0,表示不将日志记录入syslog,不过该参数为可选参数,可直接默认值即可。

             log_file = /var/log/snmptt/snmptt.log

             #### 这里指定了SNMPTrapperFile,默认/var/log/snmptt/snmptt.log,无需更改。

             [TrapFiles]

             snmptt_conf_files = <

             /etc/snmp/snmptt.conf

             END

             #### 这一段代码记录了使用那些规则文件处理SNMPTrap信息,默认值如上,简单处理中无需更改该配置。

        zabbix_server.conf

             StartSNMPTrapper=1

             SNMPTrapperFile=/var/log/snmptt/snmptt.log 

3、SNMPTrapFile文件创建

             touch /var/log/snmptt/snmptt.log 

             chown snmptt:snmptt /var/log/snmptt/snmptt.log

4、监控项创建

zabbix开启SNMPTrap功能_第1张图片

三、perl脚本

  1、SNMPTrap安装

        yum install -y net-snmp net-snmp-libs net-snmp-utils net-snmp-perl mrtg

2、从zabbix源码包中拷贝perl脚本到/usr/bin/目录下,并增加执行权限

        cp zabbix-3.4.7/misc/snmptrap/zabbix_trap_receiver.pl /usr/bin/

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

3、修改snmptrapd.conf配置

        authCommunity   log,execute,net public

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

4、修改zabbix配置

        StartSNMPTrapper=1

        SNMPTrapperFile=/tmp/zabbix_traps.tmp

        注SNMPTrapFile目录和zabbix_trap_receiver.pl中日志目录一致。

 

snmptrap测试发包:

snmptrap -v 2c -c public 192.168.1.171 ''  .1.3.6.1.4.1.2345 SNMPv2-MIB::sysLocation.0 s "for test"

snmptrap -v 2c -c public 192.168.1.171 '' .1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.1.1.0 s "eth1"

你可能感兴趣的:(zabbix)