首页 > 资讯列表 > 软件学院 >> 系统程序

如何理解和管理Linux 上的MRTG监控中心

系统程序 2014-12-02 01:04:52 转载来源: 网络整理/侵权必删

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载

  

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。

随着互联网应用的发展,企业的互联网应用已经不仅仅是建设一个网站这么简单了。企业对互联网应用的规模不断加大,功能也更丰富和强大。面对更大规模的互联网应用,许多企业在电信IDC机房中不得不拥有数台甚至数十台服务器。

在对这些服务器的管理过程中,每台服务器的流量情况成为管理工作的一个重点。管理员通过对网络中各种流量的监控,可以从网络的异常流量中及时察觉到潜在的安全或性能问题;上层领导也可以从统计的网络流量报告中获得有用的经营分析信息,从而对业务做出相关的调整或升级决策。

在诸多网络流量监测软件中,MRTG无疑是著名而具有代表性的。MRTG是一个基于SNMP协议的典型网络流量监测、统计、分析工具。SNMP(简单网络管理协议)是一个专门设计用来监视和控制网络中各种网络设备,如交换机、路由器、服务器等的协议。

由于市场上绝大多数的网络产品都支持SNMP协议,所以MRTG的适用范围很广。本文将关注如何利用MRTG软件监控服务器的流量。

为什么需要MRTG监控中心

服务器的操作系统多种多样,使用较多的一般是Unix类或Windows类操作系统,它们都支持SNMP协议。例如,对于Windows系统而言,只要增加“管理和监控工具”中的Windows组件,就有了对SNMP协议的支持。

在服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告这就是MRTG简单的监控过程。

在实际应用中,企业可能有多台服务器,通常需要管理员24小时不间断地对服务器的流量进行监控。如果这时还是简单地在管理员的机器上使用MRTG就不太适用了。最好的方法是建立一个MRTG监控中心。

MRTG监控中心可以是一台专用的服务器,也可以由其它服务器兼作MRTG监控中心。用于监控中心的机器和其它服务器都位于防火墙背后,由于SNMP也很容易成为攻击的目标,所以在防火墙的规则中,要禁止外界对服务器161/162端口的访问。这样便保证了MRTG监控中心担负起监控其它所有服务器的责任。

MRTG监控中心将不断产生流量报告,以Web页面的形式发送给管理员。当然,该Web页面是带有身份认证功能的,以确保只有拥有账号的管理员才能察看相应的流量报告。

使用这样的MRTG监控中心,可以带来以下好处:

◆    24小时不间断地工作,能保证产生详细、全面的流量报告;

◆    提供带身份认证的Web浏览界面,管理员凭账号可以随时随地通过互联网察看流量报告;

◆ 免去管理员安装MRTG的烦恼,只需通过浏览器来察看流量报告;

◆ 只允许MRTG监控中心机器访问服务器161/162端口,安全性更高。

 构建MRTG监控中心

下面介绍如何在Linux上构建一个MRTG监控中心。

第一步:安装操作系统

MRTG可运行在绝大多数操作系统中,当然也包括Linux。这里选用的是Fedora Core 1。为了构建一个MRTG监控中心,还需要安装Apache和MRTG。考虑到能适应更多的Linux版本,可以不选用RPM的安装方式,尽管它比较简单,而是从tar包开始安装。

第二步:安装Apache

解压:

 #tar -xzpvf httpd-2.0.47.tar.gz -C /var/local/

 编译:

#cd /var/local/httpd-2.0.47/

#./configure  --prefix=/usr/local/terry_yu/httpd --enable-so     #make

安装:

 #make install

