为了全面衡量网络运行状况,就需要对网络状态做更细致、更精确的测量。.本文.向你介绍.一款基于SNMP的典型网络流量统计分析工具MRTG(MultiRouter 电影
Traffic Grapher, MRTG.)的使用方法。(2002-11-08 11:3.5:17) 电子
-------------------.---------------.-----------.-----------------------------------<性病>
By 风过留枫,. 出处:转载自赛迪网 作者:仇立环<性病>
. 随着Linux应用.的日益广泛,有大量的网络服务器使用Linux操作系统。为了全面衡量网络运行状况,就需要对.网络状态做更细致、更精确的测量。SNMP协议的制订为互联网测量提供了有力支持。MRTG(MultiRouter 女人
Traf.fic Grapher, <性病>
MRTG)就是基于SNMP的典型网络流量统计分析工具。它耗用的系统资源很小,因此有很多外挂的程.序也依附在MRTG下。它通过SNMP协议从设备得到其流量信息,并将流量负载以包含JP.EG.格式图形的HTML文档的方式显示给用户.,以非常直观的形式显示流量负载。 鲜花
工作原理
网.络服务器.的资料总流量(网卡的资料传送总数)、CPU使用率以及特殊服务(例如Squid的代理服务)等的封包传送率(或.者说是流量)是网络管理人员所必须要注意的事项。因为当主机的CPU使用率过高时,系统可能呈现不稳定的状态,这就需要注意是哪一个服务或者谁在尝试.窃取我们的资料。因此,.网络管理方面,有必要了解我们主机的流量状态,并视流量来加以限制或者是加大带宽。 .
我们可以从MRTG的主页:
http://www.mrtg.org下载MRTG软件。在网站:
http://www.stat.ee.ethz.ch/mrtg/可以得到MRTG流量监测图的输出结果。示例如图1所示。 ;投资
图.1 MRTG流量监测图的输出结果 电子
MRTG是用Perl写成的,并且使用了zlib、gd以及png等函数.(zlib用来压缩.图表、gd用来绘制图表)。服务器中已经含有下列的软件: perl(perl-5.0x.x以上)、zlib(zl.ib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng和Apache。 .
可以用RPM来确.认它们: 外汇
rpm. -qa | grep perl--------------彩票
rpm -qa .| grep zlib电脑
rpm -qa | .grep gd教育
rpm. -qa | grep libpng外贸
另外,由于MRTG以HTTP的格式输出成图表来显示,因此必须要安装好Apa.che。以下,我们使用了预设的Apache路径,为 /usr/local/apa.che/htdocs这个路径.来安装MRTG输出的图表。要注意,如果没有Apache,虽然仍可以强行执.行MRTG,但那就无法显示图表了。 (广告)
安装MRTG
由于M.RTG是通过SNMP通讯协议来要求资料,因此Linux上需要先安装相应的软件,通常是安装ucd-snmp这.套软件。 .
1.下载ucd-snmp-4.2..1.tar.gz,mrtg.-2.9.17.tar.gz。 .
. 2.安装ucd-sn.mp-4.2.1.tar.gz。 域名
[roo.t@tsai/root]#cd /usr/loca.l/src 杀毒
[
root@tsais.rc]#cp /root/uc.d-snmp-4.2.1.tar.gz外贸
[root@tsaisrc]#tar -zxvfucd-snmp-4..2.1.tar..gz学习
. [root@tsaisrc]#cd ucd-snm.p-4.2.1.
[roo.t@tsaiucd-snmp-4.2.1]# ./con.figure--prefix=/usr/local/snmp.
[root.@tsaiucd-snmp-4.2.1]# .make外贸
[root@.tsaiucd-snmp-4.2.1]# ma.keinstall教育
3.启动ucd.-snmp。 .
直接在..shell下面打上/usr/local/snmp/sbin/snmpd即可,或者直接加在/etc/rc.d/rc.local当中,.就可以自动开机启动了。.
4.安装。
[root@tsai/roo.t]# cd/usr/local/.src 杀毒
[root.@tsaisrc].# cp/root/mrtg-2.9.17.tar.gz.(广告)
[
root@t.saisrc.]# tar-zxvfmrtg-2.9.17.tar.gz 美容
[root@tsaisrc]# cdmr.tg-.2.9.17投资
[root@tsaimrtg.-2.9.17]# ./configure--pr.efix=/usr/local/mrtg-2 杀毒
. >;--with-gd=/usr/in.clude健康
>.;--with-g.d-lib=/usr/lib(广告)
>;--with-gd-inc=/usr./inc.lude服务器
>;--with-.png=/.usr/include电影
>;--with-zlib.=/usr/.include 美容
[
root@tsa.imrtg-2..9.17]# make;makeinstall教育
. [root@tsaimrtg-2.9.17]# mkdir/usr/l.ocal/apache/htdocs/mrtg.
(请注.意.,这里与你的WWW主页的放置地点有关,请按照你的系统来设.定,另外,由于我们需要设定网络流量、CPU使用率,因此在mrtg中,再建立两个子目录,比较容易管理。) 电子
[root@tsaimrtg-2.9.17]# .mkdir/usr/local/ap.ache/htdocs/mrtg/net健康
[root@tsaimrtg-2.9.17]# cpimages/*/usr/loc.a.l/apache/htdocs/mrtg/net 鲜花
到现在我们就已经正确地安装.了MRTG系统。 .
检测网卡流量
要使用M.RTG来作图非常简单,只要几个小步骤就可以自动监测流量。首先以MRTG附的程序来制作一个参数项(预设为mrtg.cfg),然后修改一下 mrtg..cfg这个参数项,再直接执行三次参数文件,之后用MRTG程序.的小软件直接制作成首页.,就可以察看图表了。 域名
. 设定MRTG的方法如下: 服务器
[
root@ts.aimrtg-2.9.17]# cd/us.r/local/mrtg-2/bin( 游戏 )
[root@tsaibin.].#. /cfgmaker--<性病>
outp.ut=/usr/local/apache/htdocs/mrtg/n.et/mrtg.cfg[成人用品]
>;.pu.blic@vbird.adsldns.org.
[root@tsaibin]# vi/u.sr/local/apache/htdocs/mrtg/ne.t/mrtg.cfg[成人用品]
不过由于程序自动设定的mrtg..cfg会有问题,因.此,请将下面这三行修改成你自己的样式。 婚庆
WorkDir:/usr/local/apache/htdocs/mrtg./net./ 健康
Options[_.]:growright.,bits电脑
Lang.uage:GB2312.
[root@tsaibin]# ./mrtg/usr/l.ocal/apache/htdocs/m.rtg/net/mrtg.cfg域名
开始测试你的参数项,要执行三次,就可以正常工作了,不过,若是有问题的话.,就需要改mrtg..cfg,再执行直到没有错误发生为止。 教育
[root@.tsaibin]# ./ind.exmaker 建材
>.;--output=./usr/local/apache/htdocs/mrtg/net/index.html电影
. >;--title=VBird主机流量统计表学习
>;/usr./local/apache/htdocs/mrtg/ne.t/mrtg.cfg服务器
上面这个程序indexmaker是在制作.首页.。会自动地输出一个index.html的文件中。 [成人用品]
/usr/local/apach.e/htdocs/m.rtg/net.
注意:在public@.vbird. .
adsldn.s.org这一行,publi.c是有其意义的(在SNMP这个通讯服务里面的预设搜寻的一个代码)。如果.主机的动态DNS名称为your.domain.name,则就一定要写成public@your. 健康
doma.in.name才行。 美容
在设定五分钟检测一次之后,就可以开始检测。然后就可以通过浏览器访问地址http: //192.168.0.1/mrtg/,选择适当的接口地址察看流量信息了。如果希望生成类似于http: //www.stat.ee.ethz.ch/mrtg/的信息,就需要自己手工编辑一个index.html文档,存放在 /var/www/html/mrtg目录下,内容为接口说明以及该接口的日统计信息的图表。 ;.
检测CPU负载量
检测CPU负载量时,需要使.用到额外的外挂程.序,就是sysstat这个程序。 [成人用品]
1.下载并安装sysst.at-4..0.2-1.i386.rpm: 美容
$ rpm-ivhsyssta.t-4.0.2-1..i386.rpm电脑
2. 编写外挂程序
可.以应用安装完sysstat套件后产生的/usr/bin/sar程序进行外挂程序的编写,也可以使用bash写一.个监测CPU的小程序。示例如下: 电子
[roo.t@tsaicpu]#v.imrtg.cpu.
---程序开始----
# !/bin/bash
# 这.个程序是用来检测CPU的小外挂程序。 美容
# 1.开始使用sar来监测CPU的.user及System负载.率--------------彩票
. cpuusr=`./usr/bin/sar-u13|grepAverage|awk {print$3} `( 游戏 )
cpusys=`/usr/bin/sar-u13|gr.epAve.rage|awk {print$5} ` 健康
U.Ptime=`/usr/bin/uptime|awk {print$.3""$4""$5} `.
#2.列出四个数据(前.两个为数字) 美容
echo$cpuusr
echo$cpusys
echo$UPtime
. echov.bird.adsldns.org(这里写你的主机名称)外贸
----程序结束----
[
root@tsa.icpu]#chmod755mrtg.cpu(设定成可执行.)服务器
[
root@tsa.icpu]#./mrt.g.cpu(测试看可执行否)虚拟主机
2.0
5.4
1day,22:30,
vbi.rd.adsldns.org电脑
.3.开始设定MRTG参数项,方法如下: 女人
[.root@tsaicpu].
. # vi mrtg.cfg.cpu.
----程序开始----
##.#GlobalConfigOptions教育
###.Togetbitsinsteadofbytesandgraphs growingtother.ight 建材
WorkDir:/usr/local/apache/htdo.cs/mrtg/cp.u/.
Language:GB231.3.
Target
[localhost]:`/usr/loca.l./apache/htdocs/mrtg/cpu/mrtg.cpu`.
MaxByte.s[localhost]:100域名
Options[localhost.]:gauge,noper.cent,growright( 游戏 )
YL.egend[localhost].:CPUloading(%)( 游戏 )
Sho.rt.Legend[localhost]:% 汽车
LegendO[localho.st]: CPU.使用者负载; 女人
.LegendI[localho.st]: CPU纯系统负载;电脑
Title[localho.st]:CP.U?t???v--------------彩票
PageTop[loc.alhost]:虚拟主机
这之后开始执行参数项,注意,要执行三.次以上: 健康
/u.sr/local/mrtg-2 .
/bin/mrtg/usr/local/apache/htdocs/mrtg/c.pu/mrtg.cfg..cpu域名
4.写入到/etc/cronta.b当中: 汽车
*/2.****root/usr/lo.cal/mrtg-2 杀毒
/bin/mrtg/usr/local/apache/htdocs/mrtg/cpu/mrtg.cfg.cpu>.;/dev/null2>;.&1.
这样就OK了,直接将Web指向
http://your.host.domain/mrtg/cpu/localhost.html。 ;外贸
再来说说sar。基本上.,sar可以用来检测很多的东西,例如:sar- u 1 5,每一秒钟测一次CPU,共计五次后.算平均;sarr 3 .
3.,每三秒看一次实体与.虚拟内存用量,三次后算平均。 .
我们.主要介绍了MRTG安装前的准备工作、开始安装、检测网卡流量、检测CPU负荷等。其实MRTG还有许多功能,希望读者进一步.挖掘。域名