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



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