連老手也容易犯錯的Zabbix SNMP該如何正確配置?
SNMP?是Zabbix中最常用的監控類型之一,但對于新手而言,也是配置時最令人難以捉摸的工具之一。即便是經驗豐富者也容易在配置時犯下簡單錯誤,導致更多問題出現,如item或接口不穩定,誤報等,甚至更糟。

SNMP?是Zabbix中最常用的監控類型之一,但對于新手而言,也是配置時最令人難以捉摸的工具之一。即便是經驗豐富者也容易在配置時犯下簡單錯誤,導致更多問題出現,如item或接口不穩定,誤報等,甚至更糟。
目錄
一 、介紹
二、 關于SNMP
SNMP版本
SNMP OID(對象標識符)
SNMP接口4. SNMPv3 配置錯誤、
三、總結
一、介紹
本文將討論安裝過程中,用SNMP成功監控設備時,需要記住和遵守的事項;講解關于SNMP的關鍵概念,以及在設定第一個SNMP item時需牢記在心的最重要信息。
二、關于SNMP
SNMP即Simple Network Management Protocol,全稱為簡單網絡管理協議。它通過查詢工作,常用于監控網絡設備,如交換機,路由器,部分防火墻,或任意存儲庫。
如果在Configuration (配置) > Hosts中點擊Items部分,并打開Item參數,Type (類型)部分可以在SNMPv1,SNMPv2,SNMPv3 或SNMP trap這幾項之間選擇。
SNMP options
1. SNMP agent
SNMPv1,SNMPv2,和SNMPv3版本之間有功能上的區別。其主要不同之處在于:
SNMPv1是最早的版本。因為沒有加密,此版本并不安全。唯一用來確認監控Host和設備間通信的就是community。SNMP community在設備上配置,agent通過SNMP community獲得指標。此外,SNMPv1限制在已過時的32位counter上使用。
SNMPv2也未被加密并只使用community進行識別(community名稱),但SNMPv2可以使用64位counter。
SNMPv3允許加密網絡設備與Zabbix server或proxy之間的通信,且使用用戶名和密碼進行準確識別。
SNMPv3更加安全,但維護方面也更為復雜。需要創建用戶并設置大量參數,如Context name (上下文名稱),Security name (安全名稱), Security level (安全等級)等等;還需要在所有監控環境和設備中維護這項配置。
SNMPv3 attributes
2. SNMP OID (對象標識符)
SNMP中最令人失望的是Key (密鑰)不代表任何事物,它只是一個占位符,無法找到任何從設備中收集網絡流量的密鑰。你需要使用SNMP OID (對象標識符),一串用于識別被監控設備及其狀態的數字。
SNMP OID在MIB (Management Information Base管理信息庫)中與特定對象連接,可以明確到每臺設備。這些是跟指標相連接的獨有的標識符。
OID
因此,需要在item上配置OID以便從SNMP item接收數據。問題是通常你并不知道OID。只知道需要監控某些設備,但不知道需監控指標的OID。這種情況下,最簡單的選擇是給需要的網絡設備使用MIB文件,此文件包含所有可用指標和收集方法的信息。你能找到許多可以打開和可視化MIB文件的瀏覽器應用程序,但沒有辦法將MIB文件導入Zabbix。
注:Zabbix可以監控SNMP所做的檢查,但無法直接連接到外部網絡設備。Zabbix在機器上使用snmpd。因此,當Zabbix查詢一個item時會詢問SNMP,而snmpd與設備連接并請求數據。
新的MIB文件應被加入默認的MIB文件位置(至少在大部分Linux系統中如此),你可以在CLI (計算機指令)中打開:
cd /usr/share/snmp/mibs
如果對一個MIB文件做了部分更改,需要將更改部分加載入SNMP守護進程。具體操作方式可在官網文檔中查看。比如,可以根據對象的OID使用snmptranslate命令獲得一個MIB名稱。
1. 為了添加一個新的MIB文件,需要編輯SNMP配置文件。如果不知道此文件的位置,可以使用net-snmp-config -snmpconfpath命令并添加mibs +和一個MIB名稱。
mibs +SOME-MIB
2. 也可以在MIB路徑中添加你擁有的所有MIB文件:
/usr/share/snmp/mibs
這種情況下,你需要添加snmp.conf文件:
mibs +ALL
盡管在目錄中加入了所有內容,作出更改后,仍需要重啟SNMP守護進程和Zabbix。
3. SNMP 接口
配置Host時,解決SNMP接口問題后才能加入任意SNMP監控item。為了開始監控SNMP,你需要在SNMP interface處單擊Add。指定將被監控的設備的IP地址或DNS名稱,以及SNMP接口的一個默認端口‘161’。
SNMP interface
Use bulk requests 使用批量請求是默認打開的。但是,如果看到item不斷波動并改變狀態,或者SNMP接口從綠色跳轉為紅色,從可用跳轉為不可用狀態,唯一能修復監控的解決方案可能是禁用批量請求。
注:監控時,Zabbix不會為了輪詢每個指標或數據集而單獨連接到個人網絡設備。相反,Zabbix請求批量數據。如果啟用批量請求,Zabbix進行第一次連接來獲得一個單一指標,然后暫停。一切順利的情況下,Zabbix會依次收集兩個指標,三個指標,然后繼續用下一個值乘以1.5,且最多執行128個連接。有些設備無法響應批量請求。這種情況下,部分請求不會在每個連接都被支持。
注:如果有配置緩存和proxy,記得重新加載。
4 .SNMPv3 配置錯誤
1. SNMPv3較為安全,但因為加密和身份驗證的特性,運行也更慢。因此,為SNMPv3定義大量item參數時,注意不要出現拼寫錯誤。否則,你的Host將不會支持一些item,或SNMP接口將在紅綠色之間波動。
2. SNMPv3第二個最常見的錯誤與snmpEngineID相關。如果正在監控SNMPv3設備,那么設備配置的snmpEngineID必須是獨一無二的。
注:在一個管理域內,snmpEngineID是SNMP引擎唯一的標識符。SNMP引擎和SNMP實體間存在一對一的關聯,這也是此管理域中SNMP實體唯一和清晰的標識符。
engineID默認作為設備的MAC地址,應該具有唯一性,但網絡管理員傾向于在他們的環境中改變這些內容。因此,如果必須用完全一樣的engineID監控設備就會出現問題。最簡單的問題修復方案是檢查SNMP接口的批量請求,然后對設備做snmpEngineID處理。
以下有幾種檢索snmpEngineID的方式:
1. snmpEngineID也是一個對象 (object),具有對象標識符。可以從個人設備上用snmpget檢索這個指標并將其與其他設備進行比較。
2. 你可以檢查被監控設備的設置。
3. 最復雜的方式是收集tcpdump以檢查線上通訊。使用SNMPv3必須指定憑據和身份證明,而后解密并檢查snmpEngineIDs是否唯一。
三、總結
在為網絡監控創建新item或模板又不清楚被監控對象的OID或MIB文件時,比起搜索他人做好的模板,建議嘗試自己完成所有工作。如果需要以輸入流量、輸出流量或接口丟棄作為通用指標,可以使用默認SNMP模板作為通用指標的OID。因為在多個供應商之間,此模板通常是相同的。如果想在設備上監控非常具體的東西,那么試著直接搜索,如Cisco OID。在創建item并將其添加到會連接至數百或數千臺Cisco (思科)設備的模板前,在CLI (計算機指令)中運行snmpget并在設備中查詢需要的值。當能確保正確時,才添加新item和創建新模板。
Zabbix
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。