这里只是简单介绍在centos下使用mrtg监控网络流量
参考鸟哥的linux私房菜,我的linux入门啊
http://linux.vbird.org/linux_security/old/04mrtg.php
1、安装mrtg
yum install mrtg
使用yum可以省去很多麻烦,不必去关心那些依赖包。

2、配置
安装好后会有一个默认的基本mrtg配置文件在/etc/mrtg目录下
我们使用命令建立新的配置文件,目前我们要监控3台linux服务器的网络状态,首先确认3台linux服务器snmp配置好,三台服务器如下:
服务器 组织名称 ip地址
web1  nubbcom  192.168.0.21
web2  nubbcom  192.168.0.22
web3  nubbcom  192.168.0.23

分别给每台服务器生产一个mrtg配置文件
cfgmaker [email protected] > mrtg_web1.cfg
cfgmaker [email protected] > mrtg_web2.cfg
cfgmaker [email protected] > mrtg_web3.cfg

以下有些配置项是需要配置的
# Created by 
# /usr/bin/cfgmaker [email protected]

### Global Config Options

#  for UNIX
WorkDir: /var/www/html/mrtg/   #这里要去掉原来的注释,并配置你现在的mrtg工作目录即mrtg文件的目录。

#  or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

#  to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits    #顾名思义啊,使用bits还是使用bytes自己选择。

注意:以上配置应该向左顶格,不要有空格出现,否则执行该配置文件会报错,如下示例:
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web2.cfg 
ERROR: Line 8 ( WorkDir: /var/www/html/mrtg/) in CFG file (mrtg_web2.cfg)  does not make sense

3、启用mrtg
执行mrtg命令 后跟设定的配置文件
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web1.cfg
第一次启用时需要执行三遍
第一遍 没有mrtg文件所以创建相关文件
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_2
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_2 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_2.log to 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_3
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_3 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_3.log to 192.168.0.21_3.old updating log file
第二遍
26-10-2011 12:03:15, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:16, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
第三遍
无信息

执行完后会看到工作目录下有mrtg所有的文件,一些图形显示页面用到的元素和日志文件。

[root@cacti mrtg]# ll /var/www/html/mrtg/
total 972
-rw-r--r-- 1 root root  1445 Oct 26 12:09 192.168.0.21_2-day.png
-rw-r--r-- 1 root root  6441 Oct 26 12:09 192.168.0.21_2.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.log
-rw-r--r-- 1 root root  1361 Oct 26 12:09 192.168.0.21_2-month.png
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.old
-rw-r--r-- 1 root root  1417 Oct 26 12:09 192.168.0.21_2-week.png
-rw-r--r-- 1 root root  1685 Oct 26 12:09 192.168.0.21_2-year.png
-rw-r--r-- 1 root root  1445 Oct 26 12:09 192.168.0.21_3-day.png
-rw-r--r-- 1 root root  6442 Oct 26 12:09 192.168.0.21_3.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_3.log

可惜的是这个mrtg命令依次只能加载一个配置文件,其他服务器文件逐个执行,在多数量的被监控对象情况下这样显得非常不便,可以讲多个配置文件合并到一个大文件里
简化mrtg执行的操作。
[root@cacti mrtg]# cat  mrtg_web*.cfg >mrtg.cfg
从此,执行只需要一个操作
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg.cfg

mrtg命令只是手动执行,要能够看到连续的图形,必须定时执行mrtg操作获取当时的流量,使用crontab每分钟采集一次。

[root@cacti mrtg]# crontab -e
*/1 * * * * LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

4、建立监控页面
上一步已经完成了流量数据的获取和相关文件的生成,但是我们需要定制一个监控页面同一展示数据。
mrtg自己提供一个生成监控主页的命令indexmaker,执行它生成网页。
[root@cacti mrtg]# indexmaker mrtg.cfg >/var/www/html/mrtg/index.html
输入网址http://web服务器名或ip/mrtg/ 查看当前主页。

注意:这里需要你先设定好apache,讲mrtg的监控主页配置设置好。


补充:在监控防火墙的时候出现以下问题

[root@cacti mrtg]# cfgmaker [email protected] >mrtg_isg2000-1.cfg
SNMP Error:
no response received
SNMPv1_Session (remote host: "172.10.10.3" [172.10.10.3].161)
                  community: "ct10000"
                 request ID: -869504328
                PDU bufsize: 8000 bytes
                    timeout: 2s
                    retries: 5
                    backoff: 1)
 at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 627
SNMPWALK Problem for 1.3.6.1.2.1.1 on [email protected]:v4only
 at /usr/bin/cfgmaker line 918
WARNING: Skipping [email protected] as no info could be retrieved

最后确认防火墙使用的snmp是v2版本,所以重新执行指定snmp版本v2
[root@cacti mrtg]# cfgmaker --snmp-options=:::::2 [email protected] >mrtg_isg2000-1.cfg
ok!执行成功


http://blog.itpub.net/20575781/viewspace-709869/