kudingcha 2010-06-01
设备的所有的需要被管理的信息被看作一个各种被管理对象的集合,这些被管理对象由 OSI 定义在一个被称作管理信息(ManagementInformation Base,MIB)的虚拟的信息库中,以下是Mrtg windows版流量监控设定 MRTG 组态。
Mrtg windows版流量监控设定 MRTG 组态
Mrtg windows版流量监控MRTG 的使用流程是这样:首先执行 cfgmaker 来送出 SNMP 封包,侦测 Router 上所支援的 OID 号码,并建立组态档。这项工作可以使用以下指令来完成:
c:\mrtg\run>perl cfgmaker [email protected] > mrtg.cfg
以上指令是用来建立 163.21.236.254 这个 Router 的组态,使用 public 来当 SNMP community string,建立好的组态则是放在 mrtg.cfg 组态档中(记得前面改 Router 时,曾经设定过 community string 吗?如果您不是设 public,这里可别照着做)。
如果是在 Linux 的平台上,这个步骤应该可以很容易就完成。但是在 Windows 平台上你可能会遇到程式执行过久(感觉很像程式当掉),或是做出完全空白的组态档,以 Netxray 来监看封包可以找出原因,我们可以发现,当 163.21.236.71 (SNMP Agent) 从 163.21.236.254 (SNMP Server) 取得 OID 号码后,找到一个路由介面 IP 是 163.21.158.254 ,接着 Windows 对该 IP 进行反查,向 DNS Server 163.21.236.4 查询(图上反白的那一行),反查成功后,SNMP Agent 继续询问 SNMP Server,结果得到第二个路由介面 IP 是 163.21.234.254 ,一样对此 IP 进行反查,结果查不到,于是 Windows 继续以 NetBios Name 进行「广播找人」,但也查不到.......最后什么组态也做不出来。
由于在 Linux 上执行 cfgmaker 时,不会去反查 IP,所以一切都很顺利。在 Windows 上就没那么幸运了。解决方法是什么呢?其实很简单,只要为 Router 上的每一个 IP 都做好 DNS 纪录就可以了。
如果你有 Linux 的机器已经装好 Perl,也可以拷贝 cfgmaker 到 Linux 上,利用 Linux 来做组态档,然后再将做好的组态档拷贝回 Windows,这样也可以。否则还有第三个方法,就是手动来建立组态档。在市网中心所提供的 MRTG 套件中,内含有我修改过的范例组态档 mrtg.cfg,我们就以此档案为例,来了解一下组态档参数的意义。以下就是该档案内容(前面已经说过,使用 WordPad 来编辑,记得千万不要按 Enter):
WorkDir: e:\Inetpub\wwwroot\mrg
以上这一行是设定 MRTG 流量统计图的摆放位置,当然要摆放在网页所在的目录里
# Description: Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-IS56I-M), Version 12.0(2a), RELEASE SOFTWARE (fc1) Copyright (c) 1986-1999 by cisco Systems, Inc. Compiled Fri 01-Jan-99 16:32 by phanguye
# Contact:
# System Name: Router
# Location:
以上是 Router 上的 SNMP Server 讯息,其实都是注解行,如果觉得讨厌可以直接将它移除。
Target[g_point]: 1:[email protected]
这是定义资料来源,前面说过资料来源有两类:如果是以 OID : Community string 来定义,则来源由 SNMP Server 提供r如果要由外挂程式提供资料,则会定义成
Target[上线人数]: `perl myfinger.pl`
注意:中括弧里面是定义做出来的网页的档名,在这里会做出 g_point.html 的统计网页。
MaxBytes[g_point]: 1250000 54ne.com
这是定义流量的最大值,用来计算目前流量的百分比。如果只设定一笔,就表示流入流出的频宽相同。
Title[g_point]: 本校总流量统计
Options[g_point]: growright,bits
Mrtg windows版流量监控设定 MRTG 组态定义统计图的方向(由左至右)以及统计的单位(以 bits 来计算,而不是 bytes) PageTop[g_point]: <H1>本校总流量统计(Ethernet0/0)</H1>
网页显示时第一行的内容
Target[a_point]: 6:[email protected]
这里的 OID 号码是 6,这并不是完整的 OID。完整的 OID 应该是 1.3.6.1.2.1.2.1.6,在 MIB 里的定义是 IF-MIB!ifDescr,也就是指定 Router 上面的介面编号,要注意的是该编号是浮动式的,每次 Enable 或 Disable 一个介面,该编号都会有异动。所以当MRTG 执行后,会产生 mrtg.ok 档案,此档案会纪录目前哪一个编号对应到哪一个介面,当发生错误时,必须要自行核对此档案,然后手动去修改介面编号的正确值。
MaxBytes1[a_point]: 187500
MaxBytes2[a_point]: 48000