IF-MIB
if-mib:用于描述网络通用的接口属性
全局节点
ifNumber:接口数目
IF-MIB:ifNumber.0 = INTEGER: 265
snmpwalk -v2c -c xxx x.x.x.x ifnumber
snmpwalk -v2c -cxxx x.x.x.x ifdescr | wc -l
这两个命令获取的数值是一致的,证明vlan接口也算上去吧。
表节点(ifTable)
ifTable:该表用来实现通过接口索引获取接口信息功能。
该表的索引节点是ifindex
-
ifIndex:接口索引
IF-MIB::ifIndex.650 = INTEGER: 650返回的数据类型是整数 -
ifDescr:接口描述
IF-MIB::ifDescr.650 = STRING: GigabitEthernet1/2/2/1返回的是包含接口信息的字符串 -
ifType:接口类型 -
ifMtu:接口mtu -
ifSpeed:接口speed(接口当前带宽)
100000000是100Mb
1000000000是1000Mb -
ifPhysAddress:接口物理地址
IF-MIB::ifPhysAddress.331 = STRING: b4:d7:db:76:88:c3 -
ifAdminStatus:接口默认状态
IF-MIB::ifAdminStatus.110 = INTEGER: up(1)
IF-MIB::ifAdminStatus.111 = INTEGER: down(2) -
ifOperStatus:接口运行状态
IF-MIB::ifOperStatus.110 = INTEGER: up(1)
IF-MIB::ifOperStatus.111 = INTEGER: down(2) -
ifLastChange:接口进入当前运行状态的时间
IF-MIB::ifLastChange.520 = Timeticks: (1878305801) 217 days, 9:30:58.01 -
ifInOctets:入方向报文统计 -
ifInUcastPkts:入方向单播报文统计 -
ifInNUcastPkts:入方向非单播报文统计 -
ifInDiscards:入方向丢包统计 -
ifInErrors:入方向错包统计 -
ifInUnknownProtos:入方向未知协议报文统计 -
ifOutOctets:出方向报文统计 -
ifOutUcastPkts:出方向单播报文统计 -
ifOutNUcastPkts:出方向非单播报文统计 -
ifOutDiscards:出方向丢包统计 -
ifOutErrors:出方向错包统计
表节点(ifXTable)
ifXTable:该表用来实现通过接口名字获取接口信息功能。
该表的索引节点是ifName
-
ifName:接口名字。返回结果和ifDescr一致。 -
ifInMulticastPkts:入方向多播报文统计 -
ifInBroadcastPkts:入方向广播报文统计 -
ifOutMulticastPkts:出方向多播报文统计 -
ifOutBroadcastPkts:出方向广播报文统计 -
ifHCInOctets:入方向报文统计(64位,存的数字更大) -
ifHCInUcastPkts:入方向单播报文统计(64位) -
ifHCInMulticastPkts:入方向多播报文统计(64位) -
ifHCInBroadcastPkts:入方向广播报文统计(64位) -
ifHCOutOctets:出方向报文统计(64位,存的数字更大) -
ifHCOutUcastPkts:出方向单播报文统计(64位) -
ifHCOutMulticastPkts:出方向多播报文统计(64位) -
ifHCOutBroadcastPkts:出方向广播报文统计(64位) -
ifLinkUpDownTrapEnable:接口状态变化告警开关
IF-MIB::ifLinkUpDownTrapEnable.109 = INTEGER: enabled(1) -
ifHighSpeed:接口当前带宽(单位Mb)
IF-MIB::ifHighSpeed.128 = Gauge32: 10000
IF-MIB::ifHighSpeed.325 = Gauge32: 1000 -
ifAlias:接口别名(就是接口的描述,不支持中文,中文显示...)
告警信息
linkDown触发原因
当担任代理角色的SNMPv2实体检测到其某一通信链路的ifOperStatus变量的状态值从其它值变为了down时,系统生成此告警。
linkUp触发原因
当担任代理角色的SNMPv2实体检测到其某一通信链路的ifOperStatus变量的状态值从down变为了其它值时,系统生成此告警。
EtherLike-MIB
用来实现以太接口基本信息的获取,诊断信息收集以及配置系统工作模式的功能。
表节点详细描述:dot3StatsTable
dot3StatsDuplexStatus:当前的双工模式
unknown(1),halfDuplex(2),fullDuplex(3)
ipNetToMediaTable
该表为IPv4地址转换表,用以将IPv4地址映射为物理地址。
该表的索引节点是ipNetToMediaIfIndex、ipNetToMediaNetAddress
-
ipNetToMediaIfIndex:返回接口索引
IP-MIB::ipNetToMediaIfIndex.17415.10.144.103.2 = INTEGER: 17415 -
ipNetToMediaPhysAddress:返回对应的物理地址(mac地址)
IP-MIB::ipNetToMediaPhysAddress.17415.10.144.103.2 = STRING: 34:ce:0:6f:7b:c8 -
ipNetToMediaNetAddress:返回ip地址
IP-MIB::ipNetToMediaNetAddress.17415.10.144.103.2 = IpAddress: 10.144.103.2 -
ipNetToMediaType:arp映射类型
other(1),invalid(2),dynamic(3),static(4)
一些例子
查询半双工的接口
snmpwalk -v2c -c xxx x.x.x.x duplexstatus | grep half
EtherLike-MIB::dot3StatsDuplexStatus.66 = INTEGER: halfDuplex(2)
EtherLike-MIB::dot3StatsDuplexStatus.76 = INTEGER: halfDuplex(2)
# 根据索引查询接口名字
snmpwalk -v2c -c xxx x.x.x.x ifdescr | egrep "\<66\>|\<76\>"
IF-MIB::ifDescr.66 = STRING: GigabitEthernet3/0/12
IF-MIB::ifDescr.76 = STRING: GigabitEthernet3/0/22
查询当前速率是100Mb的接口
snmpwalk -v2c -c xxx x.x.x.x ifhighspeed | grep "\<100\>"
IF-MIB::ifHighSpeed.7 = Gauge32: 100
IF-MIB::ifHighSpeed.55 = Gauge32: 100
IF-MIB::ifHighSpeed.56 = Gauge32: 100
通过arp表项的ip地址获取对应的接口
snmpwalk -v2c -c xxx x.x.x.x ifDescr.$(snmpwalk -v2c -c xxx x.x.x.x ipNetToMediaIfIndex | grep 192.168.1.1 | awk '{print $NF}')
IF-MIB::ifDescr.17417 = STRING: GigabitEthernet0/0.4090
zabbix配置自动发现规则获取接口arp表项
- 自动发现规则配置

{$INDEX}为宏变量,对应接口的ifIndex值(即接口索引)
discovery[{#SNMPVALUE},ipNetToMediaPhysAddress.{$INDEX}]的意思是:
通过接口索引获取到该接口下的arp表项,
arp表项的ip地址依次填入{#SNMPINDEX}中;
arp表项的mac地址依次填入{#SNMPVALUE}中。
测试获取值为:
[{"{#SNMPINDEX}":"10.144.103.2","{#SNMPVALUE}":"34:ce:0:6f:7b:c8"}]
- 监控项原型配置

ipNetToMediaPhysAddress.{$INDEX}.{#SNMPINDEX}
通过上面snmp oid即可获取到对应的mac地址信息。
留言