运维监控篇(4)_Zabbix SNMP设备监控

支持SNMP协议的设备有很多,比如交换机、Linux服务器、打印机等大部分的网络设备(联网的设备)。运维监控中最常见的就是交换机了(Linux服务器采用Agent的方式监控),zabbix中监控SNMP设备可以这样整(以交换机为例)。

1、首先添加SNMP设备,这里主要是交换机,zabbix添加监控主机的方法很多,这里手动添加(zabbix使用SNMP监控,zabbix-server编译的时候得加上–with-net-snmp)。

zabbix04a
zabbix04b
zabbix04c

2、用snmpwalk和snmpget命令获取SNMP的相关信息(该命令在net-snmp安装包中)

[root@Zabbix-Server ~]# snmpwalk -v 2c -c public 192.168.1.1
SNMPv2-MIB::sysDescr.0 = STRING: H3C Comware Platform Software
Comware software, Version 3.10, Release 1702P42
H3C S3600-28TP-SI Product Version S3600-SI-1702P42

Copyright(c) 2004-2012 Hangzhou H3C Tech. Co.,Ltd. All rights reserved.

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.25506.1.34
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1651770809) 191 days, 4:15:08.09
SNMPv2-MIB::sysContact.0 = STRING: Hangzhou H3C Technologies Co., Ltd.
SNMPv2-MIB::sysName.0 = STRING: 3600-SW
SNMPv2-MIB::sysLocation.0 = STRING: Hangzhou China
SNMPv2-MIB::sysServices.0 = INTEGER: 78
IF-MIB::ifNumber.0 = INTEGER: 38
IF-MIB::ifIndex.14 = INTEGER: 14
IF-MIB::ifIndex.16 = INTEGER: 16
IF-MIB::ifIndex.31 = INTEGER: 31
IF-MIB::ifIndex.39 = INTEGER: 39
IF-MIB::ifIndex.47 = INTEGER: 47
IF-MIB::ifIndex.55 = INTEGER: 55
IF-MIB::ifIndex.63 = INTEGER: 63
IF-MIB::ifIndex.87 = INTEGER: 87
IF-MIB::ifIndex.103 = INTEGER: 103
IF-MIB::ifIndex.4227614 = INTEGER: 4227614
IF-MIB::ifIndex.4227626 = INTEGER: 4227626
IF-MIB::ifIndex.4227634 = INTEGER: 4227634
IF-MIB::ifIndex.4227642 = INTEGER: 4227642
。。。。。。。。还有非常多的信息可以重定向到一个文本便于查找相关信息。。。。。。
。。。。。。。。一般的设备将SNMP打开后默认的组是public也有可能例外需要注意。。。。。。

3、获取监控项最关键的值OID(对象标识符,通过OID取读取设备对应的状态)

从上面的信息中可以找到端口流入和流出流量(实际记录的是历史流量总和,是个累计值)的相关字段

IF-MIB::ifInOctets.4227674 = Counter32: 2448663618
IF-MIB::ifOutOctets.4227674 = Counter32: 987463784859

根据IF-MIB::ifInOctets、IF-MIB::ifOutOctets可以获取到对应端口422674的流入流量和流出流量的OID

[root@Zabbix-Server ~]# snmpget -v 2c -c public -On 192.168.1.1 IF-MIB::ifInOctets.4227674
.1.3.6.1.2.1.2.2.1.10.4227674 = Counter32: 2450680039
其中的1.3.6.1.2.1.2.2.1.10.4227674为该端口流入流量的OID,这个OID是监控该端口流入速率的关键。

[root@Zabbix-Server ~]# snmpget -v 2c -c public -On 192.168.1.1 IF-MIB::ifOutOctets.4227674
.1.3.6.1.2.1.2.2.1.16.4227674 = Counter32: 116377917
其中的1.3.6.1.2.1.2.2.1.16.4227674为该端口流出流量的OID,这个OID是监控该端口流出速率的关键

端口422674对应的端口名称可以在第一个命令(snmpwalk -v 2c -c public 192.168.1.1)的输出内容中找到

IF-MIB::ifDescr.4227626 = STRING: Ethernet1/0/1
IF-MIB::ifDescr.4227634 = STRING: Ethernet1/0/2
IF-MIB::ifDescr.4227642 = STRING: Ethernet1/0/3

貌似有捷径可以走,当获取到任意端口的OID,如:1.3.6.1.2.1.2.2.1.16.4227674。更改该OID的倒数第二个字段,当倒数第二个字段为10时表示流入流量,为16时为流出流量。改成2可以得到所有端口的名称和对应的OID,如下(这样就不用一个一个端口的查OID了)。

[root@Zabbix-Server ~]# snmpwalk -v 2c -c public -On 192.168.1.1 1.3.6.1.2.1.2.2.1.2
.1.3.6.1.2.1.2.2.1.2.14 = STRING: NULL0
.1.3.6.1.2.1.2.2.1.2.16 = STRING: InLoopBack0
.1.3.6.1.2.1.2.2.1.2.31 = STRING: Vlan-interface1
.1.3.6.1.2.1.2.2.1.2.39 = STRING: Vlan-interface2
.1.3.6.1.2.1.2.2.1.2.47 = STRING: Vlan-interface3
.1.3.6.1.2.1.2.2.1.2.55 = STRING: Vlan-interface4
.1.3.6.1.2.1.2.2.1.2.63 = STRING: Vlan-interface5
.1.3.6.1.2.1.2.2.1.2.87 = STRING: Vlan-interface8
.1.3.6.1.2.1.2.2.1.2.103 = STRING: Vlan-interface10
.1.3.6.1.2.1.2.2.1.2.4227614 = STRING: Aux1/0/0
.1.3.6.1.2.1.2.2.1.2.4227626 = STRING: Ethernet1/0/1
.1.3.6.1.2.1.2.2.1.2.4227634 = STRING: Ethernet1/0/2
.1.3.6.1.2.1.2.2.1.2.4227642 = STRING: Ethernet1/0/3
.1.3.6.1.2.1.2.2.1.2.4227650 = STRING: Ethernet1/0/4
... ... ...
.1.3.6.1.2.1.2.2.1.2.4228065 = STRING: GigabitEthernet1/1/4
[root@Zabbix-Server ~]#
OID最后的字段貌似是端口(交换机自身设备部件)的唯一标识。而倒数第二个字段2、10、16神马的是表示该端口(自身设备部件)的不同状态如设备名、流入流量、流出流量。

4、万事俱备就可以创建监控项了item

端口流入速率
zabbix04d

zabbix04e

由于获取的是流量累计值,故选择“差量(速率每秒)”
zabbix04f

流出仅仅就键值和OID不同,当然名称也不同咯!
zabbix04g

SNMP设备其它监控数据如:内存、CPU利用率、温度等设备支持的数据监控添加方式类同。

转载请注明出处:http://www.xiaomastack.com/2014/10/10/zabbix04/ 谢谢!

4 Comments

 Add your comment
  1. 特地注册个账号,来评论。
    你这系列文章写得太好了。
    在网上搜了挺多资料,就你这篇看得明白的。
    谢谢

  2. 客气了!

  3. 有没有办法监控端口的实时流量的?

  4. zabbix使用snmp采集端口的流量,而snmp采集到的端口流量是当时历史流量累积和,速度是重两次或多次的平均值来计算的,实时监控貌似很难实现吧。

发表评论:

你的电子邮件地址将不会被公开.

47 ÷ = 47

1 Trackback

  1. 自动化运维监控篇(5)_Zabbix Item监控对象浅析 | 小马 (Pingback)