前言

笔者之前一直用zabbix监控服务器的各项状态,最近老板交待一项新工作,监控类似交换机、路由器之类的网络设备的接口流量。老板的要求就是职工的需求,立即开始监控准备工作。为了统一管理,决定还是使用zabbix来监控网络设备,但网络设备和服务器的监控方法有所不同。下面请大家跟着笔者一起一步一步来完成我们的小目标吧。

实现思路

监控的目标是类似交换机这样的设备,所以不能使用zabbix提供的客户端来获取目标设备的数据。另一种解决方案是使用SNMP(简单网络管理协议),它是TCP/IP协议族中的其中一个协议,其主要作用就是监控设备的各项指数并进行反馈。现在的可配置式网络设备基本都支持该协议,同时zabbix自身对SNMP的支持也是相当强悍。

本文以华为交换机为例,其它品牌的交换机或路由器实现思路都是一致的,只是使用的命令有所不同。具体实现方式如下:

配置交换机,启用交换机的SNMP开关,并设置相应参数(后续章节会详细介绍)

配置zabbix前端,核心是配置自动发现功能,使其到指定交换机获取我们需要的数据。

交换机配置

#在交换机上开启SNMP协议
snmp-agent
#交换机自动生成
snmp-agent local-engineid 800007DB03002EC70FD1DB
#交换机的团体名,必须配置,zabbix监控时需要设置此团体名,read代表只读权限,cipher表示给团体名加密,不让其以明文显示
snmp-agent community read cipher %^%#0&LM-]|MNHs;2(0-EZW~Lo'3SO*{(D>.l5L]|oC:f0Q@(}]L"IeB.x6t,r&OMsHi$fbKp3@%[1>Y!*1@%^%#
#SNMP协议的版本分为v1,v2c,v3,其中v3最为安全,all的意思是让交换机支持所有版本
snmp-agent sys-info version all
#交换机开放的端口号,使用udp协议,端口号为10050
snmp-agent udp-port 10050

交换机的配置就这么几步就可以了,接下来我们配置zabbix。

zabbix配置

配置全部在zabbix前端进行,我们对关键配置进行说明

配置“自动发现网络接口”

image.png

新建一个模板(全部默认设置即可),点击标签栏上的“自动发现规则”。

image.png

默认自动发现规则是空的,截图中是我之前自己创建的规则,点击“创建发现规则”。

image.png

名称:可以自定义

类型:和交换机的配置有关,本例中,我们选择SNMPV2.

键值:输入ifDescr(注:端口描述)

SNMP OID:对象标识符,在SNMP中,每一个需要监控的资源都被看作一个对象,比如交换机某一端口的入(in)流量。因为交换机肯定不止一个端口,要想表达自动发现所有端口,在zabbix中需要用到一种特殊的语法。

discovery[{#IFDESCR},IF-MIB::ifDescr]

discovery表示“发现设备”

[]表示在里面的内容是可循环获取的,比如交换机有24个口,就会循环获取24次

{#IFDESCR},IF-MIB::ifDescr,获取交换机端口的q名称信息

SNMP community:在交换机上配置的团体名

端口:从交换机上获取SNMP信息的端口,默认为161,本例中为10050

其它采用默认设置即可,每30秒获取一次交换机信息

获取了监控目标的端口信息,接下来需要设置具体监控项,本例中需要监控目标端口的入流量和出流量。

点击“监控项原型”。

image.png

再点击“创建监控项原型”进入配置界面

image.png

首先设置入流量监控原型

名称:$1是一个变量,表示获取的端口名称

类型:同上

键值:ifInOctets[{#IFDESCR}],唯一值,这里就是名称变量出处

SNMP OID:获取每一个端口的入流量,SNMPINDEX是每个端口的索引号

储存值:一定要选择差量(简单变化),意思是每次从交换机获取的流量都是真实的流量,这和监控服务器网卡数据不一样。

其它采用默认设置即可。

接下来设置出流量监控原型

image.png

除了键值和SNMP OID不一样,其它和入流量配置相同。

添加交换机

image.png

点击菜单栏“主机”,再点击“创建主机”按钮

image.png

主机名称填写交换机的IP地址

可见的名称可以自定义,方便管理

SNMP接口需要设置交换机IP及端口,本例中是10050,设置完成后点击“模板”

image.png

这是一步关键操作,需要添加前面我们设置好的模板,模板名我取的是switchRouter。

如果一切顺利,添加好模板后,很快你就可以看到监控项自动生成了许多数据。

image.png

这些数据都是根据模板的配置自动生成的。

最后我们需要添加图形

image.png

这里我只设置了3幅图形,一幅图监控一个端口。

点击“创建图形”,进入配置界面

image.png

名称需要取一个自定义名称,其它采用默认即可,主要是对监控项进行设置,点击“添加”

image.png

里面的监控项就是前面我们自动获取的端口信息,想监控哪个端口勾选即可。

到这里,我们对交换机入流量和出流量的监控工作已经完成了。zabbix是一款非常强大的运维工作,它的自定义监控项以及自定义触发报警机制能够帮助运维人员快速而主动的发现问题。作为一个运维人员,我们应该掌握zabbix的使用方法。如果大家在配置过程中有什么疑问,欢迎留言,我们一起探讨交流。