zabbix上添加交换机监控记事
第一次使用zabbix来添加监控华为s5720交换机,根本找不到头绪,像个无头的苍蝇一样的百度来处理,结果都没有任何效果,给自己增加了很多痛苦和心烦,增加不少的白发。
经过询问前任,才发现添加交换机监控的门道,为此我这边记录一下:
第一:先打开zabbix监控画面,选择菜单:configuration--templates,点击create template,并输入名字及属于的groups组,说明,点击update,如下:
第二:添加application(应用集)
第三:添加items(监控项)
在这里添加监控项时就要注意了,这里的key和snmp oid要根据相应的交换机来查询得到其值才能监控到
以uptime为例来说明,key和snmp oid怎么来的,找百度,根本没有什么用处,why?
这么多数据,我要找那个,根本就行不通,我要一个个去测试吗?那就麻烦了,头大了。why?
有办法,看我的操作,还是以uptime为例:
key和snmp oid对应的值为sysUpTimeInstance,这里要特别说明一下,我这边是华为s5700的交换机,上zabbix服务器来查询吧,let's go.
先说明一下snmpwalk命令的用法
snmpwalk命令格式
```
snmpwalk -v 版本号 -c 密钥 设备ip oid
如:snmpwalk -v 2c -c luxshare 10.98.18.10 system
这里2c为snmp v2版本,luxshare为交换机的snmp密钥,ip为需要查看的设备ip地址
system为设备的oid基本命令
```
再确定环境及操作
```
首先确认snmp软件是否安装,确定命令snmpwalk是否存在
# rpm -qa net-snmp net-snmp-libs net-snmp-utils
net-snmp-libs-5.7.2-43.el7.x86_64
net-snmp-utils-5.7.2-43.el7.x86_64
net-snmp-5.7.2-43.el7.x86_64
然后知道设备交换机对应的ip地址,我这里已知为10.98.18.10
先查询交换机的基本信息:
# snmpwalk -v2c -c luxshare-ict 10.98.18.10 system
SNMPv2-MIB::sysDescr.0 = STRING: S5720-28P-LI-AC
Huawei Versatile Routing Platform Software
VRP (R) software,Version 5.170 (S5720 V200R010C00SPC600)
Copyright (C) 2007 Huawei Technologies Co., Ltd.
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2011.2.23.402
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (65560044) 7 days, 14:06:40.44
SNMPv2-MIB::sysContact.0 = STRING: R&D Beijing, Huawei Technologies co.,Ltd.
SNMPv2-MIB::sysName.0 = STRING: ENS-A2_1F-INTERNET-S5720
SNMPv2-MIB::sysLocation.0 = STRING: Beijing China
SNMPv2-MIB::sysServices.0 = INTEGER: 78
其中sysUpTimeInstance = Timeticks: (65560044) 7 days, 14:06:40.44就是上面的
key和snmpoid
```
需要可以查询到相应的系统信息,但是其cpu,port,mem,fan等信息,如何查询 ,也在这个下面查询 ,我不知道其值,如何查,没关系的,从前面知道监控的设备为:华为s5720,到华为官网www.huawei.com去查询吧.
第一步:
第二步:找到“技术支持中心”
第三步:选择型号,我这里为s5700,点击查询
第四步:选择版本号
VRP (R) software,Version 5.170 (S5720 V200R010C00SPC600)
按图标示来选择
第五步:选择相应的mid参考
这里就可以实现查询cpu使用率,我到服务器测试一下
```
查询到交换机所有的端口对应的cpu使用率
[root@mnsv ~]# snmpwalk -v2c -c luxshare-ict 10.98.18.10 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67108867 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67108869 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67108873 = INTEGER: 11
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67125260 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67141644 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67158028 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67174412 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67190796 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67207180 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67223564 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67239948 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67256332 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67272716 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67289100 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67305484 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67321868 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67338252 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67354636 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67371020 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436622 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436686 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436750 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436814 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436878 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67436942 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437006 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437070 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437134 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437198 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437262 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437326 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437390 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437454 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437518 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437582 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437646 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437710 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437774 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437838 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437902 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67437966 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438030 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438094 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438158 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438222 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438286 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67438350 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.68157445 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.69206021 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.70254597 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.71303173 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.72351749 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.73400325 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.74448901 = INTEGER: 0
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.75497477 = INTEGER: 0
查询指定端口的cpu指定使用率
# snmpwalk -v2c -c luxshare-ict 10.98.18.10 enterprises.2011.5.25.31.1.1.1.1.5.67108873
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67108873 = INTEGER: 12
```
然后依次添加监控项device location,hostname,serial number,software version,sys description项
第四:添加discovery rules(自动发现规则)
添加cpu,mem,mode,port,power,status相应的自动监控项。
以其中一项为例:huawei_device_discovery_cpu为例:
其中key值:entPhysicalName_cpu 和snmp oid值:enterprises.2011.5.25.31.1.1.1.1.5.67108873
主要需要注意snmp oid值 一一定要要对,要不能抓取不到数据
```
# snmpwalk -v2c -c luxshare-ict 10.98.18.10 enterprises.2011.5.25.31.1.1.1.1.5.67108873
SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.67108873 = INTEGER: 11
```
针对cpu自动发现的监控项
针对cpu自动发现的触发器
第五:模板做完了,最终效果如下 :
并把模板添加到hosts中去(configuration--hosts)
第六:查看实时数据
monitoring--latest data
第七步:在grafana中去查看监控的数据
至此完成
说明:
事后,觉得很简单,主要是因为snmp 的原理了解的不是很深,下一步需要加强对snmp的了解。