MRTG(Multi Router Traffic Grapher)是一个监控网络链路流量负载的工具软件,经过SNMP协议获得设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以很是直观的形式显示流量负载。html
MRTG最先的版本是在1995年春天所推出,以perl所写成,所以能够跨平台使用,它利用了SNMP的OID来获取网络设备的相关信息,所以被监测设备自己须要支持SNMP。MRTG再以所收集到的信息产生HTML文件并以GIF或PNG格式绘制出图形,并以日、月、周等单位分别绘出。原来MRTG只能绘出网络设备的流量图,后来发展了各类plug-in,所以网络设备之外的设备也可由MRTG监控,例如服务器的硬盘使用量、CPU的负载等。linux
MRTG的安装使用web
搭建工具软件的平台是opensuse12apache
MRTG为使用perl写成,须要如下工具支持浏览器
- perl(perl-5.0.xx以上)
- zlib(zlib-1.1.3-xx以上)
- gd(gd-1.3.xx以上)
- libpng
- apache httpd
查看系统上是否安装上述软件,可使用如下rpm命令来确认:服务器
-
- rpm -qa|grep perl
- rpm -qa|grep zlib
- rpm -qa|grep gd
- rpm -qa|grep libpng
若是没有安装的话,可使用zypper search/install命令来安装相应的软件。网络
- 另外,经过浏览器的方式展现监控图表,须要部署好web服务器apache。apache的部署在本文中就不在阐述。
- 开始安装MRTG
- MRTG须要snmp进行监控,因此须要snmp软件,在linux下我选择了net-snmp。经过使用zypper search/install net-snmp安装net-snmp软件。安装后,对net-snmp作相应的配置设置
- 修改/etc/snmp/snmp.conf文件中的配置,若是须要修改相关配置的话,对该配置文件进行修改便可。我在这里保持默认配置。
- 启动net-snmp:使用service snmpd start命令启动snmp。使用netstat -aonup|grep 161能够查看snmp已启动。
- 安装MRTG
- 使用zypper search/install mrtg便可安装mrtg。
- 使用mkdir -p /usr/local/apache2/htdocs/mrtg/net命令建立目录,该目录用来放置mrtg监测的结果。
- 运行cfgmaker --output=/usr/local/apache2/htdocs/mrtg/net/mrtg.cfg public@127.0.0.1命令来建立配置文件
- 使用vi /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg修改该配置文件,把配置文件中的以下几行注释去掉,并修改为本身的配置,以下图。修改workdir和options。

- 运行命令mrtg /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg,开始运行监测程序。能够多运行几回,若是运行有问题,须要修改mrtg.cfg
- 对生成的mrtg.cfg中的html部分的内容的注释和单个空格全去掉,保存。
- 运行命令indexmaker --output=/usr/local/apache2/htdocs/mrtg/net/index.html --title=linux net report /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg,这个命令用来建立web服务器中显示的页面。
- 使用crontab来设置按期执行检测。修改/etc/crontab,在其中加入如下行(每5分钟监测一次网卡流量)

- 上述配置完成后,就能够经过http://yourIP/mrtg/net/index.html来访问网卡流量监测结果啦。
个人流量监测显示图以下:工具
