Chinaunix首页 | 论坛 | 博客

rgy

  • 博客访问: 411815
  • 博文数量: 179
  • 博客积分: 2580
  • 博客等级: 少校
  • 技术积分: 1890
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-19 08:45
文章分类

全部博文(179)

文章存档

2012年(7)

2011年(43)

2010年(60)

2009年(69)

我的朋友

分类: LINUX

2010-01-26 10:28:53

Linux上的MRTG流量监控中心


转载请注明!

随着互联网应用的发展,企业的互联网应用已经不仅仅是建设一个网站这么简单了。企业对互联网应用的规模不断加大,功能也更丰富和强大。面对更大规模的互联网应用,许多企业在电信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需要先安装Apache


一、MRTG需要以SNMP服务为基础,所以请确保你的系统已经启用了此服务
  
1.请确保你的系统安装了以下软件包
net-snmp-libs
net-snmp
net-snmp-utils  
2.修改/etc/snmp/snmpd.conf
  
去掉如下一行的注释
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
  
在大约55行处添加如下一行
view    systemview    included   .1.3.6.1.2.1.2
  
把如下行
access  notConfigGroup ""      any       noauth    exact  systemview none none
改作:
access  notConfigGroup ""      any       noauth    exact  mib2 none none
  
3.启用snmpd服务
#service snmpd start
#chkconfig --levle 2345 snmpd on
  
4.查看端口的开启状况
# netstat -tunlp |grep snmp
tcp        0      0 0.0.0.0:199             0.0.0.0:*               LISTEN      4973/snmpd           
udp        0      0 0.0.0.0:161             0.0.0.0:*                           4973/snmpd     
  
二、MRTG生成供浏览图像需要httpd服务的支持,同时也需要gd、libpng和zlib三个软件包的支持,而gd的正常运行也需要其

它的几个软件.


三:安装MRTG

下载地址:

# tar zxvf mrtg-2.16.2.tar.tar
# cd mrtg-2.16.2
# ./configure --prefix=/usr/local/mrtg
# make
# make install

四:配置MRTG

生成配置文件:
# mkdir /etc/mrtg

# /usr/local/mrtg/bin/cfgmaker public@localhost > /etc/mrtg/mrtg.cfg
  
编辑/etc/mrtg/mrtg.cfg

#WorkDir:/home/http/mrtg
去掉注释并改为
WorkDir: /usr/local/www/htdocs/mrtg   
(此处是你的httpd默认的主目录)   注意前面不要有空格
  
去掉如下行的注释
# Options[_]: growright, bits
  
添加如下行,实现网页中的中文字符显示
Language:gb2312
  
生成MRTG网页主页面文件
# /usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/usr/local/www/htdocs/mrtg/index.html  --

title="My MRTG"
  
4.启动MRTG
# env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg
这个命令会输出一些错误信息,一般可以安全忽略,连续执行三次此命令即可。
  
5.MRTG生成的web页面是静态的,为了能让其不断的刷新,需要将以上命令添加进crontab
#crontab -e  
添加如下一行
*/3 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg
注:此行表示每三分钟刷新一次,你可以根据自己的需要修改刷新时间间隔。
  
6.安装完毕,可以去查看结果了,在浏览器输入形如以下地址
   (IP地址为你的机器IP)
阅读(801) | 评论(0) | 转发(0) |
0

上一篇:nginx+tomcat

下一篇:nginx+vhost

给主人留下些什么吧!~~