1.交换机开启snmp协议
2.安装mrtg
yum -y install mrtg
3.配置mrtg
(1)创建配置文件,若有多个交换机,可对每个交换机创建相应的配置文件
mkdir -p /usr/local/mrtg
cfgmaker -output=/usr/local/mrtg/switch.cfg [email protected]交换机IP
此时生成的switchw.cfg配置文件,记录着所监控交换机的型号,所有正在使用的端口,vlan,当前的速率等信息。
这点需要赞一下,不用我们挨个配置了。
(2)创建访问时流量图的web目录
mkdir -p /usr/local/mrtg/share
(3)修改第一步生成的配置文件,将工作目录指向所设置的web目录
vim /usr/local/mrtg/switch.cfg
# for UNIX
WorkDir: /usr/local/mrtg/share
(4)在工作目录下生成流量图
env LANG=C /usr/bin/mrtg /usr/local/mrtg/switch.cfg
执行完后,会有告警提示,我们需多次执行,直至无报警信息为之,一般执行3次即可
[[email protected] share]# ls
10.10.15.1_1794-day.png 10.10.15.1_1795.log 10.10.15.1_1796.old 10.10.15.1_257-year.png 10.10.15.1_513.html 10.10.15.1_514-month.png 10.10.15.1_515-week.png index.html
10.10.15.1_1794.html 10.10.15.1_1795-month.png 10.10.15.1_1796-week.png 10.10.15.1_258-day.png 10.10.15.1_513.log 10.10.15.1_514.old 10.10.15.1_515-year.png mrtg-l.png
10.10.15.1_1794.log 10.10.15.1_1795.old 10.10.15.1_1796-year.png 10.10.15.1_258.html 10.10.15.1_513-month.png 10.10.15.1_514-week.png 10.10.15.1-day.png mrtg-m.png
10.10.15.1_1794-month.png 10.10.15.1_1795-week.png 10.10.15.1_257-day.png 10.10.15.1_258.log 10.10.15.1_513.old 10.10.15.1_514-year.png 10.10.15.1.html mrtg-r.png
10.10.15.1_1794.old 10.10.15.1_1795-year.png 10.10.15.1_257.html 10.10.15.1_258-month.png 10.10.15.1_513-week.png 10.10.15.1_515-day.png 10.10.15.1.log
10.10.15.1_1794-week.png 10.10.15.1_1796-day.png 10.10.15.1_257.log 10.10.15.1_258.old 10.10.15.1_513-year.png 10.10.15.1_515.html 10.10.15.1-month.png
10.10.15.1_1794-year.png 10.10.15.1_1796.html 10.10.15.1_257-month.png 10.10.15.1_258-week.png 10.10.15.1_514-day.png 10.10.15.1_515.log 10.10.15.1.old
10.10.15.1_1795-day.png 10.10.15.1_1796.log 10.10.15.1_257.old 10.10.15.1_258-year.png 10.10.15.1_514.html 10.10.15.1_515-month.png 10.10.15.1-week.png
10.10.15.1_1795.html 10.10.15.1_1796-month.png 10.10.15.1_257-week.png 10.10.15.1_513-day.png 10.10.15.1_514.log 10.10.15.1_515.old 10.10.15.1-year.png
(5)由于我们需要实时监控,因此我们需要设置计划任务,以满足我们的需求,在此设置每5分钟更新一次
vim /etc/crontab
*/5 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /usr/local/mrtg/switch.cfg >> /dev/null >2&1
(6)生成汇总首页index.html
indexmaker -output=/usr/local/mrtg/share/index.html -title="MainSwitch Traffic Monitoring" /usr/local/mrtg/switch.cfg
4.配置apache,使其能够web访问
yum安装完成后会在apache上生成配置文件/etc/httpd/conf.d/mrtg.conf,配置如下:
[[email protected] mrtg]# cat /etc/httpd/conf.d/mrtg.conf
#
# This configuration file maps the mrtg output (generated daily)
# into the URL space. By default these results are only accessible
# from the local host.
#
Alias /mrtg /usr/local/mrtg/share
<Location /mrtg>
Order deny,allow
# Deny from all
Allow from all
Allow from 127.0.0.1
Allow from ::1
# Allow from .example.com
</Location>
我们可以通过http://ip/mrtg访问了,效果如下:
通过以上我们就可以实时查看交换机的流量信息了,但是我们要想实现流量监控报警,我们就需要nagios读取mrtg监控的流量信息来实现了
在新版的nagios中,有check_mrtg和check_mrtgtraf这两个插件,并且相关参数已经配置好了,我们可以直接调用。
1.首先我们要定义交换机和监控服务
我们可以直接修改/usr/local/nagios/etc/switch.cfg这个文件
vim /usr/local/nagios/etc/switch.cfg
define host{
use generic-switch ; Inherit default values from a template
host_name huawei-ER-3100 ; The name we‘re giving to this switch
alias huawei-ER-3100 ; A longer name associated with the switch
address 10.10.15.1 ; IP address of the switch
hostgroups switches ; Host groups this switch is associated with
}
define service{
use generic-service ; Inherit values from a template
host_name huawei-ER-3100
service_description Interface 1794 Bandwidth Usage
check_command check_local_mrtgtraf!/usr/local/mrtg/share/10.10.15.1_1794.log!AVG!1000000,1000000!5000000,5000000!10
}
其中10.10.15.1_1794.log的1794表示交换机的1794端口,我们可以根据mrtg监测的有效信息进行配置。
"AVG"参数的意思是取带宽的统计平均值,"1000000,1000000"参数是指流入的告警门限 (以字节为单位),"5000000,5000000"是输出流量紧急状态门限(以字节为单位),"10"是指如果MRTG日志如果超过10分钟没有数据 返回一个紧急状态(应该每5分钟更新一次)
2.检查nagios配置文件并重启
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart