免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1235 | 回复: 0
打印 上一主题 下一主题

mrtg的安装指南 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-28 02:20 |只看该作者 |倒序浏览
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]: BayStack 450-12T - 2 -- computer
        echo "s|^PageTop[$ip_$port]: |&$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代码如下:
Switch Traffic Information
  
  Switch  Traffic Information
  
  
    192.168.1.1  ACCELAR1200交换中心
  
...
  
    192.168.1.6  办公楼
/A>
  
  
   192.168.1.7  计算机房  
  

  
  ⒋为Web服务器建立密码
  以Red Hat 7.3自带的Apache 1.3.23为例进行说明。
  ⑴修改/etc/httpd/conf/httpd.conf。将下面代码:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
改为以下代码:
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
Allow from all

  ⑵在/var/www/html目录建立一个.htaccess文件,内容如下:
AuthName "Switch Traffic Information"
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
require valid-user
⑶执行htpasswd命令,在/var/www/html目录建立一个.htpasswd文件:
$ htpasswd -bc /var/www/html/.htpasswd admin  XXXX
  其中XXXX表示密码,也可以增加更多的用户。具体操作可参看man htpasswd文档。
  ⑷启动httpd服务
  使用以下代码启动httpd服务:
$ /etc/rc.d/init.d/httpd restart
  通过以上设置,如果网络的节点位置发生变化,只要修改及编辑mrtgip和mrtglocate文件,执行bash脚本命令crmrtg重新生成mrtg.cfg配置文件与index.html页面文件,并利用MRTG软件包就能够非常方便地管理与监控交换机设备的网络流量信息


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7190/showart_391528.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP