2023年12月18日发(作者:)

网络监控软件MRTG使用手册

网络监控软件MRTG使用手册

Version 1.0

第 1 页 共 16 页

网络监控软件MRTG使用手册

目 录

1.

2.

概述 ............................................................... 3

SNMP(简单网络管理协议)简介 ........................................ 4

2.1. MIB ............................................................................................................................... 4

2.2. Trap ............................................................................................................................... 4

MRTG使用说明 ....................................................... 6

3.1. 安装 ............................................................................................................................... 6

3.2. 配置MRTG .................................................................................................................. 7

3.2.1. 使用MRTG监视链路带宽 .............................................................................. 7

3.2.2. 使用MRTG监视Packet .................................................................................. 8

3.2.3. 使用MRTG监视CPU及Memory ................................................................. 9

3.2.4. 生成全局监视网页 ........................................................................................... 9

3.3. MRTG关键字简介 .................................................................................................... 10

3.3.1. 全局关键字 ..................................................................................................... 10

3.3.2. 项目关键字 ..................................................................................................... 10

3.4. 将MRTG添加为Windows系统服务 ...................................................................... 12

3.4.1. 修改注册表 ..................................................................................................... 12

3.4.2. 安装服务 ......................................................................................................... 12

3.5. 使用MRTG监视Windows设备状态 ...................................................................... 13

GetIf ............................................................. 14

3.

4.

附录:Cisco设备常用OID ................................................... 15

第 2 页 共 16 页

网络监控软件MRTG使用手册

1. 概述

MRTG(Multi Router Traffic Grapher,MRTG)是一个监控网络设备或链路状况的免费工具软件。它包含了一个用Perl语言编写的脚本,通过SNMP协议从设备得到设备和链路的各类数据(包括流量,系统负载,登陆会话,内存使用情况等SNMP所支持的全部数据),并将其以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示出来。

MRTG将每项数据每天、每周、每月、每年的情况分别作图并放在一个HTML文档中,而且可以将不同数据的实时情况合并另一个HTML文档中并建立了与源HTML文档的链接,使网络监控变得非常方便。由于使用了有效的数据合并算法,MRTG的日志文件使固定大小的,因此不用担心随着记录时间变长日志文件会大的难以接受。

第 3 页 共 16 页

网络监控软件MRTG使用手册

2.

SNMP(简单网络管理协议)简介

SNMP(Simple Network Management Protocol),是IETF研究小组为了解决Internet上的路由器管理问题而提出的,随着技术和协议的发展,只要通过合适的代理程序和MIB信息表,就可以通过SNMP协议直观方便的管理网络设备/主机/数据库/应用服务等等。

2.1. MIB

由于SNMP协议的实现与设备和传输协议无关,因此就需要设定一种中间的传输方式,来实现信息的传递。在RPC中采用了XDR表示方法,在SNMP中则设定了一种SMI(Structure

of Management Information)结构来传递SNMP信息,而SMI的具体表现就是SNMP的设计核心:MIB (Manage Information Base)管理信息库。

MIB在表现形式上,是一组属性的集合与详细描述,每一组属性都称为一个对象。每一个对象都有以下四个属性:对象类型(Object Type)、语法(Syntax)、访问(Access)、状态(Status)。

MIB是一个按照层次结构组织的树状结构(定义方式类似于域名系统),管理对象为定义为树中的相应叶子节点。管理对象是按照模块的形式组织,每个对象的父节点表示该种对象属于上层的哪一个模块。而且OSI为树中每一层的每个节点定义唯一的一个数字标识,每层中的该数字标识从1开始递增,这样树中的每个节点都可以用从根开始到目的节点的相应的标识对应的一连串的数字来表示,如1.3.6.1.2.1.1表示了MIBII中系统组子树,而1.3.6.1.2.1.1.1.0表示系统组中的系统描述(sytem Descrption)对象。每个对象的一连串数字表示被称为对象标识符(Object Indentifier,OID)。

2.2. Trap

从被管理设备中收集数据有两种方法:一种是只轮询(polling-only)的方法,另一种是基于中断(interrupt-based)的方法。

