zabbix-snmp那些不得不說的事兒


zabbix採用snmp的方式進行監控:

snmpwalk -v 2c -c public 10.108.14.16 .1.3.6.1.4.1.9

snmpwalk -v 2c -c supersafe 10.108.14.16 SNMPv2-SMI::enterprises.2011.5
前面提到的.1.3.6.1.4.1這個前綴也可以寫成enterprises,
如果不知道什麼類型,也可以不指定,這樣所有系統信息都獲取到,然後在篩選希望得到的信息
snmpwalk -v 2c -c supersafe  10.108.14.16
例如可以使用過濾找出希望得到的數值
snmpwalk -v 2c -c supersafe 10.34.96.245  | grep Aruba
eg:
snmpwalk -v 2c -c supersafe 10.34.96.245 SNMPv2-MIB::sysDescr.0 | grep Aruba
snmpwalk -v 2c -c public 10.78.153.180
eg:
zabbix獲取開機時間:

snmpwalk -v 2c -c supersafe  10.108.14.16 SNMPv2-MIB::sysUpTime.0


net.if.out.discards[ifOutDiscards.42]
snmpwalk -v 2c -c supersafe  10.108.14.16 SNMPv2-SMI::enterprises.2011.5

[root@ansible-db ~]# snmpwalk -v 2c -c supersafe  10.108.14.16 1.3
SNMPv2-MIB::sysDescr.0 = STRING: S2700-52P-EI-AC
Huawei Versatile Routing Platform Software
VRP (R) software,Version 5.70 (S2700 V100R006C05)
Copyright (C) 2003-2013 Huawei Technologies Co., Ltd.
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2011.2.23.119  (2011代表是華爲的設備
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (213593947) 24 days, 17:18:59.47
SNMPv2-MIB::sysContact.0 = STRING: R&D Beijing, Huawei Technologies co.,Ltd.
SNMPv2-MIB::sysName.0 = STRING: 571R-MDC1-6F-S2752P-05-10.108.14.16
SNMPv2-MIB::sysLocation.0 = STRING: Beijing China
SNMPv2-MIB::sysServices.0 = INTEGER: 7

交換機的snmp資源數量(華爲的是有8113個)
[root@ansible-db ~]# snmpwalk -v 2c -c supersafe 10.108.14.16 | wc -l
8113


關於zabbix模板配置案例:
1、核心端口自動發現switch interfaces(配置模板)
創建監控項原型(接口狀態變化,接口當前狀態),創建觸發器原型,

2、基礎snmp獲取模板snmp-general
SNMPv2-MIB::sysName.0
SNMPv2-MIB::sysService.0
SNMPv2-MIB::sysLocation.0
SNMPv2-MIB::sysDescr.0
SNMPv2-MIB::sysObjectID.0
SNMPv2-MIB::sysUpTime.0

3、基礎ping的模板(簡單檢查)ICMP-HOST
該層和上層的檢查
ICMP_HOST_IP;ICMP_UPLINK_IP
icmppingsec[{HOST.IP},{$SF_ICMP_PACKET_NUM},{$SF_ICMP_TIMEOUT},avg]


TIPS:基礎分塊之後把基礎模板組合之後就是一個大的產品型號的監控


snmp的oid查看軟件getif:

https://www.itcodemonkey.com/article/918.html

如同示波器一般的GUI界面

image.png

2.切換到Interfaces , 按下Start . 可以取得該設備的所有接口資料.

image.png

3、切換到MBrowser 頁面,準備取得相關MIB 資訊.

image.png

4、Ip discovery: 測試IP區段的可達性.


snmp資源介紹:

ifAlias接口的描述
[root@ansible-db ~]# snmpwalk -v 2c -c supersafe 10.108.14.16  1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: InLoopBack0
IF-MIB::ifDescr.2 = STRING: NULL0
IF-MIB::ifDescr.4 = STRING: Vlanif1
IF-MIB::ifDescr.5 = STRING: Ethernet0/0/1
IF-MIB::ifDescr.6 = STRING: Ethernet0/0/2
IF-MIB::ifDescr.7 = STRING: Ethernet0/0/3
IF-MIB::ifDescr.8 = STRING: Ethernet0/0/4
IF-MIB::ifDescr.9 = STRING: Ethernet0/0/5
IF-MIB::ifDescr.10 = STRING: Ethernet0/0/6
IF-MIB::ifDescr.11 = STRING: Ethernet0/0/7

ifOperStatus:接口的描述和接口的狀態
[root@ansible-db ~]# snmpwalk -v 2c -c supersafe  10.108.14.16 1.3.6.1.2.1.2.2.1.8
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.4 = INTEGER: down(2)
IF-MIB::ifOperStatus.5 = INTEGER: up(1)
IF-MIB::ifOperStatus.6 = INTEGER: up(1)
IF-MIB::ifOperStatus.7 = INTEGER: up(1)
IF-MIB::ifOperStatus.8 = INTEGER: up(1)
IF-MIB::ifOperStatus.9 = INTEGER: down(2)

ifAdminStatus是指配置狀態。ifOperStatus是指實際工作狀態。
配置狀態就是你配置這個端口是什麼狀態,比如是“up” or “down”。
例如:你配置端口的狀態是“up”,ifAdminStatus是“up”
但是如果這個端口沒有插線,那麼ifOperStatus是“down”


華爲設備監控:

image.png

華爲交換機的MIB資源覈對,查看
https://support.huawei.com/enterprise/zh/doc/EDOC1100066226/fe6c7295

image.png

結合文檔和getif軟件獲取的數值進行對比



監控 H3C的中低端交換機 :

儘管我們可以snmpwalk H3C的私有MIB,我們可以得到其 OID, 但是沒有MIB,

因此不知道Description,也就不知道其OID的功能。因此我們只能用逆向的方法,

採用disp命令得到一些管理信息,然後用比較和猜的方法,找出一些我們需要的OID。 

CPU的OID(S7500等有效) 

1.3.6.1.4.1.2011.6.1.1.1.2 5sCPU的利用率 

SNMPv2-SMI::enterprises.2011.6.1.1.1.2.0 = Gauge32: 14 (board 0 cpu) 

SNMPv2-SMI::enterprises.2011.6.1.1.1.2.n                          (Board n cpu) 

1.3.6.1.4.1.2011.6.1.1.1.3 1分鐘CPU的利用率 

SNMPv2-SMI::enterprises.2011.6.1.1.1.3.0 = Gauge32: 14 (board 0 cpu) 

SNMPv2-SMI::enterprises.2011.6.1.1.1.3.n                          (Board n cpu) 

1.3.6.1.4.1.2011.6.1.1.1.4 5分鐘CPU的利用率 

SNMPv2-SMI::enterprises.2011.6.1.1.1.4.0 = Gauge32: 14 (board 0 cpu) 

SNMPv2-SMI::enterprises.2011.6.1.1.1.4.n                           (board n cpu) 

S5100,S3600,S3100交換機的CPU利用率 

5s,1分鐘,5分鐘分別是: 

1.3.6.1.4.1.2011.6.1.1.1.2.65536 

1.3.6.1.4.1.2011.6.1.1.1.3.65536 

1.3.6.1.4.1.2011.6.1.1.1.4.65536 

Comment:似乎CPU的OID是確定的。 

Memory 的OID 

內存總數 

1.3.6.1.4.1.2011.6.1.2.1.1.2.65536 

SNMPv2-SMI::enterprises.2011.6.1.2.1.1.2.65536 = Gauge32: 32579712 

適用於:S5100-EI,S3600-SI,S3600-EI,S3100 

空閒內存 

1.3.6.1.4.1.2011.6.1.2.1.1.3.65536 

SNMPv2-SMI::enterprises.2011.6.1.2.1.1.3.65536 = Gauge32: 23360912 

適用於:S5100-EI,S3600-SI,S3600-EI,S3100 

內存利用率的OID 

S5100 1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8.18 

SNMPv2-SMI::enterprises.2011.10.2.6.1.1.1.1.8.18 = INTEGER: 28 

S3600 1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8.13 

SNMPv2-SMI::enterprises.2011.10.2.6.1.1.1.1.8.13 = INTEGER: 49 

S3100 1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8.10 

SNMPv2-SMI::enterprises.2011.10.2.6.1.1.1.1.8.10 = INTEGER: 22 

溫度 (S7502)的OID 

h3cEntityExtTemperature 

.1.3.6.1.4.1.2011.10.2.6.1.1.1.1.12.14 

SNMPv2-SMI::enterprises.2011.10.2.6.1.1.1.1.12.14 = INTEGER: 34


zabbix自動創建監控項

zabbix的自動發現包括髮現主機和發現監控項/觸發器/圖形功能
eg:IF-MIB::ifAlias.{#SNMPINDEX}

【SNMP OID】: 這是一個函數discover(param1, param2). 參數2(這裏我設置的是laNames也就是cpu load average的名稱)是你想要自動發現的snmp object id. 參數1({#SNMPVALUE})是你用來存儲這些值的變量。另外有個隱藏變量{#SNMPINDEX}。如圖

image.png

後面laNames 的MIB鍵值會存儲在變量 `{#SNMPVALUE}`` 中
這兩個變量會在後面 【監控項原型】中使用到。
隱藏變量{#SNMPINDEX}
關於自動創建監控項:

https://www.cnblogs.com/dapianzi/p/7133760.html

 紅色的屬於自動發現的接口設置:

image.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章