Protocol Data Unit 通訊協定資料單元 Ubuntu Cacti SNMP PDU 網路

Cacti整合SNMP Trap 設備告警自訂分類不漏接

2017-05-25
IT管理人員必須隨時掌握網路設備的運作情形,以便因應各種突發狀況,可以在Cacti上架設SNMP Traps Receiver藉此接收SNMP Traps,然後將相關訊息分類,就能夠即刻察覺任何的風吹草動。

在authcommunity項次中,必須先設定類別(Type),這是指收到訊息後的處理方式,可以輸入的類別有log、execute、net等三類。log是指將收到的訊息存放在伺服器上或輸出到螢幕上,execute是指將這個訊息引導給其他程式處理,例如要直接寄電子郵件或者發送簡訊就可使用此類別,最後的net是指轉發給其他伺服器處理,此例中將使用log,將之存放於本機上。

在類別之後,則是輸入community,這個選項與SNMP相同,要發送的機器與要接受的伺服器必須有相同的community,可滿足簡易的資訊安全需求。

traphandle所指的則是收到不同OID時的處理方式(OID指的是設備帶出來的索引碼及其值),這裡先使用default,把所有收到的OID均採取同樣的處理方式,之後再測試能否針對不同的OID進行不同的處理。此外,也透過traphandle將收到的OID轉換為MIB。而disableAuthorization則是簡化相關的存取控管,將所有的告警都收進來。

接著安裝snmptt,此套件中包含snmptthandler程式,在設定檔中有使用這個程式,因此一併進行安裝:


安裝完成後,記得修改「/etc/snmp/snmptt.ini」,讓它可以將資料寫入資料庫,相關設定如圖3所示。要設定及修改的地方很多,請耐心找到對應的字串進行修改。亦可參考「/usr/share/cacti/site/plugins/camm/README」的內容,使用搜尋取代的方式進行處理。惟mysql_dbi_database、mysql_dbi_username及mysql_dbi_password這幾個欄位務必依照現況調整。


▲圖3 進行snmptt.ini資料庫相關設定。

設定完畢,接著執行「/etc/init.d/snmptt restart」命令重啟snmptt。

上述動作均完成後,就可以啟動snmptrapd。此處的重點為需要指定snmptrapd.pid這個檔案的路徑到「/var/run」目錄中,後續snmptt才能順利讀取snmptrapd的log:


執行後,再次檢查是否正確執行,如圖4所示:


▲圖4 再次確認snmptrapd是否已執行。


在此可確認snmptrapd目前正執行中,且使用UDP 162 Port。若無法執行snmptrapd,檢查Log確認是否設定檔語法有誤。在筆者的伺服器上,「snmpTrapdAddr udp:127.0.0.1:162」這一行無法正確判斷,在Log檔中產生getaddrinfo的錯誤訊息,將之刪除後再執行即可正常運作。但在筆者的其他主機上(RHEL 6.3)測試則一切正常,研判是軟體版本的相容性問題。

接著測試snmptrapd是否能正常運作,找了一台Cisco路由器,並在該設備進行下列設定:


10.100.33.19是筆者伺服器的IP,請自行代換為正確的IP。另外,某些設備在設定時可針對不同的版本進行區分(SNMP版本1為TRAP-TYPE,SNMP版本2則為NOTIFICATION-TYPE),設定時須加以區別。

最後,在運行snmptrapd的機器上執行下列指令,以驗證是否有封包進入:


這麼做的目的是要側錄從UDP 162 Port進來的封包,然後將Cisco路由器上的介面「no shutdown」(將之開啟),結果如圖5所示,可以確認此伺服器的UDP Port 162能收到路由器發出的封包。


▲圖5 使用tcpdump確認是否收到UDP Port 162的封包。

此時,檢查「/var/log/snmptt」目錄中是否有產生檔案,此時應已產生snmptt.log或snmpttunknown.log這兩個檔案,如圖6所示。


▲圖6 在「/var/log/snmptt」目錄中已產生檔案。

安裝及設定CaMM

CaMM是Cacti Message Management的縮寫,顧名思義是安裝在Cacti下的模組,其功能是訊息管理。筆者的Cacti是安裝在「/usr/share/cacti/site」,因此先切換目錄至「/usr/share/cacti/site」,再進入「plugins」資料夾中:


接著將檔案下載,並重新命名為「camm_v1.5.3.zip」:


由於這裡使用zip打包及壓縮該檔,因此必須安裝unzip套件:


安裝後,就可將之解壓縮:


接著要先建立資料庫,名稱為「syslog_ng」,以備後續的資料可以寫入資料庫內(此步驟在RHEL 6.3無須執行):


再回到Cacti的管理頁面,點選Console中的Plugin Management,在右邊頁面找到Camm,點選藍色圖示進行安裝,如圖7所示。


▲圖7 安裝CaMM。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!