眾所周知,Zabbix監控的表面邏輯非常簡單,分為三個動作,采集數據(監控項),判斷采集的數據是否超過定義的閾值(觸發器),產生告警(郵件、短信等等)。當然這僅僅是表面,內部的一些函數判斷實際上很復雜,這些不是我們探討的重點。如果當你的監控設備種類繁多,監控指標復雜,那么只能通過自作模板實現你的監控工作。
正文
Zabbix監控項分為很多種,由于今天討論的焦點為網絡設備,自然而然選擇的為SNMP這種類型,相信大家對SNMP多多少少也有些了解,如果不理解的也沒關系,可以查找互聯網其他優質的文章也有介紹,或者等我下期文章也行。
監控項組成
- 名稱
- 鍵值
- 類型
- 信息類型
- 更新時間
制作過程思路
1.尋找監控項的OID
2.利用snmpwalk工具取值檢驗OID是否存在
3.制作監控項
制作前準備工作
1.如果出現下圖中的報錯,需要安裝net-snmp-utils,以CentOS 8為例
dnf -y install net-snmp-utils
2.開啟設備snmp配置(以華為為例,其他自查)
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read cipher Huawei@123
3.snmpwalk用法
snmpwalk用在Zabbix Server端,主要語法為(斜體為可變,根據自身環境修改):
snmpwalk -v 2c -c Huawei@123 10.0.0.10 OID
制作案例
案例主題為監控華為CE58系列交換機CPU利用率。
1.通過官網查詢其CPU相關OID或者下載相關mib用mib瀏覽器查看,推薦采用mib browser,mib文件可以在官網下載到或者找相關廠商要即可,下面是查詢到的相關OID,其實用到hwEntityCpuUsage就可以了,但是如果有框式設備就不一樣了,有些板卡上自帶CPU,文末我會放出框式設備的CPU利用率。
entPhysicalName 1.3.6.1.2.1.47.1.1.1.1.7
entPhysicalClass 1.3.6.1.2.1.47.1.1.1.1.5
hwEntityCpuUsage 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5
2.查詢各個OID所代表的的意思。
snmpwalk -v 2c -c huawei@123 10.240.255.10 1.3.6.1.2.1.47.1.1.1.1.7
可以看出為實體名稱。
snmpwalk -v 2c -c huawei@123 10.240.255.10 1.3.6.1.2.1.47.1.1.1.1.5
查詢的是物理實體的通用類型,不知道取值代表什么意思?看看下圖二

該OID詳解
snmpwalk -v 2c -c huawei@123 10.240.255.10 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5
查詢CPU利用率,字面理解
3.通過查詢對比分析。
首先查詢CPU利用率,只有一個值有數據,如下,但是由于通過獲取的結果無法看出是什么,只知道索引值為16842753的實體的CPU利用率為23%,所以需要進一步分析。
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.16842753 = INTEGER: 23
該OID介紹
查詢該實體名稱
通過下面命令得出結果為"CE5855-48T4S2Q-EI 1",這個就是實體名稱,盒式設備的CPU利用率一般是設備本身,所以可以理解為CE5885的CPU利用率的OID就是SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.16842753,如果是堆疊環境就存在兩個,另外一個就是"CE5855-48T4S2Q-EI 2"。
snmpwalk -v 2c -c huawei@123 10.240.255.10 1.3.6.1.2.1.47.1.1.1.1.7.16842753
得出結果
創建主機并測試

創建主機

修改團體字(讀或者寫)

創建監控項

寫完后,確定即可

查看最新數據正常,點擊圖形下一步

出圖正常
附錄
mib browser截圖

用mib browers查看mib文件
為什么需要查詢多個值關聯分析
以12804為例子,如下圖,可以發現框式設備多了很多CPU實體,由于每板卡一個CPU,所以如果不判斷哪個實體的CPU是你想要的,很容易出錯,這也是為什么需要去關聯分析,其次通過關聯分析引出的另外一個內容就是自動發現規則,如果每次都是如此去添加,就太過麻煩了,而且每個設備的索引值都有可能不一樣,所以這些變化比較大的,CPU、內存、接口等等都適合自動發現,在下一篇文章我會寫到。

得出的結果
常用的OID值

總結
如果對于SNMP的相關知識不理解的朋友更加需要自己測試,加深自己的理解,活學活用,如果要找一個端口的流量,應該先找到該端口的名稱主體索引,再查找流量值,mib的運用在后續的snmptrap我們還會碰到,其實這個內容的難點在于找MIB,找到mib需要花大量的時間去驗證OID是否合適,另外mib文件需要專用的軟件查看,最后還是得說一句,監控領域長路漫漫,絕非一朝一夕,大量的測試和驗證才是真理。
原文地址:https://www.toutiao.com/i6911592129131201032/