MRTG(网络流量监控,统计,分析)安装与配置

MRTG(Multi Router Traffic Grapher),是一款通过SNMP来达到流量统计并且生成统计图的软件。
安装MRTG就必须先安装SNMP客户端,而要统计的服务器上就必须安装snmp服务器端(snmpd),如果要通过WEB预览,那就还得安装httpd服务。

首先,我们来安装这个三服务,如果你用的是CentOS 5以上,或者其他带yum的系统,建议用yum安装这个三软件,同时,如果你是Debian或者其他系统,建议用apt或者其他有依存关系安装的工具进行安装,因为mrtg好像在找gd2的时候,总是会出错,如果不是很熟悉make的人,建议不要自己去make。

安装好之后,我们就可以进行配置了,首先,我们来配置snmpd,其位置是/etc/snmp/snmpd.conf

顺序说一句,debian默认的文件跟这个文件好像是不一样的,我这里以CentOS 5.1, NET-SNMP version: 5.3.1以例。
编辑/etc/snmp/snmpd.conf
找下面这句:

com2sec notConfigUser default public

建议把default改为你mrtg所在的机器的IP,(原则上应该不要,但是在我的环境里面,如果不改,总是没法访问,那怕是本机也不行,郁闷)
把下面的#号去掉(#在89行)

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

把下面的语句(#在62行)

access notConfigGroup "" any noauth exact systemview none none

改为:

access notConfigGroup "" any noauth exact mib2 none none

改完重启一下snmp

Service snmpd restat

这里是Debian里面的改法:
同样是编辑/etc/snmp/snmpd.conf,
找到

com2sec paranoid default public

改为

com2sec paranoid your-mrtg-ip public

找到

view system included .iso.org.dod.internet.mgmt.mib-2.system

在下面加上一行:

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

找到:

access MyROSystem "" any noauth exact system none none

改为:

access MyROSystem "" any noauth exact mib2 none none

如果snmpd与mrtg不在同一个机器,那么,我们还要修改下面这个文件,改变snmpd监听的地址,因为在debian中,snmpd默认只监听127.0.0.1
打开/etc/default/snmpd
找到

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

将其中的127.0.0.1删除,或者改为你要监听的地址
重启snmpd

OK,snmpd到这里算是配置好了。下面,我们来正式配置mrtg了
首先,我们要生成mrtg配置文件。

cfgmaker --output=/path/to/file publci@snmpd-server-ip

生成文件后,我们要进行一些修改, 在文件的最开始加上如下配置:

HtmlDir: /var/www/mrtg/ #生成html的位置
ImageDir: /var/www/mrtg/png #生成的图片的位置
LogDir: /var/www/mrtg/log #日志位置
#WorkDir: /var/www/mrtg #这个是上面三个的综合,但如果这个存上,上面三个说明无效,所有的生成文件都会存入到该目录

执行

env LANG=C mrtg /path/to/file

反复执行几次,直到没有错误为止

然后,所有生成的文件都到你开始配置的目录去找,

如果需要通过WEB方式 流览,只要将apache配置一下就可以了