Linux下用mrtg监控网络设备端口流量
被监控设备必须支持snmp协议,因为mrtg就是通过snmp协议来获取该设备的端口流量信息。如何在一个网络设备上启用snmp协议呢?
在配置模式下执行如下命令:
- 3550(config)#snmp-server community public ro
启用snmp协议。启用后才能使用mrtg进行监控。
我中心用一台linux服务器监控三台网络设备的流量,其服务器地址为10.66.100.100/16,三台交换机的任一VLAN地址分别为192.168.3.253,172.19.96.2,10.70.0.1。现为了叙述方便,仅选取10网段的交换机为例进行说明。其他设备方法相同,不再赘述。
在执行mrtg的各步操作前,linux系统中必须先安装apache服务,用于网页发布。
I、 Apache服务的安装
因为mrtg是以网页的形式来显示被监测设备的端口流量信息的,所以必须先安装apache服务。现将安装过程中的几个问题描述如下:
下载apache-2.0.44-2.i586.rpm软件包,安装时系统显示"libssl.so.0 is needed by apache-2.0.44-2.i586.rpm",说明安装apache服务时需要该函数库。
下载openssl-compat-0.9.6m-8.i586.rpm软件包,安装后系统不再出现上述提示,但提示缺少libdb.so.3文件,下载db2-2.4.14-8.i585.rpm软件包,安装后可以正常安装apache2.0。
II、 启动Apache服务
在"控制面板"'"服务"项中选中httpd项,进行各种操作。
III、 Apache服务的配置
安装完成后,系统自动在/etc/apache2目录下生成httpd.conf文件,该文件是Apache服务的配置文件,将其中一行修改如下:
此目录即为网页发布目录,后续操作所生成的索引文件都将存放在这个目录中,才能以网页的形式发布出来。
注:给大家介绍一个网站,上面提供了非常全面的rpm包下载,本文中所用的所有rpm包都从该网站下载,非常方便。网址为:http://rpm.pbone.net/
IV、安装MRTG
下载mrtg-2.16.2.tar.gz文件, 解压缩至mrtg-2.16.2目录,命令如下:
- [root@localhost lxjun]#tar -zxvf mrtg-2.16.2.tar.gz
将mrtg安装至指定目录/usr/local/mrtg-2
- [root@localhost mrtg-2.16.2]#./configure --prefix=/usr/local/mrtg-2
- [root@localhost mrtg-2.16.2]#make
- [root@localhost mrtg-2.16.2]#make install
1、 生成.cfg文件
- [root@localhost bin]#perl cfgmaker public@10.70.0.1 --global "workdir:/usr/local/apache2/htdocs/mrtg" --output mrtg10.70.0.1.cfg
这样即在/usr/local/mrtg-2/bin目录下生成10网段交换机的配置文件mrtg10.70.0.1.cfg
2、编辑配置文件
使用vi编辑器对该文件进行编辑,使其成为一个守护进程运行
在该文件末尾添加runasdaemon:yes,存盘退出。
3、后台运行mrtg,时刻监视设备端口流量
- [root@localhost bin]# perl mrtg mrtg10.70.0.1.cfg &
注:若此进程正在运行,应先杀掉后才能正常执行,否则将出现错误提示。在执行此操作前,应先使用[root@localhost bin]# ps -ef |grep mrtg命令查看一下正在运行的关于mrtg的进程,查看结果如下:
- root 16004 1 0 Apr03 ? 00:10:37 perl mrtg mrtg192.168.211.1.cfg
- root 20778 1 0 Apr04 ? 00:03:50 perl mrtg mrtg172.19.96.2.cfg
- root 6277 1 0 09:27 ? 00:00:02 perl mrtg mrtg10.70.0.1.cfg
- root 6420 6169 0 09:41 pts/4 00:00:00 grep mrtg
表明此进程正在运行,应使用[root@localhost bin]# kill -9 6277(PID)先杀掉此进程,再执行此步操作。
4、生成index文件
- [root@localhost bin]# perl indexmaker --output=/usr/local/apache2/htdocs/mrtg/index.html mrtg10.70.0.1.cfg
在/usr/local/apache2/htdocs/mrtg目录下生成index.html文件,该文件以图表的形式记录了10网段交换机各端口的流量信息。
更换端口后必须进行的操作
因为MRTG是通过snmp协议的get( )命令读取交换机设备的MIB库信息,所以更换端口后index文件中获取不到更换后的端口的流量信息,原端口信息也不会在表中自行消失。必须重新执行全部操作。
【编辑推荐】