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/中查找安裝perl-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 = <<END

             /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、監控項創建

三、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"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章