WINDOWS下安装MRTG全攻略
- 格式:doc
- 大小:291.00 KB
- 文档页数:26
目录一、mrtg安装(linux)(一)cisco设备配置(二)服务器配置(源码安装gcc、snmp、mrtg等)(三)添加mrtg用户和权限(四)服务器支持中文注:产生乱码大概有以下几点原因:1.系统默认语言,默认语言最好是英文,对于中文只是支持即可。
2.节点生成的配置文件,语言项,应该是“Chinese”或者GB2312,这两个可互相切换一下,因为系统版本不同可能要用的表示方法也不同。
3.生成过的index文件被Windows的记事本打开编辑过,有些Windows的记事本会产生乱码,这点要注意,不要用记事本打开生成的index文件。
4.更改过语言的配置文件,要将生成的index文件删除,重新生成。
5.查看MRTG的程序配置文件,语言应为中文。
一、Mrtg安装(linux)(一)CISCO设备配置1、进入enable模式2、config terminal3、依次输入如下命令snmp-server community public ROsnmp-server trap-source FastEthernet0/0snmp-server contact [你的联系人EMAIL地址]snmp-server enable traps(二)服务器配置(源码安装gcc、snmp、mrtg等)1.Mrtg需要的源码包如下。
gcc-4.5.0.tar.gz或gcc-4.5.0.tar.bz2gmp-4.3.2.tar.gz或gmp-4.3.2.tar.bz2mpfr-2.4.2.tar.gz或mpfr-2.4.2tar.bz2mpc-0.8.1.tar.gz或mpc-0.8.1.tar.bz2#说明要安装gcc需要GMP、MPFR、MPC这三个库,可从ftp:///pub/gcc/infrastructure/下载相应的压缩包。
由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。
windows2003下安装mrtg在windows2003下安装mrtg,环境为简体中文windows2003+IIS6.0.在windows2003下安装mrtg,环境为简体中文windows2003+IIS5.0.所需文件 Perl运行:ActiveState Perl 现在最新版本为5.8.6.811. MRTG 现最新版本为2.10.15安装步骤1)装备perl环境,由于是windows,所以要用ActiveState Perl。
2)配置snmp,基于安全理由,建议各位在设置snmp的时候,如果可以的话最好把默认的权限改了,并限制能访问的IP,这里就不展开谈了,而且不同的系统或者设备的SNMP 权限设置也不尽相同。
-3) 准备设置mrtg。
用perl运行\mrtg\bin\mrtg,注意的是路径问题,例如perl的执行文件在D:\Perl\bin,mrtg在D:\mrtg\bin,那么运行的命令就是D:\Perl\bin>perl D:\mrtg\bin\mrtg那么运行的结果应该是Usage: mrtg <config-file>mrtg-2.10.15 is the Multi Router Traffic Grapher.If you want to know more about this tool, you might want to read the docs. They came together with mrtg!先恭喜你了,perl和mrtg都准备好给你设置啦配置cfgmaker。
运行perl cfgmaker,你就会看到大量的参数设置说明,这里就不展开讨论了,本教材只是适合菜鸟的我才能写出来,我们只需要最简单最基本的就够了吧。
perl cfgmaker chinatnk@192.168.0.254 --global WorkDir:/mrtg/www --output myconfig.cfg说明一下:这个配置的cfg监视ip:192.168.1.100,他的访问权限是chinatnk,有只读权限就够过了;然后WorkDir:/mrtg/www就是输出html文件存放的路径,myconfig.cfg 就是为这个配置命名的文件名啦,你可以改成自己喜欢的名字,例如china.cfg的。
MRTG安装与使用Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件,它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载、CPU、MEM、SWAP、进程情况.安装前的准备:•安裝前的準備工作:MRTG 為使用 Perl 程式寫成的,並且使用到 zlib 、 gd 及 png 的函式庫(zlib 用來壓縮圖表、gd 用來繪製圖表),且由於 MRTG 乃使用 SNMP 協定,並且最後是以 HTTP 的網頁型態輸出成圖表,因此,你需要確定Linux 主機中已經含有下列的套件:o perl (perl-5.0xx 以上)o zlib (zlib-1.1.3-xx 以上)o gd (gd-1.3.xx 以上)o libpngo apache確定的方法就以 RPM 來確認吧:o rpm -qa | grep perlo rpm -qa | grep zlibo rpm -qa | grep gdo rpm -qa | grep libpng一、安装.1.RPM格式安装:安装目录为/usr/local/mrtg-2Rpm –ivh mrtg -2.9.29-4.ent.i386.rpm2.编译格式安装:可以在/indexintel10.html下载mrtg-2.16.2.tar.gz编译文件安装MRTG:#Tar –zxvf mrtg-2.16.2.tar.gz#cd mrtg-2.16.2#./configure –profix=/usr/local/mrtg-2#make & make install二、配置SNMP1.编辑/etc/snmp/snmpd.conf找到如下代码:[code]# Third, create a view for us to let the group have rights to:# Make at least snmpwalk -v 1 localhost -c public system fast again.# name incl/excl subtree mask(optional)view systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1[/code]在后面加上:[code]# haijd Add startview all included .1.3.6# haijd Add end[/code](使SNMP的MIB库支持搜索OID为.1.3.6下的所有OID)把下面的#号去掉#view mib2 included .dod.internet.mgmt.mib-2 fc把下面的语句access notConfigGroup "" any noauth exact systemview none none改为:access notConfigGroup "" any noauth exact mib2 none none(使SNMP支持MIB2库搜索。
MRTG配置手册安装在windows2003系统上安装MR TG,通过SNMP协议监测各服务器和网络设备的性能。
所需要的安装程序:mrt g-2.16.2A ctivePerl-5.14.2.1402-MSWin32-x86-295342.msiinfor mant-std-16.exeMIBBrowser.ex e一、安装mrtg将mrtg COP Y到服务器C盘目录下“c:\mrtg”。
二、安装perlPerl安装到C盘“c:\perl”目录下,添加系统变量P ath,添加“C:\per\bin;”三、测试perl打开命令控制台,进入到c:\mrtg\bi n 目录,输入命令p erlmrtg,得到以下结果表明安装成功。
四、安装II S服务此处略。
配置一、监测设备的先决条件Windows服务器Mrtg采用s nmp协议进行数据采集。
1、如果被监测是被是windows服务器,首先要在被监测服务器上安装SNM P服务,控制面板—添加或删除程序—添加/删除Windows组件安装完毕以后,在服务里设置com munity,右键S NMP服务—属性—安全—public。
2、由于要监测CPU、内存等参数,还需要在被监测服务器安装i nformant-s td-16.exe以提供更加强大的MIB码。
Linux服务器Linux服务器默认未开启SNMP服务,需要在安装net-snmphttp://michael s.blogbus.com/tag/NE T-SNMP/设置community为public。
网络设备开启snmp服务,设置commun ity为public。
二、检查SNMP服务配置在任何机器上安装MIB浏览器M IB Browser.exe,输入要监测的服务器IP,配置好community,点击Walk,如果右侧能出现很多OID,证明snmp服务正常提供服务。
一、安装准备因为MRTG是透过SNMP协议来监控流量的,首先先查看一下是否装有SNMP[root@jiankong www]# rpm -qa |grep net-snmpnet-snmp-5.3.2.2-7.el5net-snmp-libs-5.3.2.2-7.el5net-snmp-utils-5.3.2.2-7.el5MRTG是使用perl写成的并且用到了zlib.gd、pang的函数[root@jiankong vsftpd]# rpm -qa |grep perlperl-HTML-Tagset-3.10-2.1.1perl-libwww-perl-5.805-1.1.1perl-String-CRC32-1.4-2.fc6perl-5.8.8-27.el5perl-Compress-Zlib-1.42-1.fc6perl-HTML-Parser-3.55-1.fc6perl-SGMLSpm-1.03ii-16.2.1perl-IO-Socket-INET6-2.51-2.fc6perl-Socket6-0.19-3.fc6perl-URI-1.35-3newt-perl-1.08-9.2.2[root@jiankong vsftpd]# rpm -qa |grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3[root@jiankong vsftpd]# rpm -qa |grep gdgdbm-1.8.0-26.2.1gdm-2.16.0-56.el5gd-2.0.33-9.4.el5_1.1sysklogd-1.4.1-44.el5gdbm-devel-1.8.0-26.2.1gd-devel-2.0.33-9.4.el5_1.1gdb-6.8-37.el5[root@jiankong vsftpd]# rpm -qa |grep libpnglibpng-1.2.10-7.1.el5_3.2libpng-devel-1.2.10-7.1.el5_3.2[root@jiankong vsftpd]#系统是rh5.4,加载光盘rpm安装mrtg-2.14.5-2.i386.rpm二、设定1、设定snmp.conf#vi /etc/snmp/snmp.conf去掉89行的注释view mib2 included .dod.internet.mgmt.mib-2 fc55行修改为view systemview included .1.3.6.1.2.1.262 行access notConfigGroup "" any noauth exact systemview none none修改为access notConfigGroup "" any noauth exact mib2 none none保存退出2、新建MRTG的所在文件夹为/usr/web/www/mrtg3、生成MRTG配置文件#cfgmaker --global 'WorkDir:/usr/web/www/mrtg' --global 'Options[_]: bits,growright' --output /user/web/www/mrtg/www.cfg --snmp-option=:::::2 public@192.168.0.102 (监控的IP地址)使用--snmp-option=:::::2表示采集时使用snmp2(采用64bit),可支持155M以上的大流量,而缺省是snmp1(采用32bit),流量超过100M后就不准确4、修改/user/web/www/mrtg/www.cfg添加:Language: gb2312查看时使用中文5、制作首页#indexmaker --output=/usr/web/www/mrtg/index.html --title="www MRTG on linux" /usr/web/www/mrtg/mrtg.cfg6、启动MRTG# env LANG=C /usr/local/bin/mrtg /usr/web/www/mrtg/www.cfg这个命令会输出一些错误信息,一般可以安全忽略,连续执行三次此命令即可。
在WINDOWS下安装MRTG全攻略网络流量监控目录在WINDOWS下安装MRTG全攻略--网络流量监控 1代序 1目录 1SNMP简介 2MRTG简介 4STEP BY STEP教您安装PERL 7STEP BY STEP教您设置SNMP 11STEP BY STEP教您安装MRTG 14把流量图加入您的网站 19SNMP简介一个网络管理系统一般要包含以下几个元素:①若干个(可能很多个)需要被管理的网络设备节点,如路由器、服务器等设备,每个节点上都运行着一个称为设备代理(agent)的应用进程,其实现对被管理设备的各种被管理对象的信息如流量等的搜集和对这些被管对象的访问的支持;②至少一个管理工作站,该管理站运行着管理平台应用系统,实现为管理员提供对被管设备的可视化的图形界面,从而使管理员可以方便的进行管理;③一个管理协议,用来定义设备代理和管理工作站之间管理信息传送的规程。
其中管理协议的操作是在管理框架下进行的,管理框架定义了和安全相关的认证,授权,访问控制和加密策略等各种安全防护框架。
在运行TCP/IP协议的互联网环境中,管理协议标准是简单网络管理协议(Simple Network Management Protocol,SNMP),其定义了传送管理信息的协议消息格式及管理站和设备代理相互之间进行消息传送的规程。
出于业界对网络管理协议标准化的迫切要求的驱动,IETF于1990发布了SNMPv1的正式RFC 文档;其设计思想重点放在保证协议的简单性、灵活性和可扩展性上,并希望把SNMP作为一个过渡性的网管协议来作为实现对互连的网络设备进行管理时遵循的标准,待OSI的网络管理协议—CMIP的开发、实现和标准化成熟和完善到可以在业界推广之后,再用CMIP来替换SNMP。
但是由于各种的原因,CMIP并没有替代SNMP,而 SNMP发展为业界的标准。
SNMP一共发展有3个主版本,分别为SNMPv1 ,SNMPv2和SNMPv3。
在Windows系统的服务器部署MRTG===========================================================作者: zjy参考文档:网络文档----------------------------------------------------------------------------------------------------------------------------拓扑图-------------------------------------------------------------------------------------------------------------------------基本配置--------------------------------------------------------------------一、安装1、安装MRTG直接解压下载地址http://oss.oetiker.ch/mrtg/download.en.html直接解压2、安装ActivePerl (mrtg是perl写的)下载地址/ActivePerl/选择默认安装测试环境变量是否配置正确二、生成cfg文件C:\mrtg\bin>perl cfgmaker NetCtrl@192.168.1.250 --global "WorkDir: c:\Inetpub\mrtg\3620" --output c:\Inetpub\mrtg\3620\3620cfg.cfg打开3620cfg.cfg添加以下RunAsDaemon: yesInterval: 5(每五分执行一次)Language: chinese三、生成index.htmlC:\mrtg\bin>perl indexmaker --output=c:\Inetpub\mrtg\3620\index.html C:\Inetpub\mrtg\3620\3620cfg.cfg四、生成数据C:\mrtg\bin>perl mrtg c:\inetpub\mrtg\3620\3620cfg.cfg执行这个命令后就停在那每分钟生成一次新的数据五、部署到网站(略)-------------------------------------------------使mrtg做为系统服务运行----------------------------------------------------------------1、将instsrv.exe和Srvany.exe复制到mrtg安装目录的BIN目录下(这里是C:\mrtg\bin\目录)。
MRTG安装For Windows 2003公司机房有6台服务器,需要实时监控进出的流量,经过再三筛选和斟酌,决定使用MRTG,开源的软件,安装教程教程很多,但是说明实际安装时,遇到问题说明的到是很少,经过这两天的研究,终于成功了,下面就来说明下我安装遇到的问题,和解决的方法。
(今天公司空调开得特别的冷,肚子很,但是我不畏艰辛,为大家制作教程,希望朋友们别拍砖啊!成果Show:准备环境1.下载MRTG软件/soft/15898.htm2.下载ActivePerl/soft/1211.html3.下载Windows服务安装工具:serany.exe 和instsrv.exe文件名: srvany.zip下载地址: /files/7a1680c2-bcab-11e0-9b8b-0015c55db73d/文件名: instsrv.zip下载地址: /files/ab31b9b0-bcab-11e0-a824-0015c55db73d/安装MRTG1.安装ActivePerla)安装的时候很简单,默认安装就可以了,目录在C:\Perl2.安装MRTG,也很简单,解压到任意的目录下面即可,我这里使用的是C:\mrtg3.安装SNMP协议,在windows 2003 server 中“控制面板”选择“添加删除程序”,点击对话框左下角的“添加/删除windows组件4.找到“管理和监视工具”点击详细信息:5.选择“简单网络管理协议(SNMP)”安装:安装的过程中,如果本地没有“I386”文件的话,就要插入光盘,系统才能继续安装组件。
6.打开“控制面板”\“管理工具”\“服务”,选在“SNMP服务”,右键点击属性,点击“安全选项卡”,就可以看到下面的设置:这里添加SNMP的community,可以大大的提供安全行性,同时也提供了IP 筛选功能,下面就是我设置的允许想我发送SNMP消息的主机。
到这步,如果有使用防火墙的朋友,要在防火墙的添加UDP协议,162端口的例外,这个我就不演示了。
Windows下的免费监控软件很少,MRTG拥有强大的功能,不过,基本上都是在linux系统下发挥。
在Windows系统下,大部分网管朋友可能都只用到了它的流量监控功能。
其实,在windows环境下,也可以使用到它的其它功能。
下面我们就一起来看看使用MRTG监控windows系统的一些设置方法MRTG是个很方便的软件,安装好后,不需要对系统进行改动,只需要编辑.cfg文件,并重新生成网页就可以了。
下面我们就以监控系统进程数、用户会话数、TCP连接情况、内存使用情况、硬盘使用情况等来说明操作方法。
接上一篇文,我们以监控server01为例,修改server01文件,在该文件中加入以下代码:## System Processes Info 系统进程信息#Target[server.processes]: .1.3.6.1.2.1.25.1.6.0&.1.3.6.1.2.1.25.1.6.0:public@192.168.50.249Title[server.processes]: Current Processes RunningPageTop[server.processes]: <H1>Current Processes Running</H1>MaxBytes[server.processes]: 1000ShortLegend[server.processes]: procsYLegend[server.processes]: Current Processes RunningLegend1[server.processes]: ProcessesLegendI[server.processes]: RunningLegendO[server.processes]:Options[server.processes]: growright,nopercent,gauge## User Sessions Info 用户会话信息#Target[ers]: .1.3.6.1.2.1.25.1.5.0&.1.3.6.1.2.1.25.1.5.0:public@192.168.50.2 49Title[ers]: Current Users SessionsPageTop[ers]: <H1>Current Users Sessions</H1>MaxBytes[ers]: 10000ShortLegend[ers]: SessionsYLegend[ers]: Current Users SessionsLegend1[ers]: Users SessionsLegendI[ers]: SessionsLegendO[ers]:Options[ers]: growright,nopercent,gauge## Established TCP Connections#Target[server.estabcons]: tcpCurrEstab.0&tcpCurrEstab.0:public@192.168.50.249Title[server.estabcons]: Currently Established TCP ConnectionsPageTop[server.estabcons]: <H1>Established TCP Connections</H1>MaxBytes[server.estabcons]: 10000000000ShortLegend[server.estabcons]: c/sYLegend[server.estabcons]: ConnectionsLegendI[server.estabcons]: InLegendO[server.estabcons]:Legend1[server.estabcons]: Established connectionsLegend2[server.estabcons]:Options[server.estabcons]: growright,nopercent,gauge## New TCP Connection Monitoring 新的TCP连接情况#Target[server.newconns]: tcpPassiveOpens.0&tcpActiveOpens.0:public@192.168.50.249 Title[server.newconns]: Newly Created TCP ConnectionsPageTop[server.newconns]: <H1>New TCP Connections</H1>MaxBytes[server.newconns]: 10000000000ShortLegend[server.newconns]: c/sYLegend[server.newconns]: Conns / MinLegendI[server.newconns]: InLegendO[server.newconns]: OutLegend1[server.newconns]: New inbound connectionsLegend2[server.newconns]: New outbound connectionsOptions[server.newconns]: growright,nopercent,perminute## Memory Utilization 内存及虚拟内存使用情况#Target[server.memoryUsed]: .1.3.6.1.2.1.25.2.3.1.6.3&.1.3.6.1.2.1.25.2.3.1.6.4:public @192.168.50.249/ .1.3.6.1.2.1.25.2.3.1.5.3&.1.3.6.1.2.1.25.2.3.1.5.4:public@192.168.50.249 * 100 Title[server.memoryUsed]: Memory UsedPageTop[server.memoryUsed]: <H1>Memory Utilization</H1>MaxBytes[server.memoryUsed]: 523444000ShortLegend[server.memoryUsed]: %YLegend[server.memoryUsed]: % Memory UsedLegend1[server.memoryUsed]: Vir in next minuteLegend2[server.memoryUsed]: Phy in next minuteLegend3[server.memoryUsed]: Maximal 5 Minute VirLegend4[server.memoryUsed]: Maximal 5 Minute PhyLegendI[server.memoryUsed]: VirLegendO[server.memoryUsed]: PhyOptions[server.memoryUsed]: growright,nopercent,gauge## Disk Utilization 硬盘使用情况#Target[server.storageUsed]: .1.3.6.1.2.1.25.2.3.1.6.1&.1.3.6.1.2.1.25.2.3.1.6.2:public@192.168.99.249/ .1.3.6.1.2.1.25.2.3.1.5.1&.1.3.6.1.2.1.25.2.3.1.5.1:public@192.168.50.249 * 100 Title[server.storageUsed]: Disk UsedPageTop[server.storageUsed]: <H1>Disk Utilization</H1>MaxBytes[server.storageUsed]: 523444000ShortLegend[server.storageUsed]: %YLegend[server.storageUsed]: % Disk UsedLegend1[server.storageUsed]: C: in next minuteLegend2[server.storageUsed]: D: in next minuteLegend3[server.storageUsed]: Maximal 5 Minute C:Legend4[server.storageUsed]: Maximal 5 Minute D:LegendI[server.storageUsed]: C:LegendO[server.storageUsed]: D:Options[server.storageUsed]: growright,nopercent,gauge保存server.cfg,使用命令Perl indexmaker--output=c:inetpubwwwrootmrtgserver01server01.htmlc:inetpubwwwrootmrtgserver01server01.cfg重新生成网页,再使用命令:start /D c:mrtgbin wperl mrtg --logging=server01log c:inetpubwwwrootmrtgserver01server01.cfg 重新生成服务器Server01的流量图,我们来看看效果:图片看不清楚?请点击这里查看原图(大图)。
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 rocommunity string 就是 SNMP 的密码,一般是设成 public,如果您不希望別人也來检测您的 Router 的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 上面,以免停电重启,设定值遗失。
在一个网络中,作为网络工程师或者网络管理员,需要随时了解网络的各种状态,以判断网络是否处于健康状态或者随时了解网络的流量、每个路由器的流量、每个交换机端口的流量…,以供年度报告时向上级领导提供详实的数据及图形报告。
在这里,我先把自己有关如何获取网络流量的方法向大家讲解一下,如果有必要,您可以立即动手,自己做一个公司的网络流量监控图出来。
网络流量的监控需要涉及到SNMP、PERL、MRTG和一点网页的相关知识,现在我就STEP BY STEP给大家讲解怎么具体实施。
我的水平有限,如有错误或者更好的解决办法,还恳请大家提出,谢谢!注:文中有部份资料从Internet网络收集。
目录在WINDOWS下安装MRTG全攻略--网络流量监控1代序1目录1SNMP简介2MRTG简介4STEP BY STEP教您安装PERL 7STEP BY STEP教您设置SNMP 11STEP BY STEP教您安装MRTG 14把流量图加入您的网站19SNMP简介一个网络管理系统一般要包含以下几个元素:①若干个(可能很多个)需要被管理的网络设备节点,如路由器、服务器等设备,每个节点上都运行着一个称为设备代理(agent)的应用进程,其实现对被管理设备的各种被管理对象的信息如流量等的搜集和对这些被管对象的访问的支持;②至少一个管理工作站,该管理站运行着管理平台应用系统,实现为管理员提供对被管设备的可视化的图形界面,从而使管理员可以方便的进行管理;③一个管理协议,用来定义设备代理和管理工作站之间管理信息传送的规程。
其中管理协议的操作是在管理框架下进行的,管理框架定义了和安全相关的认证,授权,访问控制和加密策略等各种安全防护框架。
在运行TCP/IP协议的互联网环境中,管理协议标准是简单网络管理协议(Simple Network Management Protocol,SNMP),其定义了传送管理信息的协议消息格式及管理站和设备代理相互之间进行消息传送的规程。
出于业界对网络管理协议标准化的迫切要求的驱动,IETF于1990发布了SNMPv1的正式RFC 文档;其设计思想重点放在保证协议的简单性、灵活性和可扩展性上,并希望把SNMP作为一个过渡性的网管协议来作为实现对互连的网络设备进行管理时遵循的标准,待OSI的网络管理协议—CMIP的开发、实现和标准化成熟和完善到可以在业界推广之后,再用CMIP来替换SNMP。
但是由于各种的原因,CMIP并没有替代SNMP,而SNMP 发展为业界的标准。
SNMP一共发展有3个主版本,分别为SNMPv1 ,SNMPv2和SNMPv3。
其中SNMPv2又分为若干个子版本,其中SNMPv2c应用最为广泛:SNMPv1: 是第一个正式协议版本,在RFC1155-RFC1158中定义,该版本采用了基于共同体名的安全机制;SNMPv2c: 这个版本被称为基于共同体名的SNMPv2,使用基于共同体名的安全机制和SNMPv2p做出的协议操作方面的扩充,由RFC1901-RFC1906定义;SNMPv3: 该协议版本采用基于用户的安全机制,其安全机制是在SNMPv2u和SNMPv2*基础上进行大量的评议以后进行了更新,并且对协议机的逻辑功能模块的进行了划分而保证了良好的可扩充性,由RFC2271- RFC2275所定义。
运行SNMP管理系统的原理及SNMP协议使用SNMP协议的网络管理系统管理结构工作一般包括:管理进程通过定时向各个设备的设备代理进程发送查询请求消息(以轮询方式),来跟踪各个设备的状态;而当设备出现异常事件如设备冷启动等时,设备代理进程主动向管理进程发送陷阱消息,汇报出现的异常事件。
这些轮询消息和陷阱消息的发送和接受规程及其格式定义都是由SNMP协议定义的;而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库(Management Information Base)库结构中。
其中SNMP协议是运行在UDP协议之上,它利用的是UDP协议的161/162端口。
其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如Trap。
设备的所有的需要被管理的信息被看作一个各种被管理对象的集合,这些被管理对象由OSI定义在一个被称作管理信息库(Management Information Base,MIB)的虚拟的信息库中。
管理对象库MIBMIB是一个按照层次结构组织的树状结构(定义方式类似于域名系统),管理对象为定义为树中的相应叶子节点。
管理对象是按照模块的形式组织,每个对象的父节点表示该种对象属于上层的哪一个模块。
而且OSI为树中每一层的每个节点定义唯一的一个数字标识,每层中的该数字标识从1开始递增,这样树中的每个节点都可以用从根开始到目的节点的相应的标识对应的一连串的数字来表示,如1.3.6.1.2.1.1表示了MIBII中系统组子树,而1.3.6.1.2.1.1.1.0表示系统组中的系统描述(sytem Descrption)对象。
每个对象的一连串数字表示被称为对象标识符(Object Indentifier,OID)。
相关的一组对象的集合被定义为一个MIB模块。
这些模块使用OSI的抽象语法标记(Abstract Syntax Notation One,ASN.1)的一个子集写成。
该子集被定义为管理信息结构(Management Information,SMI)。
SNMP的消息在发送和传输时消息是采用基本编码规则(BER)对消息进行编码。
SNMP基本的标准MIB库是MIBII,具体请参考RFC 1213。
SNMP协议操作SNMP提供有三类操作,分别为Get,Set和Trap。
Get操作实现对被管理对象所表示的管理信息的读操作。
在SNMPv1中,GET操作具体一共有两种形式Get和GetNext操作:Get操作指示直接读取操作参数指定的OID所表示的被管理对象的管理信息值。
GetNext操作指示读取操作参数指定的OID所表示的被管理对象在MIB树中按照字典顺序的下一个被管理对象的管理信息的值。
在SNMPv2中,增加了一种GetBulk操作,其是Get和GetNext的综合,是为了提高对被管理信息的访问的效率而增加的。
Set操作实现对被管理对象的管理信息进行写操作,其实现直接对操作参数指定的OID所表示的被管理对象对应的管理信息的值的设置。
前面几种消息是由管理工作站主动实现对被管理设备进行轮询访问时发出以得到被管理设备的各种信息;而在被管理设备出现异常事件需要及时向管理工作站报告时,就需要Trap 操作,该操作实现被管理设备向管理工作站报告设备上出现的异常事件,如网络接口出现故障或恢复工作,设备重新启动等信息。
另外在SNMPv2中新增加了一种Inform操作来实现管理站与管理站之间的通信。
其中上述操作的消息都可以在操作参数中一次指定一个或多个管理对象OID信息,也就是说一个消息一次可以实现对多个被管理对象的操作。
SNMPv1和SNMPv2c采用了一种简单的基于共同体名的安全机制:管理站和被管设备上都存储有该充当密码作用的共同体名;消息发送者(一般是管理者)在要发送的消息中的共同体名字段中填入对应于接收者的共同体名,然后以明文方式在网络上发送消息,接收方(被管理设备)接收到消息以后,如果消息格式是正确的,则读取该字段,与自身保存的共同体名相比较,来实现对发送消息者的认证。
在一些实现中,对应于每个共同体名还有一个机器地址列表,来表示只有地址在这个列表中的机器使用该共同体名发送的消息才认为是可信的。
这里的共同体名就担任密码的作用。
同时对应于每个共同体名都有一个访问控制权限,可能值为读或读写。
只有请求的操作和使用的共同体名的权限一致才允许进行。
详细情况请参考RFC 1157、RFC 1902、RFC 2273、RFC 2274。
MRTG简介mrtg具有以下特色:可移植性:目前可以运行在大多数Unix系统和Windows NT之上。
源码开放:Mrtg是用perl编写的,源代码完全开放。
高可移植性的SNMP支持:Mrtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模块,从而不依赖于操作系统的SNMP模块支持。
支持SNMPv2c:MRTG可以读取SNMPv2c的64位的记数器,从而大大减少了记数器回转次数。
可靠的接口标识:被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及Mac地址来标识。
常量大小的日志文件:MRTG的日志不会变大,因为这里使用了独特的数据合并算法。
自动配置功能:MRTG自身有配置工具套件,使得配置过程非常简单。
性能:时间敏感的部分使用C代码编写,因此具有很好的性能。
PNG格式图形:图形采用GD库直接产生PNG格式。
可定制性:MRTG产生的web页面是完全可以定制的。
mrtg的主页是,可以从这里下载软件。
Mrtg兼容性mrtg软件可以运行在以下的操作系统上:Linux 1.2.x, 2.0.x, 2.2.x, 2.4.x (Intel and Alpha and Sparc and PowerPC)Linux MIPS, Linux S/390SunOS 4.1.3Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8AIX 4.1.4, 4.2.0.0, 4.3.2HPUX 9,10,11WindowsNT 3.51, 4.0, 2k, XPIRIX 5.3, 6.2BSDI BSD/OS 2.1, 4.x, 3.1NetBSD 1.5.xFreeBSD 2.1.x, 2.2.x, 3.1, 3.4, 4.xOpenBSD 2.xDigital Unix 4.0SCO Open Server 5.0Reliant UNIXNeXTStep 3.3OpenStep 4.2Mac OS X 10.1And about and other sensible Unix可以通过mrtg监控的设备(目前市场上绝大多数产品都支持SNMP协议,只要支持SNMP 协议的设备就都可以使用MRTG来监控):3Com NETBuilders, LANplex 6012 and 25003Com etherswitches and hubs3Com Linkswitch 1000 1100 33003Com Superstack II switch 3900, 3300 MX3Com 812 ADSL RouterAlantec powerhub 7000Allied Telesyn - 8224XL and 8324XL 24 port managed switchesAnnex terminal serverAsante HubAscend (Lucent) Max 600, [24]00x, Pipeline 50, TNT, APX-8000, MAX-6000Alcatel (Assured Access) x1600, OmniSR9, OmniCore 5022AT&T Wave Point, LanBayNetworks (Wellfleet) 7.80 and up, BayStack 350T, Instant Internet, see Nortel BreezeCom AP,SACabletron ESX-820 Etherswitch, Smartswitch 2000,6000 and routerCentillion Token Ring SpeedSwtich 100 (IBM 8251 Token Ring Switch)About every Cisco Kit there is ...CentreCOM 8116Compatible SystemsDECBridge 620, DEC 900EF, 900EE, GigaswitchELSA Lancom L 11 (Wireless Router)Enterasys Matrix E5, VH-4802 and VH-2402S SwitcheEricsson Tirgis Series RAS ServersExtreme Networks -- Blackdiamond 6808 & Alpine 3808 Layer 3 SwitchesFore ASX200 ATMFlowPoint 2200 ATM/DSL Routerformula 8200 seriesFoundry BigIron 8000 Gigabit, FastIron Switch, ServerIron SwitchCable Modems from Lancity, Terayon and DOCSISHP - network interfaces, disks, database InformixHP AdvanceStack/Procurve Switch 2000 and 2524, AdvanceStack Switch 200HP Procurve Switches , model 4000m, 2424m and 2400mIBM 8260 swtich (with 155MB ATM blades installed), IBM 2210 ISDN Routers. Intel switches (details) -- 510T, Intel Gigabit Server adapterIMV Victron NetPro 3000 UPSKentrox Pacesetter ProLantronix BridgeLucent/Xedia Access PointT 450, 1000Livingston (Lucent) IRX 3.2.1R, IRX 114, PM2E(R) PM3-2E OR-UMotorola 6560 Regional Node, SB3100 CableModem, 320, 6430 and 6455 routers Morningstar terminal servers/routersMGE (Merlin Gerin) UPSes (details)Network ApplianceNetopia R7100C SDSLNetscreen 5 / 10 / 100Nortel Networks, Bay Routers BCN, BLN, ASN, ARN, AN, Passport 1k and Passport 8k3 series L3 switches, BayStack 450 L2 switches.Nortel Networks, Accelar L3 SwitchesNokia IP 330/440/650Nbase ethernet switchNovell 3.11, 4.11Rmon probesSGI-Server (Irix 5.3)Any server server running HP-UX, Ultrix, Solaris, SunOS, OSF, NetBSD, FreeBSD, BSDi, Linux, AIX, OpenBSD, Irix or even Windows operating systems (badly), when usingNET-SNMP (former UCD-SNMP).Apple Mac (An snmp service is included on the OS CD >= 8.5 )Shiva AccesportSolaris ServerSquid Web cacheUS-Robotics Total Control ModemracksWellfleet (later Bay Networks): see Nortel routersWaveWireless SpeedLan 8x00 RF RoutersWinNT, MS ProxyXylan (today Alcatel) 4024C 24port 10/100 OmniStack Switch, 9k devices, including ATM links.Yamaha rt100iZyxel Prestige P310, 153X, 642.不支持mrtg的设备:D-Link switches (details)STEP BY STEP教您安装PERLPerl的安装比较简单了,目前使用的一般是Active Perl for windows,现在最新的版本是5.8.0,它需要使用者先安装IIS或者APACHE等常用的WEB服务器平台。