如果只使用只轮询的方法,那么网络管理工作站总是在控制之下。而这种方法的缺陷在于信息的实时性,尤其是错误的实时性。你多久轮询一次,并且在轮询时按照什么样的设备顺序呢?如果轮询间隔太小,那么将产生太多不必要的通信量。如果轮询间隔太大,并且在轮询时顺序不对,那么关于一些大的灾难性的事件的通知又会太馒。

当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站(在这里假设该设备还没有崩溃,并且在被管理设备和管理工作站之间仍有一条可用的通信途径)。然而,这种方法也不是没有他的缺陷的,首先,产生错误或自陷需要系统资源。如果自陷必须转发大量的信息,那么被管理设备可能不得不消耗更多的时间和系统资源来产生自陷,从而影响了它执行主要的功能。

结果,以上两种方法的结合:面向自陷的轮询方法(trap-directed polling)可能是执行

第 4 页 共 16 页

网络监控软件MRTG使用手册

网络管理最为有效的方法了。一般来说,网络管理工作站轮询在被管理设备中的代理来收集数据,并且在控制台上用数字或图形的表示方式来显示这些数据。这就允许网络管理员分析和管理设备以及网络通信量了。

被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程度等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。这些错误情况就是众所周知的SNMP自陷(trap)。

第 5 页 共 16 页

网络监控软件MRTG使用手册

3. MRTG使用说明

3.1. 安装

首先MRTG的安装包解压到C:mrtg-2.13.2;

由于MRTG的所使用的脚本是使用Perl语言编写的,因此在安装MRTG之前需要安装ActivePerl(最新版本可以在

/Products/Download/?id=ActivePer找到)。成功安装后,在环境变量中会出现相应的的系统变量(如图)。

第 6 页 共 16 页

网络监控软件MRTG使用手册

3.2. 配置MRTG

3.2.1. 使用MRTG监视链路带宽

运行cmd,进入DOS状态,然后进入刚才解压的MRTG目录(即C:mrtg-2.13.2bin),执行命令

C:mrtg-2.13.2bin>**************************.4.1--global"WorkDir:C:mrtg-2.13.2bincisco"--

其中**************.4.1是需要获得SNMP数据的设备的community 和它的IP地址,WorkDir: C:mrtg-2.13.2bincisco 使用的是正确安装MRTG后,需要使用到的WEB目录,可以根据实际情况更改; output 则是输出后的配置文件名称。(在执行此命令之前应先将需要监控的设备的SNMP服务开启,community为public。)命令执行完毕之后将在当前目录生成配置文件,文件的内容如下:

######################################################################

# System: R1

# Description: Cisco Internetwork Operating System Software

# IOS (tm) C2600 Software (C2600-I-M), Version 12.2(31), RELEASE SOFTWARE (fc2)

# Technical Support: /techsupport

# Copyright (c) 1986-2005 by cisco Systems, Inc.

# Compiled Thu 11-Aug-05 17:24

# Contact:

# Location:

######################################################################

### Interface 1 >> Descr: 'Ethernet0/0' | Name: 'Et0/0' | Ip: '192.168.4.1' | Eth: '00-50-73-5c-b6-40' ###

Target[192.168.4.1_1]:1:**************.4.1:SetEnv[192.168.4.1_1]: MRTG_INT_IP="192.168.4.1" MRTG_INT_DESCR="Ethernet0/0"

MaxBytes[192.168.4.1_1]: 1250000

Title[192.168.4.1_1]: Traffic Analysis for 1 -- R1

PageTop[192.168.4.1_1]:

Traffic Analysis for 1 -- R1

....................................................................

然后执行

C:mrtg-2.13.2bin>perl mrtg

第 7 页 共 16 页

网络监控软件MRTG使用手册

命令成功执行完成后,将会在前一个命令所指定的WEB目录里面生成以IP+端口命名的网页(如上图中的192.168.4.1_1)和一些png图片,这些图片就是网络当时的流量图。我们可以直接打开这个网页检查一下,看是否正常。刚开始生成后很多都是空白的,需要让它自动运行一段时间后才可以有图形表现出来。如果需要将带宽按Bit形式表示,只需要在中加入一行

Options[192.168.4.1_1]: bits

3.2.2. 使用MRTG监视Packet

