Zabbix5由淺入深之snmptrap探索(上)
網(wǎng)絡(luò)領(lǐng)域的監(jiān)控離不開(kāi)SNMP協(xié)議,但是隨著規(guī)模的增大以及對(duì)監(jiān)控要求越來(lái)越高,對(duì)監(jiān)控的性能和告警的及時(shí)性也隨之增高,snmptrap作為主動(dòng)推送的模式,而且及時(shí)性相比于snmp方式要高得多,snmtrap文章一共有兩篇,第一篇是如何使用snmptrap推送至Zabbix,第二篇詳細(xì)講實(shí)戰(zhàn)怎么使用。
正文
環(huán)境
- Zabbix版本:5.2
- snmptt版本:1.4.2(目前最新為1.5.1beta)
- 網(wǎng)絡(luò)設(shè)備:華為CE6855
- 系統(tǒng)版本:CentOS 8.3
安裝必備條件
- dnf -y install net-snmp net-snmp-utils net-snmp-perl
啟動(dòng)snmptrapd
- systemctl start snmtrapd && systemctl enable snmtrapd
交換機(jī)配置(以華為交換機(jī)為例)
其他的品牌設(shè)備請(qǐng)咨詢查詢官方文檔或其他教程
- snmp-agent target-host trap address udp-domain 10.0.0.71 params securityname huawei@123 v2c
調(diào)整snmptrapd配置
- vi /etc/snmp/snmptrapd.conf
- authCommunity log,execute,net huawei@123
- ####重啟snmptrapd服務(wù)
- service snmptrapd restart
效果
由于CentOS 8最小化安裝版本不自帶/var/log/message,所以需要安裝相關(guān)軟件包,此時(shí)模擬登錄交換機(jī),同時(shí)查看日志。
- dnf -y install rsyslog
- service restart rsyslog
- tail -f /var/log/messages
交換機(jī)登錄trap信息
安裝snmptt
首先我們要搞清楚為什么裝這個(gè)軟件,Zabbix在實(shí)現(xiàn)snmptrap有兩個(gè)條件,第一個(gè)是能收集和記錄snmptrap信息的程序,這個(gè)程序就是snmptrapd,第二個(gè)是需要把這些信息發(fā)送到Zabbix server,這個(gè)軟件是snmptt,當(dāng)然也可以是perl腳本,本篇文章以snmptt為例
CentOS 8安裝步驟比較復(fù)雜,如果是centos7(需要epel源)直接安裝即可
- ####下載snmptt包####
- wget https://nchc.dl.sourceforge.net/project/snmptt/snmptt/snmptt_1.4.2/snmptt_1.4.2.tgz --no-check-certificate
- ####解壓該包####
- tar -zxvf snmptt_1.4.2.tgz
- ####復(fù)制相關(guān)文件至指定文件夾
- cp snmptt_1.4.2/snmptt /usr/sbin/snmptt
- cp snmptt_1.4.2/snmptthandler /usr/sbin/snmptthandler
- cp snmptt_1.4.2/snmptt.ini /etc/snmp/snmptt.ini
- cp snmptt_1.4.2/examples/snmptt.conf.generic /etc/snmp/snmptt.conf
- cp snmptt_1.4.2/snmptt-init.d /etc/rc.d/init.d/snmptt
- cp snmptt_1.4.2/snmptt.logrotate /etc/logrotate.d/snmptt
- ####解決依賴環(huán)境問(wèn)題####
- dnf -y install perl-CPAN perl-Text-Balanced perl-Sys-Syslog
- perl -MCPAN -e 'install Config::IniFiles'
- ####創(chuàng)建snmptt相關(guān)用戶####
- groupadd snmptt
- useradd -c "SNMP Trap Translator" -g snmptt -d /var/spool/snmptt snmptt -s /sbin/nologin
修改snmptrapd配置文件
- vi /etc/snmp/snmptrapd.conf
- traphandle default /usr/sbin/snmptthandler
指定snmptt為接收器
修改snmptt配置文件
需要修改以下三處
- date_time_format= %Y/%m/%d %H:%M:%S
- net_snmp_perl_enable = 1
translate_log_trap_oid = 2 # 0:數(shù)字形式顯示OID,1:顯示OID名稱,2:顯示OID所屬模塊名及其名稱
Zabbix Server開(kāi)啟snmptrap
- vi /etc/zabbix/zabbix_server.conf
重啟相關(guān)服務(wù)
- service snmptt restart
- service snmptrapd restart
- service zabbix-server restart
創(chuàng)建log文件
- mkdir /var/log/snmptt
- touch /var/log/snmptt/snmptt.log
- chown snmptt:snmptt
配置數(shù)據(jù)處理格式
這里做完后記得重啟snmptt服務(wù)
- vim /etc/snmp/snmptt.conf
- EVENT general .* "General event" Normal
- FORMAT ZBXTRAP $aA $ar
測(cè)試
依然是登錄設(shè)備測(cè)試
前端添加監(jiān)控項(xiàng)
此處使用的模板為Generic SNMP模板,自帶snmptrap監(jiān)控項(xiàng),僅僅測(cè)試
此時(shí)已經(jīng)可以看到相關(guān)數(shù)據(jù)了
寫(xiě)在最后
snmptrap最大的好處就是由設(shè)備推送至Zabbix Server,保證了及時(shí)性,那么下期我會(huì)詳細(xì)來(lái)講實(shí)戰(zhàn)中該怎么使用,謝謝。