一、前文
此篇文章,主要針對自動發現規則中使用snmpv2類型發現
zabbix官方解讀,可當參考:
https://www.zabbix.com/documentation/4.0/zh/manual/discovery/low_level_discovery/snmp_oids
二、情景設定
1.環境:centos 7 + zabbix 4.0.2
2.模板里設置自動發現規則,應用到主機,讓其自動發現網絡設備的cisco交換機的內存使用率情況
三、自動發現目的
基於第二步的情景設定,可知自動發現,可通用於不同的網絡設備,假如有些設備只有一塊內存,假如有些設備有三塊內存(3台設備堆疊),通過共用同一套發現規則,皆可被發現。
四、設置模板的自動發現規則
2.1 點擊【配置】--》【模板】--》自己預先定義好的模板-【思科網絡設備模板】-》【自動發現】--》右上角【創建發現規則】
2.2 打*號都要填寫
#名稱: 規則名字 #類型 選擇snmpv2客戶端 #鍵值 因為是snmpv2的類型,所以在此只要填寫唯一不沖突就可以 #SNMP OID 固定模式discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,],以上圖為例:{#MEMORYUSED}是宏,可以理解是變量名,
對應的值來自於1.3.6.1.4.1.9.9.109.1.1.1.1.12這個OID采集到值,可參考官方文檔,{#SNMPINDEX}是默認生成的,常用
此處注意點:{#MACRO1}定義一定要大寫!大寫!大寫!
#SNMP community 填入snmp的團體字,也可以是用戶自定義的宏 #更新間隔 #2m表示2分鍾,也可以是30s,1h之類的
五、設置監控項原型
基於第四步創建完發現規則,點擊對應的發現規則里的【監控項原型】。
創建監控項原型的目的是:自動發現規則獲得關鍵變量,如上面的{#MEMORYUSED};監控項原型是借助獲得的關鍵變量,加上監控項前綴,生成各式各樣的監控項(item)
點擊右上角的【創建監控原型】,填寫帶*號選項
#名稱 到時會生成監控項的名字{#SNMPINDEX}為變量,用於區分不同內存塊的名字 #類型 選擇SNMPv2客戶端 #鍵值 cpmCPUMemoryUsed[{#SNMPINDEX}],要填寫唯一值,因為{#SNMPINDEX}為宏,即變量,所以是唯一值 #SNMP OID 要獲取到對應的值 #SNMP community 填寫團體字或者自定義宏 #單位 此處填寫B,而此oid采集到單位是KB,因此需要再[進程]選項里自定義倍數 ,參數1024倍,點擊添加
六、將模板應用到主機
主機就會通過自動發現規則+監控項原型,生成對應的監控項
應用模板步驟:點擊【配置】--》【主機】--》主機名【QJ-W-3850-2F-POE】
點擊進去后,選擇【模板】--》【選擇】--》【思科網絡設備模板】--》【添加】--》【更新】
等候設定的監控閾值2分鍾,點擊【主機】--》找到主機名QJ-W-3850-2F-POE的【監控項】--》點擊進去就看到如下圖,狀態為已啟用,便是正常采集