mrtg--网络流量监控

来源:互联网 发布:淘宝卖家借贷额度 编辑:程序博客网 时间:2024/05/02 02:23

官方的安装指导:http://mrtg.cs.pu.edu.tw/doc/mrtg-nt-guide.en.html

Windows安装

MRTG(MultiRouter Traffic Grapher),通常讲是一个监控网络链路流量负载的开源软件,它可以从所有运行SNMP协议的设备上(包括服务器、路由器、交换机等)抓取信息。事实 上它不仅可以监控网络设备,任何其它的支持SNMP协议的设备都可以做为MRTG的监控对象,并自动生成包含PNG图形格式的HTML文档,通过HTTP 方式显示给用户。

准备安装环境

    安装之前,除了MRTG安装程序外,还要下载几个辅助软件。这些软件全部是免费的。

1. 下载MRTG

      http://www.mrtg.org/

   2. 下载ActivePerl

http://www.activestate.com/activeperl/downloads

http://www.cr173.com/soft/14302.html

 

3. 下载Windows服务安装工具:SERANY.exe和 INSTSRV.exe

http://www.electrasoft.com/

安装MRTG

 

下载了以上软件后就可以开始安装了。事实上在Windows上安装MRTG很简单,因为MRTG是以Perl语言开发的,所以要首先安装一个Perl语言的运行环境出来。

 

1. 安装ActivePerl

    解压ActivePerl的包,在安装目录中找到install.bat文件,运行它即可。在DOS窗口中,安装程序会问一些问题,诸如安装路径、是否要 修改环境变量等,可以全部使用缺省设置,一路回车就行了。缺省情况下Perl安装在C:\Perl目录下。完成安装后,打开Windows的环境变量检查一下是否增加了Perl的运行文件路径。

2. 安装MRTG

   解压MRTG的包,我用的是MRTG-2.12.2版本。将解压后的目录移到C:\下就行了。

 

需要注意的地方

(1)、给Windows安装SNMP协议支持

通常由于SNMP是一个建议关闭的协议(因为有安全漏洞),所以Windows2003不是缺省安装的。不过MRTG就是要用SNMP协议,有什么办法呢,就装一个吧。在“控制面板->增加/删除程序->Windows 组件安装”中,安装SNMP的组件。(打开"Windows 组件向导"-->在“组件”中,单击“管理和监视工具”(但是不要选中或清除其复选框),然后单击“详细信息”。

选中“简单网络管理协议”复选框,然后单击“确定”。)

(2)、修改SNMP的安全设置

        如果被监控的机器上也跑Windows的话,这部分就一定要设置(要在被监控方设置,MRTG所在服务器可以不用设置),否则永远也收不到SNMP的消息。

打开Services窗口并找到SNMP服务,打开右键菜单,选择属性。在打开的窗口中找到“安全”选项页。在选项页中有两部分设置,上半部分是指 SNMP服务接受哪种Community指示字,缺省情况下Windows 2003不对任何指示字反馈。我一般都设为“public--READ ONLY”。下半部分可以设置可信任的主机名、IP或是IPX名称。

(3)、修改防火墙

        如果你安装了防火墙,要记得打开UDP161端口,否则也会问题多多。

运行MRTG

    好了,总算安装完了。现在可以运行一下MRTG了,看看它的庐山真面目。

    打开DOS窗口,首先进入C:\mrtg\bin,然后输入以下命令:

      perl cfgmaker public@localhost --global"WorkDir: C:\Inetpub\wwwroot\mrtg" --output mrtg.cfg

    这条命令是给MRTG建立一个监控配置文件,监控的对象是localhost,就是本地机器。你也可以用IP地址来代替localhost,或者指向其它的监控主机。(注意:上面这行命令中WorkDir: 与C:盘符之间要有空格!!! 另外C:\Inetpub\wwwroot\mrtg这个目录也可以换成其它目录,不过因为mrtg会在这个工作目录下生成统计图表和网页,所以一般指定 为某个站点下的目录,以方便直接从网上查看统计数据)

    再键入一个命令:

     perl mrtg mrtg.cfg

    这个命令会在C:\Inetpub\wwwroot\mrtg目录下建立一些HTML和PNG文件,这些文件就是用户通常看到的流量报表了。

使MRTG成为Windows的服务

      SERANY.exe和INSTSRV.exe这两个程序是Windows自带的工具的软件。它们可以把任何一个Windows的应用程序安装成为

Windows的一个服务。

   (1)、修改注册表

        创建一个文本文件,在文件中写入以下内容,并保存为mrtg.reg文件:

          Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]

"Application"="c:\\perl\\bin\\wperl.exe"

"AppParameters"="c:\\mrtg\\bin\\mrtg--logging=eventlog c:\\mrtg\\bin\\mrtg.cfg"

"AppDirectory"="c:\\mrtg\\bin\\"

   (2)、安装服务

        把SERANY.exe,instsrv.exe复制MRTG的安装目录下,键入以下命令:

        instsrv MRTG c:\mrtg\bin\srvany.exe

        双击mrtg.reg文件,把相关信息注册到注册表中。在“控制面板->管理工具->Services”下运行名为MRTG的服务即可。

 

