6.MRTG设置
实施步骤如下:
1.首先下载Perl ;下载MRTG,解压缩后內含MRTG-2.8.12 主程序。
2.设定SNMP(Simple Network Management Protocol)
MRTG 统计 Router 流量时,是通过 SNMP来取得数据的,由 MRTG 送出 SNMP 查询要求给 Router,这时候我们称此工作站叫做 SNMP Agent,而把 Router 叫做SNMP Server 。SNMP 查询要求是使用 TCP 161 Port,SNMP Server 收到要求后会将要求的数据以 UDP 1024 以后的 Port 送回 SNMP Agent。
要让 MRTG 能够读取流量数据,首先必須把 Router 上的 SNMP Server 功能打开,首先 Telnet 到 Router 上,进入 config 指令层,这里是以 Cisco Router 为范例。
Router(config)#snmp community public ro
community string 就是 SNMP 的密码,一般是设成 public,如果您不希望別人也來检测您的 R
outer 的MIB,可以将此字串改为您自定的密码。当然待会设定 MRTG 时,也要修改。我们将此密码设定为 RO,也就是允许知道密码的人,可以读取 Router 上的 MIB 状态。如果是设定成 RW,那就是允许可以设定或重置 Router 状态,由于 MRTG 只需要读取,所以只设 RO 就够用了。如果您觉得这样还不够安全,还可以指定 ACL Rule。ACL 主要功能为过滤来源 IP,只有特定 IP 的 SNMP 要求,Router 才会回应,其余的
IP 来源不予理会。
设定好了以后,先以 exit 退回到 enable 指令层,然后以 sh run 来查看设定是否成功,检查沒有问题后,以 copy run start 将设定值备份到 flash ROM 上面,以免停电重启,设定值遗失。
3.安裝 Perl 和 MRTG
首先是安裝 ActivePerl-5.6.0.613在c:\perl,直接双击即可。Perl 在安装时,会自动增加 PATH 环境变数的设定,同时会自动设定应用程序的相关性。然后把MRTG 主程式解开后,放在 c:\mrtg 目录中。
4.修改 MRTG 主程式
現在我们先来修改 MRTG 主程式,使它可以在 Windows 下面执行。通常写Perl 程式时第一行要指定 Perl 的所在路径,但在 Windows 下面,这项工作已经由 PATH 环境变数代劳了。
5.设定 MRTG组态
这项工作可以使用以下指令来完成: 想建立多个组态,如合做?>>
c:\mrtg\bin>perl cfgmaker public@192.168.0.1 >> mrtg.cfg
以上指令是用来建立 192.168.0.1这个 Router 的组态,使用 public 来当SNMP community string,建立好的组态则是放在 mrtg.cfg 组态档中(记得前面改 Router 时曾经设定过 community string 吗?如果您不是設 public,这里可別照着做)。
6.建立 MRTG 统计网页
perl怎么下载6.1首先,建立子目录data来存放数据记录:
c:\mrtg\md data
6.2使用 indexmaker 来建立目录网页,使用下列指令:
c:\mrtg\bin>perl indexmaker -o c:\mrtg\data\index.html mrtg.cfg
6.3.修改 indexmaker 主程式,设置目录网页的标题:
c:\mrtg\bin>perl indexmaker –title=流量统计
6.4执行批处理档
在 Win NT(包括 Win 2000) 中,MRTG 排程使用 NT 系统的 at 指令。将下列批处理放到 c:\mrtg 目录中,总共有六支批次档,現在说明其功能:
mrtgkick.bat 是最底层的批次挡,主要是执行 mrtg 主程式
@echo off
perl c:\mrtg\bin\mrtg c:\mrtg\bin\mrtg.cfg
exit
perl c:\mrtg\bin\mrtg c:\mrtg\bin\mrtg.cfg
exit
A.bat、B.bat、C.bat 这三支批次挡是为了避免连续呼叫 mrtgkick.bat 造成 Recursive(迂回,也就是说前一个执行尚未实体执行完毕,还未释放系统资源,下一个执行实体又建立,而资源被使用中无法取得,造成死结),因此这三支批次挡內容都相同。
@echo off
start c:\mrtg\mrtgkick.bat
exit
start c:\mrtg\mrtgkick.bat
exit
2.bat 的內容只有一行,主要是参数传送方式设定 at 自动排程,第一个参数(%1)是执行时间,第二个参数(%2)是执行的程式內容。
at %1 /every:m,t,w,th,f,s,su "%2"
注意:/every:m,t,w,th,f,s,su 中 m 是指 monday,其余依此类推。也就是说每个的星期一到星期日都要执行,换句话说就是每天执行的意思。
3a.bat 是最上层的批次档,也是将来要做排程设定的对象。这支批次档是呼叫 2.bat 并且传入两个参数,参考上面的说明,我们可以了解其实就是按时去轮流执行 A.bat、B.bat、C.bat
三支批次档,轮流执行的原因是为了避免造成 Recursive。
call 2.bat 0:00 C:\mrtg\A.BAT
call 2.bat 0:05 C:\mrtg\B.BAT
call 2.bat 0:10 C:\mrtg\C.BAT
call 2.bat 0:15 C:\mrtg\A.BAT
………
call 2.bat 0:05 C:\mrtg\B.BAT
call 2.bat 0:10 C:\mrtg\C.BAT
call 2.bat 0:15 C:\mrtg\A.BAT
………
call 2.bat 23:50 C:\mrtg\B.BAT
call 2.bat 23:55 C:\mrtg\C.BAT
call 2.bat 23:55 C:\mrtg\C.BAT
设置好排程以后,现在我们就将它执行起來:
c:\mrtg>3a
这支批次档只要执行一次就可以了。它会在 at 清单上建立 288 个执行项目,也就是每天每小时的五分、十分、十五分、二十分.........各执行一次 MRTG。
7.在SNMP Agent Internet管理服务器,把默认站点设为:IP:192.168.0.1 tcp端口 80,主目录设为:本机 c:\mrtg\data
8.执行mrtg命令,使用下列指令:
c:\mrtg\bin>perl mrtg mrtg.cfg
9.MRTG 流量统计图表
現在就可以欣赏一下成果吧!在画面上,已经可以看到流量跑出来了!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论