Zabbix-server SNMPTrap擴充套件
Zabbix-server SNMPTrap擴充套件
一、原理介紹:
SNMPTrap監控主要用於裝置發生故障時的主動通知的監控。以下簡單記錄下Zabbix的SNMPTrap的配置方法。
1.監控物件傳送SNMPTrap資訊到snmptrapd(Net-SNMP)伺服器。
2.snmptrapd伺服器將接收到的SNMPTrap資訊傳送給SNMPTT(或者Perl trap receiver)。
3.NMPTT(或者Perl trap receiver)將按照指定的資料格式將SNMPTrap資訊寫入SNMPTrapperFile。
4.Zabbix伺服器的snmptrapper程式將讀取SNMPTrapperFile的內容,對其進行解析,將值傳遞給對應的監控物件,並儲存資料到DB。
※流程參考下圖(使用SNMPTT的地方均可使用Perl trap seceiver指令碼代替):
二、使用步驟:
ZabbixServer的環境是CentOS release 6.5 (Final),SNMPTrapd,SNMPTT等全部在ZabbixServer上進行設定。
1)首先安裝SNMPTrapd(NET-SNMP)
#yum install -y net-snmp net-snmp-utils net-snmp-perl
2)接來下設定SNMPTrap的Community名稱自己處理SNMPTrap資訊的處理器(或者說處理方法):
#vim /etc/snmp/snmptrapd.conf
新增如下內容:
authCommunity log,execute,netpublic
**配置community名稱,這裡設定為public, 也進行用認證:disableAuthorization yes
traphandle default /usr/sbin/snmptthandler
配置SNMPTrap資訊的處理器,這設定為SNMPTT,也可以設定成其他Perl指令碼處理,比如 比如perl do "/usr/local/zabbix/bin/zabbix_trap_receiver.pl "
3)設定SNMPTrapd的啟動指令碼的選項
#vim /etc/init.d/snmptrapd
某些OS版本的路徑可能是/etc/rc.d/init.d/snmptrapd
更改如下內容:
OPTIONS="-Lsd -p /var/run/snmptrapd.pid"(更改成如下)
OPTIONS="-On -Lsd -p /var/run/snmptrapd.pid"
####根據SNMPTT的文件說明,由於版本問題,可能會導致MIB檔案無法正確翻譯,所以最好是加上-On引數。
參考檔案
http://snmptt.sourceforge.net/docs/snmptt.shtml#Installation-Overview
####Note: The -On is recommended. This will make snmptrapd pass OIDs in numeric form and prevent SNMPTT from having to translate the symbolic name to numerical form. If the UCD-SNMP / Net-SNMP Perl module is not installed, then you MUST use the -On switch. Depending on the version of UCD-SNMP / Net-SNMP, some symbolic names may not translate correctly. See the FAQ for more info.
4)設定SNMPTrapd自動啟動並重新啟動服務
#chkconfig snmptrapd on # service snmptrapd restart
二、安裝SNMPTT
1)安裝SNMPTT(這裡採用yum安裝方式進行)
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum install snmptt
###以上的rpm可以根據OS的版本選擇合適的yum庫進行安裝。
2)配置SNMPTT,設定基本資訊
###以上的rpm可以根據OS的版本選擇合適的yum庫進行安裝。
#vim /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資訊,預設值如上,簡單處理中無需更改該配置。
####該檔案可以設定成多個檔案,在END之前新增檔案即可。
3)設定處理資料的格式規則
這裡只說最簡單的例子,配置檔案按照snmptt.ini的預設設定snmptt.conf進行配置。
新增如下內容:
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1
####(OID資訊為:[.1.3.6.1.4.1.232.0.11001],而[.*]匹配了所有OID資訊)
備註:
為了和Zabbix做連線需要,snmptt.conf中的配置具有一定的規則,這將在其他文章另行記錄。
本文只簡單說明為了實現Zabbix的SNMPTrap監控需要進行哪些設定。
不需要根據OID來具體區分的情況下,以上配置即足夠了。
4)建立SNMPTrapperFile檔案(預設
為/var/log/snmptt/snmptt.log)
#touch /var/log/snmptt/snmptt.log # chown snmptt:snmptt /var/log/snmptt/snmptt.log
5)配置以上日誌輪詢
yum安裝的情況下預設已經配置好,無需再設定。這裡將需要自己配置時的配置內容貼出來供參考。
#vim etc/logrotate.d/snmptt裡面內容如下:
/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptthandler.debug { weekly notifempty missingok } /var/log/snmptt/snmptt.debug { weekly notifempty missingok postrotate /etc/init.d/snmptt reload >/dev/null 2>/dev/null || true endscript }
6)設定SNMPTT自動啟動並重新啟動服務
#chkconfig snmptt on # service snmptt restartr 以上SNMPTT的配置即結束。
三、啟用SNMPTRAP監控並指定SNMPTrapperFile資訊
1)啟用SNMPTRAP監控並指定SNMPTrapperFile資訊
#vim /usr/local/zabbix/etc/zabbix_server.conf#### 以上檔案路徑可能和安裝方式不同所有不同,需要根據具體情況而定。
修改如下內容:
StartSNMPTrapper=1
SNMPTrapperFile=/var/log/snmptt/snmptt.log
####SNMPTrapperFile檔案可根據具體情況進行修改
2)重啟Zabbix服務
#service zabbix_server restart
相關文章
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- WCF擴充套件:行為擴充套件Behavior Extension套件
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- Sanic 擴充套件套件
- ORACLE 擴充套件Oracle套件
- 擴充套件工具套件
- 擴充套件歐幾里得套件
- DOM擴充套件套件
- 擴充套件ACL套件
- Lua擴充套件套件
- 照片擴充套件套件
- 擴充套件篇套件
- disable or 擴充套件套件
- 擴充套件表套件
- Mybatis擴充套件MyBatis套件
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- 分類擴充套件套件
- 擴充套件表示式套件
- 新增php擴充套件PHP套件
- swift擴充套件ExtensionsSwift套件
- iOS 通知擴充套件iOS套件
- 可擴充套件性套件
- 19-擴充套件套件
- Nmap 擴充套件(四)套件
- Flask 自建擴充套件Flask套件
- 擴充套件包上傳套件
- DOM部分擴充套件套件
- 擴充套件知識套件
- php ubuntu 擴充套件PHPUbuntu套件
- greenplum擴充套件segment套件
- ios UIcolor擴充套件iOSUI套件
- 擴充套件BSGS/exBSGS套件
- SpringMVC 擴充套件SpringMVC套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 使用Kotlin擴充套件函式擴充套件Spring Data案例Kotlin套件函式Spring