使用MRTG监视Packet时配置文件不能自动生成,但是我们对带宽的配置文件进行简单修改,就可以实现对Packet的监视。

在监视带宽的配置文件中

Target[192.168.4.1_1]:1:**************.4.1:

其实是

Target[192.168.4.1_1]:.1.3.6.1.2.1.2.2.10.1&.1.3.6.1.2.1.2.2.1.16.1:**************.4.1:

的简写。其中.1.3.6.1.2.1.2.2.1.10和.1.3.6.1.2.1.2.2.1.16分别是进、出端口的流量的oid(官方解释为The total number of octets received on the interface, including framing characters和The

total number of octets transmitted out of the interface, including framing characters.),而后面的.1是接口号(对应192.168.1.1_1中的_1)。

由此我们可以很容易的写出Packet的配置文件

Target[packet]:

.1.3.6.1.2.1.2.2.1.11.1&.1.3.6.1.2.1.2.2.1.17.1:**************.4.1:MaxBytes[packet]: 100000000

Options[packet]:bits,

nopercent,

Title[packet]: IP Packet Count MRTG

PageTop[packet]: IP Packet Count MRTG

Language:gb2312

YLegend[packet]: IP Packet Count

....................................................................

其中第一行中的.1.3.6.1.2.1.2.2.1.11.1&.1.3.6.1.2.1.2.2.1.17.1分别是进、出端口的单播报文的oid。

第 8 页 共 16 页

网络监控软件MRTG使用手册

3.2.3. 使用MRTG监视CPU及Memory

监视CPU与RAM的方法与带宽基本相同,只需要查到设备对应的oid号以及对配置文件进行相应的修改即可。例如:

# Router CPU load

Target[cpu]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:**************.4.1:RouterUptime[cpu]:**************.4.1:MaxBytes[cpu]: 100

Title[cpu]: CPU LOAD

PageTop[cpu]:

CPU Load %

XSize[cpu.1]: 380

YSize[cpu.1]: 100

ShortLegend[cpu]: %

YLegend[cpu]: CPU Utilization

Legend1[cpu]: CPU Utilization in % (Load)

Legend2[cpu]: CPU Utilization in % (Load)

Options[cpu]: gauge

#Router Memory utilization

Target[men]:1.3.6.1.4.1.9.2.1.8.0&1.3.6.1.4.1.9.2.1.8.0:**************.4.1:Directory[men]: memory

WithPeak[men]: wmy

YLegend[men]: Memory Utilization

ShortLegend[men]: Used

MaxBytes[men]: 16384

Options[men]: gauge, growright

Unscaled[men]: dwmy

AbsMax[men]: 16384

Title[men]: Router

Legend1[men]: Memory Utilized

Legend2[men]:

Legend3[men]: " "

Legend4[men]:

LegendI[men]:  Memory:

LegendO[men]:

PageTop[men]:

Memory Utilization

3.2.4. 生成全局监视网页

现在我们已经生成了接口带宽、Packet数、CPU负载、Memory利用率4类数据,但是每一项数据都是显示在单独的日志文件和网页中,操作起来还不是很方便。这是我们可以使

第 9 页 共 16 页

网络监控软件MRTG使用手册

用MRTG的另一个工具Indexmaker,将所有项目当天的数据图合并在同一个网页中。

在命令行下输入

C:mrtg-2.13.2bin>perl indexmaker perl indexmaker --output=

系统将会在我们指定的WEB目录里面自动生成,我们现在可以打开网页文件来查看是否正常了。我们还可以对这个网页的内容、格式等进行修改,使其更加符合我们的要求。

3.3. MRTG关键字简介

3.3.1. 全局关键字

关键字

Workdir

Refresh

Interval

说明

制定创建日志文件和网页的位置。

实例

workdir: /var/www/mrtg

指定浏览器刷新网页的时间,默认为300(秒)。 Refresh: 600

设定MRTG运行的频率,最小值为300(秒)。 Interval: 600

RunAsDaemon: Yes RunAsDaemon 使MRTG成为后台进程,不断执行。

3.3.2. 项目关键字

关键字

Name

说明

被监视的项目的名称,必须是全局下唯一的,也是日志文件和网页的文件名:

Keyword

[node-name]: values

实例

