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
地址信息。
留言