赞
踩
最近在做接入层交换机端口的监控时,发现通过zabbix的SNMP直接发现端口时是没有办法直接提取up状态的端口的,而且接入层的交换机端口状态会经常变化,采用固定的端口筛选操作量会很大,这要求我们能够自动发现up状态的端口做监控。
查询官方文档发现,SNMP的取值方式是可以相互组合了,这就为实施提供了基础:
参考连接
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: WAN
IF-MIB::ifDescr.2 = STRING: LAN1
IF-MIB::ifDescr.3 = STRING: LAN2
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e
# 结果信息
[
{
"{#SNMPINDEX}": "1",
"{#IFDESCR}": "WAN",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
},
{
"{#SNMPINDEX}": "2",
"{#IFDESCR}": "LAN1",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
},
{
"{#SNMPINDEX}": "3",
"{#IFDESCR}": "LAN2",
"{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
}
]
SNMP 获取交换机的端口标识以及端口状态(H3C为例):
# snmpwalk -v2c -c Dongcai123 10.195.250.34 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: Twenty-FiveGigE1/0/1
IF-MIB::ifDescr.2 = STRING: Twenty-FiveGigE1/0/2
IF-MIB::ifDescr.3 = STRING: Twenty-FiveGigE1/0/3
IF-MIB::ifDescr.4 = STRING: Twenty-FiveGigE1/0/4
# snmpwalk -v2c -c Dongcai123 10.195.250.34 IF-MIB::ifOperStatus
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.3 = INTEGER: up(1)
IF-MIB::ifOperStatus.4 = INTEGER: up(1)
组合形式:
SNMP OID :discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8]
状态过滤:{#IFOPERSTATUS} matches 1
注意状态值是过滤1 而不是up 或是up(1) 这里是一个巨坑
该DISCOVERY rules 适用于高版本的zabbixserver,原来老的版本的2.4 是不支持的,这里也是一个坑。
实测真是有效,熬肝干了一个下午,中午搞定!!!
后续就可以快了的准备做监控指标了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。