Zabbix監控系統配置之-自動發現規則入門


假設你已經知道【模板-監控項-監控項原型-自動發現規則】之間的關系。(此處應有關系圖,待填坑)

1. 添加模板###

我新建了一個名叫Dapianzi SNMP Linux的模板,里面添加了已經啟動了SNMP服務的雲主機。准備對這些雲主機配置一些自己定義的,通過自動發現規則生成的監控項。
建立模板

2. 添加自動發現規則###

點擊 模板 - 自動發現規則 - 創建發現規則。如圖
添加自動發現規則

名稱】: 規則名稱,通俗易懂就好。
類型】: 可選擇SNMP或者Zabbix,數據來源。后面的配置選項會根據這個類型的改變而改變。
鍵值】: 發現的監控項的key, 貌似有命名限制,不能使用特殊字符。(作用還不是很確定,待填坑)。
SNMP OID】: 這是一個函數discover(param1, param2). 參數2(這里我設置的是laNames也就是cpu load average的名稱)是你想要自動發現的snmp object id. 參數1({#SNMPVALUE})是你用來存儲這些值的變量。另外有個隱藏變量{#SNMPINDEX}。如圖

前面laNames接的 1,2,3 會存儲在變量 {#SNMPINDEX}
后面Load-1, Load-5, Load-15 會存儲在變量 `{#SNMPVALUE}`` 中
這兩個變量會在后面 【監控項原型】中使用到。

SNMP COMMUNITY】: snmp的community ,這里使用宏。
描述】: 通俗易懂描述一下就好。
到這里簡單的自動發現規則已經配好了。

3. 配置監控原型###

監控原型就是對自動發現規則匹配到的數據進行怎么的處理,使它變成可用的監控項。添加原型的入口:

上面的自動發現規則我們可以知道的信息有:
名稱 Load-1 的 index 是 1
名稱 Load-5 的 index 是 2
名稱 Load-15 的 index 是 3
我們需要監控的是cpu 的3個時間里的 load average,它們在snmp里是這樣的:

所以用 UCD-SNMP-MIB::laLoadFloat.{#SNMPINDEX} 可以分別獲取到對應的負載。
然后配置監控原型的示例:

名稱】: 監控項的名稱,這里 $1={#SNMPVALUE} (問我我也不知道為啥)。
類型】: 同上
鍵值】: 監控項的key, 限制部分非法字符。
SNMP OID】: 把【自動發現】里找到的{#SNMPINDEX}填進來很容易理解。(UCD-SNMP-MIB::laLoadFloat.{#SNMPINDEX} =》laLoadFloat.1;laLoadFloat.2;laLoadFloat.3)
SNMP COMMUNITY】: 同上,使用宏
信息類型】: 獲取的值的類型(單位)
應用集】: 為了方便管理

4. 結果###

自動發現規則配置完了之后,自動添加了3個監控項:

最新數據顯示數據獲取正常:

Grafana也能正確讀取:

5. 小結###

通俗的說呢,
自動發現】會根據你定義的規則去批量查找你想要獲取的值(一般是名稱name,描述desc,別名alias等)和他們的index索引。
監控原型】根據上一步獲取的N個值,循環生成你想要的監控項。生成的規則就是用上一步找到的{#SNMPVALUE}, {#SNMPINDEX} 去替換原型表達式。
就是這個邏輯。
不過它的配置里還有很多其他牛逼高深的東西,上面沒有涉及。待以后研究再填坑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM