使用Zabbix的SNMP trap監控類型監控設備的一個例子


本文以監控綠盟設備為例。


1.登錄被監控的設備的管理系統,配置snmptrap地址指向zabbix服務器或代理服務器。

snmptrap地址也叫陷阱。


2.驗證是否能在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包

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,可以接受所有未配置的trap監控項。

7.查看監控主機的最新數據。

在最新數據里選擇被監控的主機,點擊snmptrap.fallback的歷史記錄

如下圖,在此處可以看到被監控設備發出的trap信息,但是從OID上不能明顯看出對應的信息,因此需要為net-snmp添加mib文件。

 

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]




參考資料:
http://www.lwops.cn/forum.php?mod=viewthread&tid=74&extra=&_dsign=8bd9d823&tdsourcetag=s_pctim_aiomsg
http://blog.chinaunix.net/uid-20469830-id-1943491.html
https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/snmptrap

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM