Zabbix系統通過SNMP協議採集監控資料

來源:互聯網
上載者:User

前面我們說過,其實不管是使用SNMP協議的哪個版本的來採集資料,其本質上都是一樣的,都是Zabbix伺服器端組件周期性的通過SNMP協議去查詢SNMP協議代理進程,以擷取被監控項目的監控資料。這種監控資料擷取方法的原理很簡單,Zabbix伺服器端組件(或伺服器代理端組件)根據使用者針對不同監控項目所配置的OID值,週期性調用net-snmp軟包(或ucd-snmp軟體)提供的介面函,去查詢被監控主機(或其代理)上MIB庫中被監控項目的資料,從而採集到被監控項目的監控資料。因此,通過SNMP協議採集監控資料的方法是一種被動監控方法,且使用這種方法採集監控資料在配置和日常管理也比較簡單。只需要在被監控主機上開啟並配置好SNMP服務,並針對Zabbix伺服器開放查詢許可權後,我們在配置監控項目時指定好被監控項目的OID值,Zabbix伺服器就會按照我們要求定時去監控主機上採集所需要的資料,不需要我們額外的編寫資料擷取程式或指令碼。或許您會說,我怎麼知道我所需要監控的項目的OID值,以及如果我們所監控項目數量很多的時候,我們在Zabbix系統中配置時需要針對不同監控項目配置不同的OID值,這樣我們日常管理的工作量不是非常大?您說的一點沒有錯,要想知道某個被監控項目具體的OID值,我們無非有幾種方法。第一,是由裝置的供應商給我們提供相關的技術文檔,從這些技術文檔中我們可以查出我們所要監控項目在MIB庫中的OID值。第二種方法是,國際標準組織已經定義好了通用的MIB庫的結構。所以,對於一些通用項目的OID值,例如系統記憶體大小、CPU負載資訊、裝置網卡數量等等項目的OID值都是固定。這樣,對於這類監控項目的OID值,我們有很多種方法可以擷取得到,比如查閱相關的標準檔案、通過互連網搜尋等等。第三、其實當我們需要通過SNMP協議採集某些監控項目的監控資料時,我們也可以不需要知道這些監控項目具體的OID值。Zabbix系統我們提供了一種動態索引的方法來實現這類監控項目的監控資料的採集。關於Zabbix系統中如何使用SNMP協議的動態索引的方法採集監控資料,我們將後續章節中作進一步介紹和說明。

雖然SNMP陷入與SNMP查詢一樣,都是Zabbix伺服器端(或伺服器代理端)組件通過SNMP協議與被監控主機(或者其代理)通訊,以完成監控資料的採集。但是,SNMP陷入方法採集監控資料與通過SNMP協議查詢的方法採集監控資料還是有很大的差別的。首先,SNMP查詢方法採集監控資料是由Zabbix伺服器端根據我們的配置周期性的串連到被監控主機或者其代理的SNMP服務上的,然後查詢監控項目所需要的資料,屬於一種被動監控模式。而SNMP陷入方法採集監控資料則不同,它是當被監控主機發生某種事件時,由其(或者被監控主動代理)主動地將所發生的事件資訊發送給Zabbix伺服器端(或者其伺服器代理端)組件,由Zabbix系統進分析並擷取監控資料的一種監控資料擷取方式,它是一種主動的監控模式。另外,通過SNMP查詢方式採集監控資料的監控項目,其關鍵字(何為監控項目的關鍵字,我們將在後續章節再做詳細介紹)可以由我們自由定義,只需要我們所定義的關鍵字符合Zabbix系統對監控項目的關鍵字的要求和規則即可,但是通過SNMP陷入方式採集資料的監控項目則不同,它們的關鍵字具有固定的形式,這個形式是由Zabbix系統內部預定義好的,我們只能使用這種關鍵形式,最多隻能修改關鍵字的參數。以下表2-3即為通過SNMP陷入方式採集資料的監控項目的關鍵列表。

表2-3 通過SNMP陷入方式採集資料的監控項目關鍵字列表

關鍵字

描 述

備忘

snmptrap[regex]

該關鍵字的作用是從相應監控介面所接收到的陷入資訊中匹配出SNMP陷入資訊。期中regex為所需要匹配的關鍵字,當Zabbix系統中從所接收到的陷入資訊中匹配這個數所指定的關鍵字,則表示系統接收到了指定項目所配置的陷入資料。

從前面我們所描述的通過SNMP陷入的方式採集監控資料的流程中我們可以看出,當Zabbix伺服器上所啟動並執行snmpd服務接收到了來自被監控主機(或者是其代理)所發送的陷入資訊後,會將SNMP陷入資訊發給snmptt進程,由其進行格式化,以便Zabbix服務端組件能夠識別出這條陷入資訊,格式化後的陷入資訊存放在/etc/snmp/snmptt.ini設定檔中log_file配置項所指定的記錄檔裡,zabbix伺服器端組件會定時去讀取這個記錄檔,然後根據每條陷入資訊的內容,用監控項目關鍵字中regex參數所指定的內容去匹配,如果匹配到了,則表示對應的監控項目接收到來自被監控主機的一條陷入資訊。

snmptrap.fallback

這個關鍵字所對應的監控項目可能有一點不太好理解。在前一個關鍵字中我們已經說過,Zabbix伺服器會定時的用regex參數指定的內容去逐條匹配所接收到的SNMP陷入資訊,當匹配到了,則就將對應的監控項目的資料更新為所接收到陷入資訊的時間截。當某台被監控主機上所有SNMP陷入類的監控項目所指定的關鍵字都沒有匹配上所接收到的陷入資訊時,而且這台被監控主機上也配置了關鍵字為snmptrap.fallback的監控項目,這個時候系統就將這條陷入資訊的內容更新到這個監控項目上。

需要注意的是,這裡所說的系統接收到的陷入資訊沒有匹配上,是指這類陷入資訊在Zabbix系統沒有配置相對應的監控項目與之對應。但是,在/etc/snmp/snmptt.conf設定檔中還是得有這類陷入資訊格式化配置的,否則Zabbix系統將因為無法識出陷入資訊,而抱怨接收到了一條非法的陷入資訊。因此,就不會更新關鍵字為snmptrap.fallback監控項目的採集資料了。對於這種我們未知的陷入資訊,則我們也可以通過在snmptt.conf設定檔裡添加上:

EVENT general .* “General event” Normal

FORMAT ZBXTRAP $aA Unknow trap Message

內容,以便對這類陷入資訊進行格式化,從而讓Zabbix伺服器能夠進行識別和處理。在snmptt.conf檔案裡添加上上面這兩行內容後,則系統將會將這類陷入資訊的內容統一更新到關鍵字是snmptrap.fallbacku的監控項目上。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.