| |

MRTG的安装配置

安装支持软件

我们这里以Rehat7.2为例子讨论MRTG的配置和安装。要安装MRTG需要安装以下软件 包:GCC、Perl、gd、libpng和zlib。可以使用下面的命令来判断系统是否安装有这些软 件包:

[root@mail doc]# rpm -qa|grep gd
gd-1.8.4-4
gd-devel-1.8.4-4

[root@mail doc]# rpm -qa|grep perl
perl-5.6.0-17
mod_perl-1.24_01-3

[root@mail doc]# rpm -qa|grep libp
libpng-1.0.12-2
libpng-devel-1.0.12-2

[root@mail doc]# rpm -qa|grep zlib
zlib-1.1.3-24
zlib-devel-1.1.3-24
[root@mail doc]# rpm -qa|grep gcc
gcc-2.96-98
gcc-g77-2.96-98
gcc-c -2.96-98

如果发现哪个软件包没有安装,只需直接从redhat安装盘安装对应的rpm包即可,例如:
root@mail doc]# rpm -ivh zlib-1.1.3-24 zlib-devel-1.1.3-24

MRTG的安装

目前mrtg的最新版本为2.9.17:

[root@mail src]# tar xvfz mrtg-2.9.17.tar.gz
[root@mail src]# cd mrtg-2.9.17
[root@mail mrtg-2.9.17]# ./configure --prefix=/usr/local/mrtg-2
[root@mail mrtg-2.9.17]# make
[root@mail mrtg-2.9.17]# make install

到现在我们就已经正确地安装了MRTG系统。

配置SNMP服务

对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里 面都有详细的介绍。这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流 入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出 流量)。

在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可:

[root@mail doc]# rpm -qa|grep snmp
ucd-snmp-4.2.1-7
ucd-snmp-utils-4.2.1-7
ucd-snmp-devel-4.2.1-7

这时候运行下面的命令:

[root@mail doc]# /etc/rc.d/init.d/snmpd start
Starting snmpd: [ OK ]

如果命令输出如上所示,就表示snmp服务器启动正常。

为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口) 流量数据。

vi /etc/snmp/snmpd.conf



#view systemview included mib2

的内容修改为:

view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

然后将

access notConfigGroup "" any noauth exact systemview none none

修改为:

access notConfigGroup "" any noauth exact mib2 none none

然后再重新启动snmpd:

/etc/rc.d/init.d/snmpd restart

配置MRTG

下一步就是要配置mrtg,实现对网络设备的监控。mrtg的配置信息都是保存在mrtg.cfg文 件中的,创建该文件并且在其中定义希望的监控特性。幸运的是一般不需要直接手工编辑 该配置文件,因为mrtg软件包提供有cfgmaker配置工具,这是一个脚本文件,根据运行参 数可以自动生成mrtg.cfg配置文件。在mrtg源码目录的bin子目录下你可以得到该工具。

首先在www服务器的DocumentRoot目录下创建一个子目录用来存放mrtg生成的统计文件, 这里假设apache是默认安装,因此DocumentRoot在/var/www/html目录下,我们在该目录 下创建子目录mrtg:

mkdir /var/www/html/mrtg

这里的/var/www/html/mrtg就是mrtg的工作目录。下面就生成mrtg配置文件:

cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=ip
--output /etc/mrtg.cfg
public@192.168.0.1

这里的--global参数表示后面的选项是对后面指定的设备都是有效的(如果希望对多个设 备进行监控时,该参数就会发生作用)。WorkDir用来指示mrtg的工作目录;Options用来 指定一些特定的选项,这里的growright,bits是用来指定默认options配置的,对于常见 的应用来说默认options配置就可以满足需求了。ifref用来指示用什么选项来标识设备接 口,这里指定使用IP地址来标识网络设备接口。ifref可以指定为 nr、ip、eth、descr、name。nr表示用接口在MIBII库中Interface接口的ifIndex来识别 接口;IP表示使用ip地址识别接口;eth表示使用接口的物理地址标识接口;descr表示使 用接口的描述信息来标识接口;name表示使用接口名来标识接口。一般来说ip地址是唯一 的,但是有些情况下接口是没有IP地址的,例如交换机就会出现这种情况。对于接口来说 nr(接口号)是唯一的,因此对于一般情况使用IP地址就可以了,而对于其他一些情况则需 要采用nr了。"--output /etc/mrtg.cfg"标识将生成的配置文件存放在/etc/目录 下。"public@192.168.0.1"表示监控IP地址为192.168.0.1的设备,采用public作为共同 体名通过snmp协议来监控设备192.168.0.1。

对于希望使用mrtg来对多个设备进行监控的情况,举例如下:

cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=descr
--ifdesc=alias
public@router1.place.xyz
public@router2.place.xyz
--global "Options[_]: growright"
--ifref=name
--ifdesc=descr
public@switch1.place.xyz
--ifdesc=name
public@switch2.place.xyz > mrtg.cfg

