3基于MRTG的流量监测的实现与分析
3.1 MRTG的安装
MRTG是用Perl编写的,它的运行需要Perl的支持,所以在安装MRTG之前必须下载并安装Perl语言。由于MRTG的流量监测是基于Web页面的,必须安装Web服务器软件,在这里选择了运用非常广泛的Apache。在安装MRTG时,选择了目前比较稳定的版本MRTG-2.12.2。
3.2 MRTG的配置
MRTG的配置是实现对网络流量监测的关键,而MRTG的配置信息都保存在mrtg.cfg文件中,对MRTG的配置实际上就是生成和配置mrtg.cfg文件。
在配置系统之前,需要收集以下信息:被监控设备的IP地址或主机名;如果还想监测除字节流量以外的其他信息,需要知道设备的SNMP OID;最后还要知道所监控设备的SNMP共同体认证名(community string)信息,缺省值是public。
MRTG的配置信息都是保存在mrtg.cfg文件中的,创建该文件并且在其中定义希望的监控特性。一般不需要直接手工编辑该配置文件,因为MRTG软件包提供有cfgmaker配置工具,根据运行参数可以自动生成mrtg.cfg配置文件。
首先在www服务器的Document Root目录下创建一个子目录用来存放MRTG生成的统计文件,这里假设apache是默认安装,因此Document Root在/var/www/html目录下创建子目录mrtg。下面就生成MRTG配置文件:
这里的一global参数表示后面的选项是对后面指定的设备都是有效的(如果希望对多个设备进行监控时,该参数就会发生作用)。WorkDir用来指示MRTG的工作目录;Options用来指定一些特定的选项,这里的grow-right,bits是用来指定默认options配置的,对于常见的应用来说默认options配置就可以满足需求了。
3.3设备端口流量监控
可以手工生成配置文件,但对于一般情况,可以使用MRTG自带的脚本来生成配置文件,如:
前面提到,SNMPv1是使用32位字长进行计数,因此如果采集间隔是5 min,所能正确表示的最大流量应该是:
因此,如果链路流量在接近或超过此数值时,计算出来的结果不再准确,这时候便只能使用SNMPv2计数器,在配置MRTG脚本,可以使用public@x.x.x.x.:::::2来指定读取SNMPv2的MIB值。
3.4 PING时延监控
在进行PING时延监控时,我们使用了另一个Perl脚本mrtg-ping,同时也可以监控丢包率,配置文件如下:
从以上例子可以看出,MRTG的监控对象就是Target语句后的内容,这里可以是SNMP的MIB对象,也可是执行脚本得到的数值。由此可以看到,MRTG监控的可扩充性非常好,可以自己编写脚本来获得感兴趣的数据,如服务器CPU利用率、内存利用率、磁盘空间、DNS服务器查询次数、Cache服务器Hit次数、甚至CPU温度等,MRTG都可将它们用直观图表呈现出来。
4结语
综上所述,MRTG在网络管理中的应用是非常有效的。我们只要灵活运用SNMP查询工具、系统状态检测工具,配合Per1编写传回字符串处理程序,即可完成MRTG的外挂程序,最后再搭配合适的MRTG配置命令即可产生另类实时流量统计图表。
因此,对MRTG的应用和持续开发,不但可以帮助网络管理员随时掌握网络系统和设备运行状态,还可以降低企业或组织的网络设备维护成本。
上一节:研究篇
【编辑推荐】