|
提供一份mrtg的安装指南(linux平台下)。
MRTG(Multi Router Traffic Grapher)是一个监控网络链路流量负载的监控软件。它通过使用SNMP协议从设备中得到设备的网络流量信息,并将流量负载以包含PNG格式图形的HTML文档格式显示给用户,非常形象、直观。本文将以 Red Hat 7.3为例,说明如何更好地使用MRTG软件来管理企业的网络。通过编写和建立几个配置文件及一个bash 脚本,使生成的图形中包含更多信息。这有利于在网络节点发生变化时维护管理更加方便,从而能够提高网络管理的工作效率。
简单网络管理协议(SNMP)速览
简单网络管理协议(Simple Network Management Protocol,SNMP)是由互联网工程任务组(Internet Engineering Task Force,IETF)定义的一套网络管理协议。一个管理工作站利用SNMP可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。
SNMP协议运行在UDP协议之上,它利用的是UDP协议的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;162 端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如Trap等。SNMP提供三类操作,分别为Get、Set和Trap。
MRTG通过SNMP协议从设备中得到使用设备(如交换机)的网络流量信息,并把PNG 格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP协议,可以通过MRTG进行网络流量监控。
MRTG的安装与配置
1. 安装软件包
要安装MRTG软件包必须首先安装gcc、perl、gd、libpng、zlib、freetype等软件包。可以使用“rpm -R -qp mrtg-2.9.17-3.i386.rpm”命令检查需要安装哪些文件及软件包。
具体操作如下:
# mount /mnt/cdrom # cd /mnt/cdrom/Redhat/RPMS # rpm -ivh mrtg-2.9.17-3.i386.rpm ⒉生成配置文件/etc/mrtg/mrtg.cfg
命令如下:
cfgmaker --global "WorkDir: /var/www/html/mrtg/6" --global "icondir: /mrtg" --global "language: chinese" --global "Options[_]: growright,bits" --show-op-down --ifref=nr --ifdesc=descr --output=/etc/mrtg/mrtg.cfg public@192.168.1.6 2>/dev/null 说明:--global参数表示后面的选项对后面指定的设备都是有效的(如果希望对多个设备进行监控时,该参数就会发生作用)。WorkDir用来指示mrtg的工作目录;icondir用来指定图标的目录;language 表示指定生成HTML页面的语言;Options用来指定一些特定的选项。在Options设置中,growright表示时间增长的箭头方向向右;bits表示接口的带宽。对于常见的应用来说,默认Options配置就可以满足需求(如果想了解有那些选项,可以参看/usr/lib/mrtg2/MRTG_lib.pm文件)。此外,--show-op-down表示显示down的接口;--ifref表示设备接口的标示;--ifdesc用于选择参数来描述接口。其中,ifref可以指定的参数为nr、ip、eth、descr和name;ifdesc可以指定的参数为nr、ip、eth、descr、name、type和alias。后面的--output的参数表示输出文件(缺省输出到屏幕);public@192.168.1.6中public表示Community串,一般交换机出厂设置为public;192.168.1.6表示监控网络交换机设备的IP地址。更详细的说明可以参考man cfgmaker文档。
⒊生成index.html文件
执行indexmaker来生成index.html文件,代码如下:
$ indexmaker -t "title" -o /var/www/html/mrtg/6/index.html /etc/mrtg/mrtg.cfg 其中,-t后面的参数指定HTML页面的标题,-o后面的参数指定生成的HTML页面所放的位置。最后的参数为cfgmaker生成的mrtg 配置文件。更详细的说明可以参考man indexmaker文档。
⒋设置/etc/crontab文件
先检查/etc/crontab文件是否存在以下代码:
0- 59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg 如果没有,则需要在文件中加入上述代码。
需要注意的是,如果监测的交换机比较多可以适当地延长执行该命令的时间间隙。在开始执行时可能会报告遗失LOG日志文件的警告信息,可以不理睬这些信息,连续运行三次以后就不会出现警告信息。
⒌启动Apache,执行/etc/rc.d/init.d/httpd start
在另一台机器浏览器地址处输入 http://install_mrtg_ip/mrtg/6/index.html。
可以发现,生成的HTML页面存在如下缺陷:仅仅知道监测的是哪一个端口,但无法很好地了解端口连接在哪台计算机上,并且当监测很多交换机时,更新的PNG文件位于同一目录层次上,不方便系统管理员查找所要监测的交换机端口。人工修改这些HTML页面非常费时,如果网络发生变动,更改会更加麻烦。因此,可以通过建立一个bash脚本使整个配置过程自动化,而且生成的HTML页面包含更多的信息和更加直观。
通过bash脚本实现自动化配置
通过建立bash脚本自动化配置mrtg.cfg文件,步骤如下。
⒈建立/etc/mrtg/mrtgip和/etc/mrtg/mrtglocate文件(权限为600)
文件/etc/mrgt/mrtgip的格式如下:
建立HTML的目录|监测交换机的IP地址|Community串|交换机的安装地点与说明| 示例如下:
1|192.168.1.1|public|ACCELAR1200交换中心| ..... 6|192.168.1.6|public|办公楼| 7|192.168.1.7|public|计算机房|
文件/etc/mrgt/mrtglocate的格式如下:
监测交换机的IP地址|端口号|该端口所连接的计算机设备的安装地点与说明| 示例如下:
#accelar1200中心交换(192.168.1.1) ... 192.168.1.1|20|办公楼光纤| 192.168.1.1|21|计算机光纤| ... 192.168.1.1|59|测试服务器| #办公楼(192.168.1.6) 192.168.1.6|1|F5P01-V2财务科核算组01| 192.168.1.6|2|F5P02-V2财务科核算组02| 192.168.1.6|3|| #192.168.1.6|4|| ...
开头为#的行为注释行,如果一些端口没有联接计算机设备,可以注释,也可适当加入一些空行,使用|作为字段的分隔符。在加入文字说明的同时也可以加入符号,如F5P01-V2,含义如下:F5表示办公楼5楼,P01表示顺序号,V2表示该端口的VLAN为2。还可以按照自己的意愿加入一些易于理解的文字说明。
⒉建立bash脚本文件
建立bash脚本文件crmrtg,生成mrtg.cfg配置文件和index.html页面脚本。建立/usr/local/sbin/crmrtg文件,内容如下:
#!/bin/sh # create mrtg.cfg & index.html file htmldir=/var/www/html/mrtg conf=/etc/mrtg tmp1=/tmp/mrtg1.tmp tmp2=/tmp/mrtg2.tmp tmpmrtg=/tmp/mrtg.cfg rm -f $conf/mrtg.cfg $tmp1 $tmp2 $tmpmrtg for i in `cat $conf/mrtgip` do dir=`echo $i | cut -f1 -d"|"` ip=`echo $i | cut -f2 -d"|"` community=`echo $i|cut -f3 -d"|"` locate=`echo $i | cut -f4 -d"|"` echo "create $ip at $locate " mkdir -p $htmldir/$dir
cfgmaker --global "WorkDir: $htmldir/$dir" --global "icondir: /mrtg" --global "language: chinese" --global "Options[_]: growright,bits" --show-op-down --ifref=nr --ifdesc=descr --output=$htmldir/$dir/mrtg$dir $community@$ip 2>/dev/null
cfgmaker --global "WorkDir: $htmldir" --global "icondir: /mrtg" --global "language: chinese" --global "Options[_]: growright,bits" --global "directory[_]: $dir" --show-op-down --ifref=nr --ifdesc=descr --output=$tmpmrtg $community@$ip 2>/dev/null # create ports & describe file for modify mrtg.cfg configuration grep "^$ip|" $conf/mrtglocale >| $tmp1 for j in `cat $tmp1` do port=`echo $j | cut -f2 -d"|"` describe=`echo $j | cut -f3 -d"|"` #PageTop[192.168.1.6_2]: <H1>BayStack 450-12T - 2 -- computer</H1> echo "s|^PageTop\[$ip\_$port\]: <H1>|&$describe |" >> $tmp2 done sed -f $tmp2 $htmldir/$dir/mrtg$dir >| $htmldir/$dir/mrtg$dir.cfg sed -f $tmp2 $tmpmrtg >> $conf/mrtg.cfg indexmaker -t "$locate $ip" -o $htmldir/$dir/index.html $htmldir/$dir/mrtg$dir.cfg rm -f $htmldir/$dir/mrtg$dir $tmp1 $tmp2 $tmpmrtg done
⒊建立/var/www/html/mrtg/index.html文件
HTML代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Switch Traffic Information </TITLE> </HEAD> <!-- Background white, links blue (unvisited), navy (visited), red (active) --> <BODY BGCOLOR="#FFFFFF"> <P ALIGN="center"> Switch Traffic Information </P> <P ALIGN="center"> <A HREF="1/index.html"> 192.168.1.1 ACCELAR1200交换中心 </A> </P> ... <P ALIGN="center"> <A HREF="6/index.html"> 192.168.1.6 办公楼 </A> </P> <P ALIGN="center"> <A HREF="7/index.html"> 192.168.1.7 计算机房 </A> </P> </BODY> </HTML>
⒋为Web服务器建立密码
以Red Hat 7.3自带的Apache 1.3.23为例进行说明。
⑴修改/etc/httpd/conf/httpd.conf。将下面代码:
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
改为以下代码: <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
⑵在/var/www/html目录建立一个.htaccess文件,内容如下:
Aut [1] [2] 下一页
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2006-10-12 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|