这里指示监控四个设备:router1.place.xyz、router2.place.xyz、switch1.place.xyz
和switch2.place.xyz,所有的设备都采用共同体名public来进行监控。并且两个路由器 采用descr来作为设备的描述信息,而两个交换机则采用alias作为设备描述(这两者是不 同的,例如对于cisco路由器来说,对于descr来说设备描述为"Serial0",而对于aliasl 来说则为"Link to HQ")。

对于我这里的应用环境来说,生成的mrtg.cfg内容如下:

# Created by
# /usr/local/mrtg-2/bin/cfgmaker --global WorkDir: /var/www/html/mrtg --global Options[_]: growright,bits
--output /etc/mrtg.cfg --ifref=ip public@192.168.0.1

### Global Config Options

# for UNIX
# WorkDir: /home/http/mrtg

# or for NT
# WorkDir: c:mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits

WorkDir: /var/www/html/mrtg
Options[_]: growright,bits

######################################################################
# System: 192.168.0.1
# Description: Linux 192.168.0.1 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 EDT 2001 i686
# Contact: Root (configure /etc/snmp/snmp.local.conf)
# Location: Unknown (edit /etc/snmp/snmpd.conf)
######################################################################

### Interface 1 >> Descr: lo | Name: | Ip: 127.0.0.1 | Eth: ###
### The following interface is commented out because:
### * it is a Software Loopback interface
#
# Target[192.168.0.1_127.0.0.1]: /127.0.0.1: public@192.168.0.1:
# SetEnv[192.168.0.1_127.0.0.1]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo"
# MaxBytes[192.168.0.1_127.0.0.1]: 1250000
# Title[192.168.0.1_127.0.0.1]: Traffic Analysis for 127.0.0.1 -- 192.168.0.1
# PageTop[192.168.0.1_127.0.0.1]:

Traffic Analysis for 127.0.0.1 -- 192.168.0.1

#
#

#

#

#

#

#

#

#

System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)

Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)

Description:
lo

ifType:
softwareLoopback (24)

ifName:

Max Speed:
10.0 Mbits/s

Ip:
127.0.0.1 (localhost)

### Interface 2 >> Descr: eth0 | Name: | Ip: 211.99.43.111 | Eth:

Target[192.168.0.1_211.99.43.158]: /211.99.43.158: public@192.168.0.1:
SetEnv[192.168.0.1_211.99.43.158]: MRTG_INT_IP="211.99.43.158" MRTG_INT_DESCR="eth0"
MaxBytes[192.168.0.1_211.99.43.158]: 1250000
Title[192.168.0.1_211.99.43.158]: Traffic Analysis for 211.99.43.158 -- 192.168.0.1
PageTop[192.168.0.1_211.99.43.158]:

Traffic Analysis for 211.99.43.158 - - 192.168.0.1

System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)

Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)

Description:
eth0

ifType:
ethernetCsmacd (6)

ifName:

Max Speed:
10.0 Mbits/s

Ip:
211.99.43.158 (192.168.0.1)

### Interface 3 >> Descr: eth1 | Name: | Ip: 192.168.0.1 | Eth:

Target[192.168.0.1_192.168.0.1]: /192.168.0.1: public@192.168.0.1:
SetEnv[192.168.0.1_192.168.0.1]: MRTG_INT_IP="192.168.0.1" MRTG_INT_DESCR="eth1"
MaxBytes[192.168.0.1_192.168.0.1]: 1250000
Title[192.168.0.1_192.168.0.1]: Traffic Analysis for 192.168.0.1 -- 192.168.0.1
PageTop[192.168.0.1_192.168.0.1]:

Traffic Analysis for 192.168.0.1 -- 192.168.0.1

>

System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)

Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)

Description:
eth1

ifType:
ethernetCsmacd (6)

ifName:

Max Speed:
10.0 Mbits/s

Ip:
192.168.0.1 (192.168.0.1)

运行mrtg

一旦生成正确的配置文件,就运行下面的命令:

/usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg

这将查询被监控的设备并在工作目录下创建初始的流量图和web页面,在前三次运行时可 能会报告遗失日志文件的告警信息,不要理睬这些信息,只需要连续运行三次以后再运行 就不会产生告警信息了。如果仍然出现告警那么就需要察看问题出在哪里了。

使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生 成统计信息,默认为五分钟运行一次。作为root身份crontab -e进入编辑状态,添加内容 如下:

*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg

然后就可以通过浏览器访问地址http://192.168.0.1/mrtg/选择适当的接口地址察看流量 信息了。如果希望生成类似于http://www.stat.ee.ethz.ch...的信息,就需要自己手工编辑一个index.html文档存放在/var/www/html/mrtg目录下,内容为接口说明以及该接 口的日统计信息的图即
内文分页: [1] [2]
不指定 2007年12月22日 14:50, Marshal, php, 评论(0), 阅读(6538)
发表评论
开启/隐藏 高级扩展
昵称
密码  游客无需密码
网址
电邮   [注册]