MRTG(1)监测linux网卡流量

       MRTG(Multi Router Traffic Grapher)是一个监控网络链路流量负载的工具软件,通过SNMP协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示流量负载。

       MRTG最早的版本是在1995年春天所推出,以perl所写成,因此可以跨平台使用,它利用了SNMP的OID来获取网络设备的相关信息,因此被监测设备本身需要支持SNMP。MRTG再以所收集到的信息产生HTML文件并以GIF或PNG格式绘制出图形,并以日、月、周等单位分别绘出。原来MRTG只能绘出网络设备的流量图,后来发展了各种plug-in,因此网络设备以外的设备也可由MRTG监控,例如服务器的硬盘使用量、CPU的负载等。

       MRTG的安装使用

       搭建工具软件的平台是opensuse12

  • 安装前准备工作

           MRTG为使用perl写成,需要以下工具支持

  1. perl(perl-5.0.xx以上)
  2. zlib(zlib-1.1.3-xx以上)
  3. gd(gd-1.3.xx以上)
  4. libpng
  5. 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
  1. 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已启动。
  1. 安装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来访问网卡流量监测结果啦。

我的流量监测显示图如下:

posted @ 2014-04-23 11:25  softwindzy  阅读(458)  评论(0)    收藏  举报