MRTG是工作在SNMP协议上的,你必须安装SNMP才能启动MRTG来观测你的网络,我就是没有配置好NET-SNMP,所以MRTG显示出来的会没有图形的,我就是犯了这样的错误。有的网络上要求装UCD-SNMP,我的redhat 9.0默认装的是net-snmp,所以我就没有用ucd-snmp,没有试过,不过我想应该是大同小异吧。
1.首先来安装配置net-snmp
#rpm –ivh net-snmp-5.06-17 #一般redhat9.0会默认安装上去的。
#Vi /etc/snmp/snmpd.conf #安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合mrtg工作。
把下面的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc #在89行
把下面的语句#在62行
access notConfigGroup "" any noauth exact systemview none none
改为:
access notConfigGroup "" any noauth exact mib2 none none
转到397行
rocommunity mrtg
记得哟,这是的community是mrtg,而不是常见的public,这个以后要用到记着要,我就是用了很多次public才没有得到图形,现在想起,笨死了。可能在ucd-snmp中默认的是public,没有用过。Ro的意思吗read only,也是听人家说的。
ok,改完以后,就可以启动snmpd服务,SNMP配置也到此完成了。
#/etc/rc.d/init.d/snmpd start
2.安装mrtg
tar zvxf mrtg-2.9.29.tar.gz
cd mrtg-2.9.29
./configure --prefix=/usr/local/mrtg
--with-gd=/usr/include
--with-gd-lib=/usr/lib
--with-gd-inc=/usr/include
--with-png=/usr/include
--with-zlib=/usr/include &&
make &&
make install
3.配置mrtg
#mkdir /var/www/html/mrtg 这里/var/www/html是www的默认主页地址,大家可能跟我不同
#cp images/* /var/www/html/mrtg images/*是在解压缩mrtg-2.9.29.tar.gz的mrtg-2.9.29文件夹里
#/usr/local/mrtg/bin/cfgmaker --output=/var/www/html/mrtg/mrtg.cfg
>mrtg@192.168.0.1 #这里是创建一个mrtg.cfg文件
上面请特别注意:在 mrtg@192.168.0.1这一行呢,mrtg 是有其意义的(在 snmp 这个通讯服务里面的预设搜寻的一个代码,默认的可能是public,这就是刚才要查看/etc/snmp/snmpd.conf里的原因了),所以,如果你的主机的动态 DNS 名称为 your.domain.name 则你就『一定』要写成 mrtg@your.domain.name 才行!千万不要弄错了!已经有很多网友遇到这个问题!
在/var/www/html/mrtg目录下,并且监控192.168.0.1的地址,本例这个地址是本机的网卡IP地址
#vi /var/www/html/mrtg/mrtg.cfg #修改mrtg.cfg文件,主要修改以下内容,以符合你的实际情况
WorkDir: /var/www/html/mrtg
Options[_]: growright, bits
Language:GB2312
这个要注意的一点是他们前边不要有空格,否则会有什么” ERROR: Line 8 ( WorkDir: /var/www/html/mrtg) in CFG file (mrtg) does not make sense”的错误。
下面接着:
#/usr/local/mrtg/bin/mrtg /var/www/html/mrtg/mrtg.cfg
这个需要运行3次,前两次都会报错,不用去理会他,第3次就应该没有错误了,不过,若是有问题的话,就需要修改mrtg.cfg,再执行直到没有错误发生为止。
错误大概是这样的:
Rateup WARNING: /usr/local/mrtg2/bin/rateup could not read the primary log file for localhost
Rateup WARNING: /usr/local/mrtg2/bin/rateup The backup log file for localhost was invalid as well
Rateup WARNING: /usr/local/mrtg2/bin/rateup Can't remove localhost.old updating log file
Rateup WARNING: /usr/local/mrtg2/bin/rateup Can't rename localhost.log to localhost.old updating log file
4.制作首页index.html:
#/usr/local/mrtg/bin/indexmaker
>--output=/var/www/html/mrtg/index.html
>--title=服务器流量统计
>/var/www/html/mrtg/mrtg.cfg
上面这个程序indexmaker是在制作首页。会自动地输出一个index.html的文件中。
5.设定每5分钟执行一次
使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生 成统计信息,默认为五分钟运行一次。
作为root身份crontab -e进入编辑状态,添加内容 如下:
*/5 * * * * /usr/local/mrtg/bin/mrtg /var/www/html/mrtg/mrtg.cfg
ok!到此为止,配置完毕,记得一定要重新启动snmp和httpd服务!
访问:
http://192.168.0.1/mrtg/
就能看到网络流量图了
其它如果要做硬盘,内存,CPU等的MRTG,请看我的MRTG.CFG文件的配置.
参考网页:
http://linux.vbird.org/linux_security/old/04mrtg.php
http://www.5ilinux.com/blog/archives/000120.html
http://bbs.chinaunix.net/forum/viewtopic.php?t=303650&highlight=emailwht