环境: RedHat as4 2010-4-29

目地:监测网络流量
历经了前几次的不成功,而且还是不知道为什么原因的不成功,这次干脆在安装 RedHat as4 时选择了全部安装,不知道这回会少几个软件

没想到顺手先查了一下发现居然己有了 mrtg 的软件 mrtg-2.10.15-2a ,突然间不用安装它一下子有点茫然了,有点不知道该从何下手了

第一步:查一下 cfgmaker 这个文件在哪里

#find / -name cfgmaker

 

发现 cfgmaker usr/bin 下,进入然后输入 cfg 生成命令

#/usr/bin/ cfgmaker --output /etc/mrtg/route.cfg PCCWpcp@192.168.1.254 (路由器)

#/usr/bin/ cfgmaker --output /etc/mrtg/mdf_sw3750.cfg public@192.168.1.1 (核心交换机)

报错:

--base: Get Device Info on PCCWpcp@192.168.1.254:

SNMP Error:

no response received

SNMPv1_Session (remote host: "192.31.1.254" [192.168.1.254].161)

                  community: "PCCWpcp"

                 request ID: -1168621749

                PDU bufsize: 8000 bytes

                    timeout: 2s

                    retries: 5

                    backoff: 1)

 at /usr/bin/../lib/mrtg2/SNMP_util.pm line 627

SNMPWALK Problem for 1.3.6.1.2.1.1 on PCCWpcp@192.168.1.254::::::v4only

 at /usr/bin/cfgmaker line 831

WARNING: Skipping PCCWpcp@192.168.1.254: as no info could be retrieved

 

--base: Writing /etc/mrtg/route.cfg

从报错上来看好象是 SNMP 出错……

知道是为什么出错了,原来是路由器上 ACL 设置时没把这台 MRTG 的服务器访问放行,重新配置了一下路由器, OK ……数据抓取到了

第二步:修改 MRTG 配置文件 route.cfg mdf_sw3750.cfg (前面我给 cfg 文件起的名是 route mdf_sw3750 ,因为要抓取的流量就是路由器和核心交换机的。

#vi /etc/mrtg/route.cfg

进入 cfg 文件后修改下面的

# for UNIX

# workDir: /home/http/mdf_rt7223

 

# for UNIX

# workDir: /home/http/mdf_sw3750

―――――――――――――――――――――――――――――――――――――

去掉 # workDir: /home/http/ …… 前面的 # 号,意思是指定 mdf_rf7223 mdf_sw3750 是流量页面存放目录 .

注意:去掉 # 后语句前不要有空格不然就会有什么” ERROR: Line 8 ( WorkDir: /var/www/html/mrtg) in CFG file (mrtg) does not make sense ”的错误。

因为在 home 下没有 http mdf_rf7223 mdf_sw3750 文件夹,建一个

#mkdir/home/http

#mkdir/home/http/ mdf_rf7223

#mkdir/home/http/ mdf_sw3750

#Options[_]: growright, bits 面的 # 掉,意思是定义流量单位大小

也可以在另起一行,加入 Language:Chinese 意思是使 mrtg 支持中文,不过我没写,用英文好了,省的出现乱码让人心烦

第三步:收集路由器端口的状态信息并把搜集的信息存储到 MRTG 配置文件当中

#env LANG=C /usr/bin/mrtg /etc/mrtg/route.cfg (路由器)

# env LANG=C /usr/bin/mrtg /etc/mrtg/mdf_sw3750.cfg (核心交换机)

一共运行了三次,第一次第二次都会报错,不用理它。

第一次运行报错

Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.1.254_1

Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.1.254_1 was invalid as well

Rateup WARNING: /usr/bin/rateup Can't remove 192.168.1.254_1.old updating log file

Rateup WARNING: /usr/bin/rateup Can't rename 192.168.1.254_1.log to 192.168.1.254_1.old updating log file

第二次运行报错

Rateup WARNING: /usr/bin/rateup Can't remove 192.168.1.254_1.old updating log file

第三次运行正常

#env LANG=C /usr/bin/mrtg /etc/mrtg/route.cfg

第四步:生成 html 文件

/usr/bin/indexmaker --output /home/http/mdf_rt7223/index.html --title=IDC --sort=title --sort=name --sort=descr --sort=original /etc/mrtg/route.cfg (路由器)

―――――――――――――――――――――――――――――――――――――

/usr/bin/indexmaker --output /home/http/mdf_sw3750/index.html --title=IDC --sort=title --sort=name --sort=descr --sort=original /etc/mrtg/mdf_sw3750.cfg (核心交换机)

第五步:修改 httpd.cfg ,因为我在一开始没有把抓取的文件放到 /var/www/html 下,只好去修改一下 httpd.cfg 文件

DocumentRoot “/var/www/html”

改为

DocumentRoot “/home/http” // 这是我之前建立的存放抓取数据的文件夹

第六步:设置每五分钟抓取一次流量

# crontab –e

写入

*/5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/route.cfg (路由器)

*/5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mdf_sw3750.cfg (交换机)

保存

最后我自己做了一个简单的首页,上面写两个链接分别指向路由器和核心交换机流量存取文件夹内的 index.html

 

整个过程中我没有去配置和运行 SNMP ,我想因为我只是对网络内的网络流量进行监测而并不是对服务器的 CPU\ 内存一类的硬盘监测,在这方面好象与 windwos 不一样,记得好象在 windows 上安装 mrtg 时要安装和运行 snmp