Target[RTR-DALLAS]:5:************.0.10:SetEnv[RTR-DALLAS]:MRTG_INT_IP="192.168.0.10"

MRTG_INT_DESCR="Ethernet0"

MaxBytes[RTR-DALLAS]: 1250000

Target 制定被监视的目标: Target[192.168.0.20_2]:2:************.0.20:Target [interface]:

snmp-string@router

制定被监视的项目所允许的最大值。

MaxBytes[RTR-DALLAS-T1]:9600 MaxBytes

AbsMax 用于监视链路,使AbsMax[192.168.0.10]: 19200

MRTG支持大于MaxBytes的数据。

第 10 页 共 16 页

网络监控软件MRTG使用手册

关键字

Unscaled

说明

覆盖默认设置,使MRTG图的纵轴显示真实的数据。

实例

Unscaled[192.168.0.10]: ym

Title

PageTop

在网页中加入标题。 Title[192.168.0.10]:Traffic Accounting for Ethernet page

在网页顶部加入文字。

PageTop[r1]:

Stats for our ISDN Line

RouterUptime[RTR-DALLAS]:**************.0.10RouterUptime 显示路由器的工作时间。。

WithPeak 使MRTG显示每周、WithPeak[myrouter]: ym

每月、每年数据的峰值。

无视已经生成的数据图。

制定数据图的宽度和高度。20

600, Y>20.

制定数据图中的颜色。

制定纵轴的名称。

数据图的单位。

图例的名称。

Suppress[myrouter]: y Suppress

XSize and

YSize

XSize[myrouter]: 300

YSize[myrouter]: 300

Colours Colours[myrouter]:GREEN#00eb0c,BLUE#1000ff,

DARK GREEN#006600,VIOLET#ff00ff

YLegend[myrouter]: Bits per Second

ShortLegend[myrouter]: b/s

Legend1[myrouter]: Incoming Traffic in Bits per Second

Legend2[myrouter]: Outgoing Traffic in Bits per Second

Legend3[myrouter]: Maximal 5 Minute Incoming Traffic

Legend4[myrouter]: Maximal 5 Minute Outgoing Traffic

LegendI[myrouter]:  In:

LegendO[myrouter]:  Out:

YLegend

ShortLegend

Legend

[1234IO]

第 11 页 共 16 页

网络监控软件MRTG使用手册

关键字

Options

说明 实例

选项关键字,参数如Options[myrouter]:

下:

growright.

Bits

perminute

perhour—

Displays the

values in per

minute/hour

instead of the

default in per

second.

gauge

nopercent

unknaszero—

Logs unknown

data as 0s instead

of the default of

repeating the last

value seen.

3.4. 将MRTG添加为Windows系统服务

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

3.4.1. 修改注册表

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMRTGParameters]

"Application"="c:"

"AppParameters"="c:mrtg-2.13.2binmrtg --logging=eventlog c: "

"AppDirectory"="c: mrtg-2.13.2bin"

3.4.2. 安装服务

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

第 12 页 共 16 页

网络监控软件MRTG使用手册

instsrv MRTG c:

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

3.5. 使用MRTG监视Windows设备状态

1) 安装SNMP服务

打开控制面板→添加删除程序→添加删除Windows组件,安装SNMP(简单网络管理协议)。

2) 安装SNMP4W2K

由于Windows自带的SNMP功能比较简单,而且查询oid比较困难,因此需要使用一个叫做SNMP4W2K的SNMP服务开发的增强工具,可以在/snmp4tpc/下载。

安装完成后程序会自动重新启动Windows的SNMP服务。这时我们就可以使用MRTG监视Windows的设备了。具体的oid号可以查看SNMP4W2K的README文件。

常用设备oid号:

CPU:.1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48(双CPU可能有所不同)

内存:.1.3.6.1.4.1.311.1.1.3.1.1.1.2.0

硬盘:.1.3.6.1.4.1.311.1.1.3.1.1.4.1.5.0

逻辑磁盘:.1.3.6.1.4.1.311.1.1.3.1.1.5.1.4.0

页面文件:.1.3.6.1.4.1.311.1.1.3.1.1.6.1.3.0

缓存:.1.3.6.1.4.1.311.1.1.3.1.1.11.27.0