设置为开机时启动:     #echo “/usr/local/terry_yu/httpd/bin/apachectl start“ 〉〉 /etc/rc.local     第三步:配置Apache的页面认证     在Apache的配置文件/usr/local/terry_yu/httpd/conf/httpd.conf中,找到对/usr/local/terry_yu/httpd/htdocs目录的定义,将其中的“AllowOverride None”修改为“AllowOverride all”。     在/usr/local/terry_yu/httpd/htdocs目录下创建一个名为.htaccess的文件,其内容如下:     authuserfile /usr/local/terry_yu/httpd/.htpasswd     authname “Traffic Monitor(Haplink IDC)“     authtype basic     require valid-user     然后,建立账号,并生成密码文件。使用以下命令为terry建立一个账号:     #/usr/local/terry_yu/httpd/bin/htpasswd  -c     #/usr/local/terry_yu/httpd/.htpasswd terry     可以使用以下命令修改terry的账号密码:     #/usr/local/terry_yu/httpd/bin/htpasswd -m .htpasswd terry     最后,启动Apache。使用以下命令启动Apache:     #/usr/local/terry_yu/httpd/bin/apachectl start     启动Apache后,访问HTTP服务,如果要求输入用户名、密码进入,则Apache的页面认证配置成功。     第四步:安装MRTG     由于MRTG需要其它的一些库来生成图片,所以先要安装zlib、ibpng和gd。具体安装方法如下:下载并安装zlib:     #wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz     #tar -xzpvf zlib-1.1.4.tar.gz     #mv zlib-1.1.4 /usr/local/terry_yu/zlib     #cd /usr/local/terry_yu/zlib/     #./configure     #make     下载并安装libpng:     #wget http://ftp6.us.freebsd.org/pub/libs/png/src/libpng-1.0.15.tar.gz     #tar -xzpvf libpng-1.0.15.tar.gz     #mv libpng-1.0.15 /usr/local/terry_yu/libpng     #cd /usr/local/terry_yu/libpng/     #make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib     下载并安装gd:     #wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gz     #tar -xzpvf gd-1.8.4.tar.gz     #mv gd-1.8.4 /usr/local/terry_yu/gd     #cd /usr/local/terry_yu/gd     #perl -i~ -p -e s/gd_jpeg.o//g Makefile     #make INCLUDEDIRS=“-I. -I../zlib -I../libpng“      LIBDIRS=“-L../zlib   -L. -L../libpng“      LIBS=“-lgd -lpng -lz -lm“ CFLAGS=“-O -D HAVE_LIBPNG“     安装MRTG:     #tar -xzpvf mrtg-2.10.13.tar.gz     #cd mrtg-2.10.13/     #./configure --prefix=/usr/local/terry_yu/mrtg      --with-gd=/usr/local/terry_yu/gd       --with-z=/usr/local/terry_yu/zlib      --with-png=/usr/local/terry_yu/libpng     第五步:配置MRTG     生成配置文件:     #mkdir /usr/local/terry_yu/mrtg/cfg     #cd /usr/local/terry_yu/mrtg/bin     #./cfgmaker --global ’WorkDir: /usr/local/terry_yu/httpd/htdocs/’      --global ’Options[_]: bits,growright’     --global ’Language: GB2312’      --output /usr/local/terry_yu/mrtg/cfg/xxx.cfg      [email protected]     “XXX.XXX.XXX.XXX”是SNMP服务器的IP,以上命令将生成对服务器的配置文件。MRTG生成的HTML页面可以完全由用户定制,所有定制都是通过对生成的该配置文件的修改来实现的。MRTG配置文件的内容很丰富,相关内容请参考MRTG的帮助文档。     还可以对MRTG设置定期执行方式。执行“crontab -e”,加入如下行:     */5 * * * * /bin/env LANG=en_US /usr/local/terry_yu/mrtg/bin/mrtg     /usr/local/terry_yu/mrtg/cfg/xxx.cfg     以上命令设定每隔5分钟监控一次配置文件xxx.cfg中所定义的服务器。5分钟是一个比较合理的值,也可以按自己的需求重新定义。     执行以下命令还可以生成一个索引页面:     #cd /usr/local/terry_yu/mrtg/bin     #./indexmaker  --output=“/usr/local/terry_yu/httpd/htdocs/index.html“     --title=“Taffic Monitor Center“ /usr/local/terry_yu/mrtg/cfg/xxx.cfg     使用MRTG监控中心

通过以上几步,已经完成了对一台服务器的监控设定,如果还有其它服务器需要流量监控,重复第五步即可。如果这些服务器都是位于防火墙后面,还要修改一个防火墙的规则,即开放MRTG监控中心对外的80端口,同时过滤掉所有外界对SNMP服务端口的访问。

以上安装配置完成,用户可以通过浏览器访问MRTG监控中心。MRTG监控中心会要求输入用户名、密码才能进入,而Apache的日志会记录相关的事件,以备日后对登录情况进行审查。

到此为止,已经可以应用一个简单的MRTG监控中心实现集中管理,并且拥有身份认证。然而,这仅仅只是一个开始,管理员还可以通过编写CGI程序来实现更多的功能。

比如详细记录访问情况、提供更直观的监控报告等。此外,还可以使用SSL加密页面来传输数据。更多的应用就要看各人发挥了,希望本文能给大家一些有益的启发。

 

(责任编辑:admin)

标签: 如何 理解 管理 Linux 上的 MRTG 监控 中心


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持