`
zhaohaolin
  • 浏览: 1010675 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用MRTG检测Linux网络性能

 
阅读更多

随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。为了全面衡量网络运行状况,就需要对网络状态做更细致、更精确的测量。 SNMP协议的制订为互联网测量提供了有力支持。MRTG(MultiRouter Traffic Grapher, MRTG)就是基于SNMP的典型网络流量统计分析工具。它耗用的系统资源很小,因此有很多外挂的程序也依附在MRTG下。它通过SNMP协议从设备得到其流量信息,并将流量负载以包含JPEG格式图形的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.0xx以上)、zlib(zlib-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的格式输出成图表来显示,因此必须要安装好Apache。以下,我们使用了预设的Apache路径,为 /usr/local/apache/htdocs这个路径来安装MRTG输出的图表。要注意,如果没有Apache,虽然仍可以强行执行MRTG,但那就无法显示图表了。 

  安装MRTG 

  由于MRTG是通过SNMP通讯协议来要求资料,因此Linux上需要先安装相应的软件,通常是安装ucd-snmp这套软件。 

  1.下载ucd-snmp-4.2.1.tar.gz,mrtg-2.9.17.tar.gz。 

  2.安装ucd-snmp-4.2.1.tar.gz。 

[root@tsai/root]#cd /usr/local/src
[root@tsaisrc]#cp /root/ucd-snmp-4.2.1.tar.gz
[root@tsaisrc]#tar -zxvfucd-snmp-4.2.1.tar.gz
[root@tsaisrc]#cd ucd-snmp-4.2.1
[root@tsaiucd-snmp-4.2.1]# ./configure--prefix=/usr/local/snmp
[root@tsaiucd-snmp-4.2.1]# make
[root@tsaiucd-snmp-4.2.1]# makeinstall


  3.启动ucd-snmp。 

  直接在shell下面打上/usr/local/snmp/sbin/snmpd即可,或者直接加在/etc/rc.d/rc.local当中,就可以自动开机启动了。 

  4.安装。 

[root@tsai/root]# cd/usr/local/src
[root@tsaisrc]# cp/root/mrtg-2.9.17.tar.gz.
[root@tsaisrc]# tar-zxvfmrtg-2.9.17.tar.gz
[root@tsaisrc]# cdmrtg-2.9.17
[root@tsaimrtg-2.9.17]# ./configure--prefix=/usr/local/mrtg-2
>--with-gd=/usr/include
>--with-gd-lib=/usr/lib
>--with-gd-inc=/usr/include
>--with-png=/usr/include
>--with-zlib=/usr/include
[root@tsaimrtg-2.9.17]# make;makeinstall
[root@tsaimrtg-2.9.17]# mkdir/usr/local/apache/htdocs/mrtg(请注意,
这里与你的WWW主页的放置地点有关,请按照你的系统来设定,另外,由于我们
需要设定网络流量、CPU使用率,因此在mrtg中,再建立两个子目录,比较容易管理。)
[root@tsaimrtg-2.9.17]# mkdir/usr/local/apache/htdocs/mrtg/net
[root@tsaimrtg-2.9.17]# cpimages/*/usr/local/apache/htdocs/mrtg/net


  到现在我们就已经正确地安装了MRTG系统。 

  检测网卡流量 

  要使用MRTG来作图非常简单,只要几个小步骤就可以自动监测流量。首先以MRTG附的程序来制作一个参数项(预设为mrtg.cfg),然后修改一下 mrtg.cfg这个参数项,再直接执行三次参数文件,之后用MRTG程序的小软件直接制作成首页,就可以察看图表了。 

  设定MRTG的方法如下: 

[root@tsaimrtg-2.9.17]# cd/usr/local/mrtg-2/bin
[root@tsaibin]#. /cfgmaker--output=/usr/local/apache/htdocs/mrtg/net/mrtg.cfg
>public@vbird.adsldns.org
[root@tsaibin]# vi/usr/local/apache/htdocs/mrtg/net/mrtg.cfg


  不过由于程序自动设定的mrtg.cfg会有问题,因此,请将下面这三行修改成你自己的样式。 

WorkDir:/usr/local/apache/htdocs/mrtg/net/
Options[_]:growright,bits
Language:GB2312
[root@tsaibin]# ./mrtg/usr/local/apache/htdocs/mrtg/net/mrtg.cfg


  开始测试你的参数项,要执行三次,就可以正常工作了,不过,若是有问题的话,就需要改mrtg.cfg,再执行直到没有错误发生为止。 

[root@tsaibin]# ./indexmaker
>--output=/usr/local/apache/htdocs/mrtg/net/index.html
>--title=VBird主机流量统计表
>/usr/local/apache/htdocs/mrtg/net/mrtg.cfg
上面这个程序indexmaker是在制作首页。会自动地输出一个index.html的文件中。
/usr/local/apache/htdocs/mrtg/net


  注意:在public@vbird. adsldns.org这一行,public是有其意义的(在SNMP这个通讯服务里面的预设搜寻的一个代码)。如果主机的动态DNS名称为 your.domain.name,则就一定要写成public@your. domain.name才行。 

  在设定五分钟检测一次之后,就可以开始检测。然后就可以通过浏览器访问地址http://192.168.0.1/mrtg/,选择适当的接口地址察看流量信息了。如果希望生成类似于http://www.stat.ee.ethz.ch/mrtg/的信息,就需要自己手工编辑一个index.html文档,存放在 /var/www/html/mrtg目录下,内容为接口说明以及该接口的日统计信息的图表。 

  检测CPU负载量 

  检测CPU负载量时,需要使用到额外的外挂程序,就是sysstat这个程序。 

  1.下载并安装sysstat-4.0.2-1.i386.rpm: 

$ rpm-ivhsysstat-4.0.2-1.i386.rpm


  2. 编写外挂程序 

  可以应用安装完sysstat套件后产生的/usr/bin/sar程序进行外挂程序的编写,也可以使用bash写一个监测CPU的小程序。示例如下: 

[root@tsaicpu]#vimrtg.cpu
---程序开始----
# !/bin/bash
# 这个程序是用来检测CPU的小外挂程序。
# 1.开始使用sar来监测CPU的user及System负载率
cpuusr=`/usr/bin/sar-u13|grepAverage|awk'{print$3}'`
cpusys=`/usr/bin/sar-u13|grepAverage|awk'{print$5}'`
UPtime=`/usr/bin/uptime|awk'{print$3""$4""$5}'`
#2.列出四个数据(前两个为数字)
echo$cpuusr
echo$cpusys
echo$UPtime
echovbird.adsldns.org(这里写你的主机名称)
----程序结束----
[root@tsaicpu]#chmod755mrtg.cpu(设定成可执行)
[root@tsaicpu]#./mrtg.cpu(测试看可执行否)
2.0
5.4
1day,22:30,
vbird.adsldns.org


  3.开始设定MRTG参数项,方法如下: 

[root@tsaicpu]
# vi mrtg.cfg.cpu
----程序开始----
###GlobalConfigOptions
###Togetbitsinsteadofbytesandgraphs growingtotheright
WorkDir:/usr/local/apache/htdocs/mrtg/cpu/
Language:GB2313
Target[localhost]:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
MaxBytes[localhost]:100
Options[localhost]:gauge,nopercent,growright
YLegend[localhost]:CPUloading(%)
ShortLegend[localhost]:%
LegendO[localhost]: CPU使用者负载;
LegendI[localhost]: CPU纯系统负载;
Title[localhost]:CPU?t???v
PageTop[localhost]:<H1>VBird主机CPU负载率</H1>
<TABLE>
<TR><TD>System:</TD><TD>RedHat7.1inLinuxKernel2.4.9</TD></TR>
</TABLE>
----程序结束----


  这之后开始执行参数项,注意,要执行三次以上: 

/usr/local/mrtg-2/bin/mrtg/usr/local/apache/htdocs/mrtg/cpu/mrtg.cfg.cpu


  4.写入到/etc/crontab当中: 

*/2****root/usr/local/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还有许多功能,希望读者进一步挖掘。 
(http://www.fanqiang.com)

原文链接:http://www.edong.org/www/content/view/258/3/

分享到:
评论

相关推荐

    mrtg-2.12.2.tar.gz

    MRTG-2.12.2是其在2005年发布的版本,它提供了一个简单且直观的方式来监控网络带宽使用情况,帮助管理员识别网络性能瓶颈,优化资源分配,以及提前预警可能的网络拥堵问题。 **安装MRTG-2.12.2** 1. **解压文件**...

    MRTG软件的运行和应用

    **MRTG软件的运行和应用** MRTG(Multi Router Traffic Grapher)是一款广泛用于网络流量监控的开源工具,其主要...通过这个实验,学生不仅能掌握MRTG的使用,还能深化对SNMP协议的理解,提升网络管理和监控的能力。

    网络流量监控器MRTG的全攻略.doc

    - **故障检测**:当网络性能下降或出现故障时,MRTG的实时监控功能可以及时发现异常,帮助定位问题。 - **容量规划**:根据历史流量数据,可以预测未来的网络需求,为网络升级和扩展提供依据。 - **安全监控**:通过...

    基于嵌入式Linux的网络监测系统的设计与实现.pdf

    - **流量监控**:集成MRTG软件,实时显示网络设备的流量情况,便于分析网络性能和预测潜在问题。 - **远程管理**:管理员可以随时随地通过Internet对系统进行操作和监控,提升了工作效率。 3. **技术选型**: - ...

    linux实用工具,最流行管理工具

    2. **Free**、**Swapon**、**Procinfo**:这些工具分别用于查看系统的空闲和已用内存、交换分区信息以及进程资源使用情况,对于性能调优至关重要。 3. **Iostat**:这是一款用于监控磁盘I/O操作的工具,能够显示每个...

    Linux服务器运行状况全面监测.pdf

    ntop不仅提供直观的网络使用情况展示,还能详细分析每个节点的网络带宽使用,帮助管理员识别和解决网络问题,甚至检测潜在的网络安全威胁。通过ntop,用户可以深入理解网络流量的构成,及时发现并处理P2P通信可能...

    局域网流量管理工具

    局域网流量管理是网络运维中的重要环节,它有助于监控网络性能、预防网络拥塞以及及时发现并解决网络问题。MRTG(Multi Router Traffic Grapher)是一款广泛使用的开源网络流量监控工具,特别适合用于实时监测局域网...

    基于Web GIS及开源技术的网络管理系统.pdf

    4. **实时曲线展示**:使用RTMP技术实现数据的实时传输,生成实时性能曲线,便于追踪网络性能变化。 5. **故障告警**:当检测到网络故障或异常时,系统会立即发出报警,通知管理员及时处理。 6. **资产管理**:对...

    南开21春学期《计算机网络管理》在线作业7.docx

    7. **MRTG软件**:MRTG(Multi Router Traffic Grapher)软件用于监测网络流量,提供网络带宽使用情况的图形化展示。 8. **netperf命令**:`netperf`工具可以用来测试网络性能,如`netperf -t UDP_RR -H 10.3.2.1 -...

    qmail linux 邮件服务器 安装报告.docx

    16. **MRTG**:安装MRTG(Multi Router Traffic Grapher)监控邮件服务器的流量和性能。 **五、维护和优化** 17. **日志监控**:配置日志系统,定期检查和分析日志以发现潜在问题。 18. **性能调优**:根据实际情况...

    IT-运维工程师的23个细节-进阶 (2).docx

    - 网络分析:tcpdump用于网络包捕获,iftop显示网络带宽使用情况,iperf评估网络性能。 3. **APM与进程管理**: - 应用性能管理:mmtrix是一个全面的APM工具,可以帮助分析应用性能。 - 进程监控:mmonit和...

    cacti插件npc(Nagios_Plugin_for_Cacti)

    Nagios是一款广泛使用的网络监控系统,它可以实时监控网络服务的状态,当检测到异常时立即通知管理员。 综上所述,Cacti结合RRDTool和NPC插件,为网络管理员提供了一套全面、高效的监控解决方案,不仅能够展示网络...

    企业级开源监控软件cacti nagios ntop整合

    早期的开源网络管理软件中,MRTG 是一款较为著名的选择,该软件使用 Perl 编写,通过 SNMP 协议实现设备管理和运行状态的监控。尽管 MRTG 在当时非常受欢迎,但由于其存在的一些限制,如仅支持文本式数据库、无法...

    系统监控开源软件

    - **简介**:MRTG(Multi Router Traffic Grapher)是一款用于监控网络流量的工具,可以绘制网络设备的流量图。 - **最新版本**:Ubuntu 配置 MRTG 监控 Nginx 和服务器系统资源,此版本发布于三年前。 - **功能**:...

    IT-运维工程师的23个细节-进阶.doc.docx

    - **Mtop、MRTG**:分别用于实时监控内存使用情况和网络流量。 - **Monit**:监控并管理应用程序和服务的运行状态。 ### 性能监控工具 - **Dstat、Atop、Nmon**:多维度系统资源监控,适用于问题排查。 - **...

    数据库操作

    11. **slabtop**: 显示Linux内核slab缓存的使用情况。 12. **sar (System Activity Reporter)**: 用于监控和报告系统活动。 13. **sysdig**: 高级系统进程分析工具。 14. **tcpdump**: 网络包捕获工具,可用于网络...

    IT-运维工程师的23个细节-进阶 (2).pdf

    - 网络监控:tcpdump、iftop、iperf和smem工具帮助追踪网络性能和内存使用情况。 4. **APM工具**: - mmtrix是全面的应用性能管理工具,用于分析应用性能。 5. **进程与日志管理**: - 进程监控:mmonit和...

Global site tag (gtag.js) - Google Analytics