TCP连接:.1.3.6.1.4.1.311.1.1.3.1.1.12.2.0

UDP连接:.1.3.6.1.4.1.311.1.1.3.1.1.14.5.0

IP连接:.1.3.6.1.4.1.311.1.1.3.1.1.13.9.0

ICMP连接:.1.3.6.1.4.1.311.1.1.3.1.1.23.1.0

第 13 页 共 16 页

网络监控软件MRTG使用手册

4. GetIf

GetIf是一个运行于WINDOWS平台的SNMP工具。功能非常强大,可以查询WINDOWS很多设备的MIB码和其他网络设备,如思科等的MIB码。有了这些MIB码就可以方便的对设备进行监测了。安装GetIf的方法如下:

1、 下载GETIF2.3 :/snmp4tpc/FILES/Tools/SNMP/getif/

2、 下载MIB库:/snmp4tpc/FILES/Tools/SNMP/getif/

3、 解压GETIF2.3后进行安装,按照默认设置安装即可。

4、 删除GETIF2.3安装目录中MIBs子目录里的.index文件。

5、 解压到上步中.index文件所在的目录。

6、 运行GetIf2.3

运行GetIf,在Parameters页中的Host name中输入设备IP地址,在SNMP Parameters中的Read中输入设备的community字符串。

然后切换到Mbrowser页点击Start,GETIF就会列出所有搜索到的MIB码。点击相应的设备后,MIB码和注释就显示出来了。也可以在标准的树行结构中选择搜索的项目在点击Start,以缩小搜索的范围。

第 14 页 共 16 页

网络监控软件MRTG使用手册

附录:Cisco设备常用OID

旧版Cisco设备OID

Cisco CPU load (5min %) : 1.3.6.1.4.1.9.2.1.58.0

Cisco CPU load (1min %) : 1.3.6.1.4.1.9.2.1.57.0

Cisco CPU load (5sec %) : 1.3.6.1.4.1.9.2.1.56.0

Cisco Free Memory:.1.3.6.1.4.1.9.2.1.8

新版Cisco设备OID

Memory :

1.3.6.1.4.1.9.9.48.1 : cisco memory pool

1.3.6.1.4.1.9.9.48.1.1.1 : pool try

.1 : type

.2 : name

.3 : alternate

.4 : valid

.5 : used

.6 : free

.7 : max free

Routeurs : 2 entry : memory IO and Processor

Pix : 1 entry PIX Memory

CPU

1.3.6.1.4.1.9.9.109.1.1.1.1 : cpmCPUTotalEntry

1 : index

2 : phys index

3 : total 5s

4 : total 1m

5 : total 5m

6 : total 5s (new)

7 : total 1m (new)

8 : total 5m (new)

MIB name

if(In/Out)Octets

oid number

1.3.6.1.2.1.2.2.1.10 and .16 (32 bits counter),

第 15 页 共 16 页

网络监控软件MRTG使用手册

.1.3.6.1.2.1.31.1.1.6 and .10 (64 bits counter)

if(In/Out)UcastPkts

if(In/Out)Discards

ifInUnknownProto

if(In/Out)NUcastPkts

if(In/Out)MulticastPkts

ifHC(In/Out)BroadcastPkts

if(In/Out)HCUcastPkts

ipOutNoRoutes

ipInReceives

ipInDelivers

ipInAddrErrors

ipForwDatagrams

ipInHdrErrors

if(In/Out)Errors

1.3.6.1.2.1.2.2.1.11 and .17

1.3.6.1.2.1.2.2.1.13 and .19

1.3.6.1.2.1.2.2.1.15

1.3.6.1.2.1.2.2.1.12 and .18

1.3.6.1.2.1.31.1.1.1.8. and .12

1.3.6.1.2.1.31.1.1.1.9. and .13

1.3.6.1.2.1.31.1.1.1.7 and .11

.1.3.6.1.2.1.4.12

.1.3.6.1.2.1.4.3

.1.3.6.1.2.1.4.9

.1.3.6.1.2.1.4.5

.1.3.6.1.2.1.4.6.

.1.3.6.1.2.1.4.4

1.3.6.1.2.1.2.2.1.14 and .20

第 16 页 共 16 页