默认情况下,每5分钟,mrtg收集一次数据(注意:一定要在bin\mrtg.cfg配置文件最后一行加上RunAsDaemon:yes)

 

Linux安装

http://www.mrtg.org查看官方文档

A.       需要的组件

 

安装MRTG 需要确认linux系统已经安装了以下组件:

GCC

Perl

Gd

Libpng

Zlib

Apache

确认的方法是rpm –qa| grep gcc (perl ,gd ,libpng,zlib)

至于apache ,安装系统的时候,会有一个默认的,其主目录是/var/www/html

 

如果缺少其他什么组件,可以参考MRTG的官网提供的地址去download http://oss.oetiker.ch/mrtg/doc/mrtg-unix-guide.en.html

B.       安装 MRTG

 

MRTG的安装包可以在其官网上获取

MRTG 的官网 :http://oss.oetiker.ch/mrtg/pub/?M=D

比较新的包mrtg-2.16.3.tar.gz

按照下面的步骤安装

[root@mail src]# tar xvfzmrtg-2.16.3.tar.gz

[root@mail src]# cd mrtg-2.16.3

[root@mail mrtg-2.10.15]# ./configure--prefix=/usr/local/mrtg-2

[root@mail mrtg-2.10.15]# make

[root@mail mrtg-2.10.15]# make install

        

C.安装完MRTG 之后,首先开启被监控server的SNMP 服务

1)检查是否存在SNMP服务

用rpm –qa|grep snmp 来检查linux 系统中是否有SNMP服务

net-snmp-perl-5.3.2.2-7.el5

net-snmp-libs-5.3.2.2-7.el5

net-snmp-libs-5.3.2.2-7.el5

net-snmp-utils-5.3.2.2-7.el5

net-snmp-5.3.2.2-7.el5

 

如果没有,可以拿来系统安装盘,打开进入Servers 目录,在里面很容易找到安装SNMP所需要的各个组件。

安装的时候可以用rpm –ivh *.rpm

如果安装过程中提示缺少libsensors.so.3 ,则在安装盘里找到并安装lm_sensors-2.10.7-4.el5.x86_64.rpm 和lm_sensors-devel-2.10.7-4.el5.x86_64.rpm之后再执行一次rpm –ivh *.rpm

 

2)启动snmp 服务

[root@mail doc]# /etc/rc.d/init.d/snmpdstart

Starting snmpd: [ OK ]

如果命令输出如上所示,就表示snmp服务器启动正常。

3)修改snmpd.conf

为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口) 流量数据。

vi /etc/snmp/snmpd.conf

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

的内容修改为:

view mib2 included.iso.org.dod.internet.mgmt.mib-2 fc ,即为去掉#号

然后将

access notConfigGroup "" anynoauth exact systemview none none

修改为:

access notConfigGroup "" anynoauth exact mib2 none none

然后再重新启动snmpd:

/etc/rc.d/init.d/snmpd restart

D.创建MRTG 的配置文件

 

首先确保linux 的防火墙已经被关闭,service iptables status /stop/start

其次要确保,被监控server 的snmp服务已经启动。否则拿不到interface 信息

mrtg的配置信息都是保存在mrtg.cfg文件中的,创建该文件并且在其中定义希望的监控特性。mrtg软件包提供有cfgmaker配置工具,这是一个脚本文件,根据运行参数可以自动生成mrtg.cfg配置文件

 

 [root@bmc1 ~]# /usr/local/mrtg-2/bin/cfgmaker--global "WorkDir:/var/www/html/mrtg" --global"Options[_]:growright,bits,unknas zero" --ifref=nr --ifdesc=descr '-

-if-filter=$if_oper' --snmp-option=:::::2--output /penny1/mrtg165.cfg public@10.10.7.165

其中WorkDir 为apache 的工作目录,为的是可以通过浏览器直接观察MRTG的监控图

    Output 是生成的MRTG配置文件存放的路径

    Public@后是被监控server 的IP

其他的一些含义可以参照提供的文档

E.       运行MRTG

 

运行/usr/local/mrtg-2/bin/mrtg /penny1/mrtg165.cfg (如需在命令前加env LANG=C 在执行的时候系统会给出提示)

这将查询被监控的设备并在工作目录下创建初始的流量图和web页面,在前三次运行时可能会报告遗失日志文件的告警信息,不要理睬这些信息,只需要连续运行三次以后再运行就不会产生告警信息了。

F.启动apache 服务

service httpd start

G.       使数据自动刷新

 

通过crontab 命令使MRTG的数据每隔1分钟刷新一次

[root@bmc1 ~]# crontab –e

*/1 * * * * env LANG=C/usr/local/mrtg-2/bin/mrtg /penny1/mrtg165.cfg

保存退出

E.       MRTG 效果图

 

纵坐标为流量大小,单位是bps ,横坐标为时间,单位是小时

linux <wbr>下MRTG的使用---------webgraph

可以通过http://10.10.7.165/mrtg 在浏览器上直接查看监控的流量情况

0 0
原创粉丝点击