Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308336
  • 博文数量: 63
  • 博客积分: 1997
  • 博客等级: 上尉
  • 技术积分: 690
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-29 11:17
文章分类

全部博文(63)

文章存档

2010年(26)

2009年(37)

我的朋友

分类: LINUX

2009-12-25 11:49:11

安装配置mrtg监控网络


1SNMP简介

SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用

层协议。SNMP可以提高网络管理员管理网络的效率,发现并解决网络问题,以及规划网络增长。通过SNMP接收随机消息(及事

件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineeri

ng Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为SNMP在IP上运行的原因是

Internet运行的是TCP/IP,然而事实并不是这样的。SNMP被设计成与协议无关,所以它可以在IP, IPX, AppleTalk, OSI,

以及其他用到的传输协议上被使用。

SNMP运行在UDP之上,它利用的是UDP的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息--查

询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告--陷阱消息,如Trap等。SNMP提供三类操作,

分别为Get、Set和Trap。

2MRTG监控过程

服务器的操作系统多种多样,使用较多的一般是UNIX类或Windows类操作系统,它们都支持SNMP。例如,对于Windows系统而

言,只要增加“管理和监控工具”中的Windows组件,就有了对SNMP的支持。

服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向

服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告。这就是MRTG简单的监控过程


    3 LinuxMRTG的安装与配置

MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理

员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控。

下面以Centos5.2 x_64为例介绍MRTG的安装与配置。

(1)、安装基础软件包

要安装MRTG软件包必须首先安装gcc, perl, gd, libpng, zlib, freetype等软件包。

(2)、安装配置net-snmp

   这里我就不说了,因为在我的前面文章,cacti监控中有介绍对与net-snmp的安装和配置都有介绍。


  3)、安装配置MRTG

   a、 安装tar软件包

      # tar zvxf mrtg-2.16.0.tar

      # cd mrtg-2.16.0

      #./configure --prefix=/usr/local/mrtg --with-gd=/usr/include --with-gd-lib=/usr/lib --with-gd-inc=/usr/include --with-png=/usr/include 

       --with-zlib=/usr/include 

      # make &&make install

   b、生成配置文件

    /usr/local/mrtg/bin/cfgmaker moniter@192.168.168.254 --global "HtmlDir:/webserver/www/168.254" --output 

    168.254.cfg

   我们在/webserver/下创建www和168.254文件。

   修改168.254.cfg文件

   EnableIPv6: no 下添加如下:

   Language: GB2312

   到文件的最后,在HtmlDir:/webserver/www/168.254下面添加

   ImageDir:/webserver/www/168.254/images

   LogDir:/webserver/www/168.254/logs

   保存退出。


  c、 设置MRTG定期执行方式

    执行“crontab-e”,加入如下行:

      */5 * * * * /bin/env LANG=en_US /usr/local//mrtg/bin/mrtg /usr/local/mrtg/bin/168.254.cfg 

   以上命令设定每隔5分钟监控一次配置文件xxx.cfg中所定义的服务器。5分钟是一个比较合理的值,也可以按自己的需求重新定义。


    d、建立索引页面

   执行以下命令还可以生成一个索引页面:

     #cd /usr/local/mrtg/bin

     #/usr/local/mrtg/bin/indexmaker 168.254.cfg >/webserver/www/168.254/index.html

     到此为止,配置完毕,重新启动snmphttpd服务,访问,就能看到网络流量图了


  e、apache虚拟机下带验证的访问

  #vi /usr/local/apache/conf/extra/httpd-vhost.conf

 

    ServerAdmin fuqinag@mail.haoyisheng.com

    DocumentRoot "/webserver/www"

    Servername 192.168.168.133

 

    Options Indexes MultiViews

    AllowOverride AuthConfig

    Order allow,deny

    Allow from all

    AuthName "hysh monitor"

    AuthType Basic

    AuthUserFile /usr/local/mrtg/htpasswd.user

    Require valid-user

 

   生成密码文件

   /usr/local/apache/bin/htpasswd -c /usr/local/mrtg/htpasswd.user logs

   New password:(输入密码)

   Re-type new password:(再次输入)

   我们重新启动apache就生效了.

   

  (4)建立MRTG监控中心

在实际应用中,企业可能有多台服务器,通常需要管理员24小时不间断地对服务器的流量进行监控。如果这时还是简单地在管理员的机器上

使用MRTG就不适用了。最好的方法是建立一个MRTG监控中心。

MRTG监控中心可以是一台专用的服务器,也可以由其他服务器兼作MRTG监控中心。用于监控中心的机器和其他服务器都位于防火墙背后,由于

SNMP也很容易成为攻击的目标,所以在防火墙的规则中,要禁止外界对服务器161/162端口的访问。这样便保证了MRTG监控中心担负起监控

其他所有服务器的责任。MRTG监控中心将不断产生流量报告,以Web页面的形式发送给管理员。当然,该Web页面是带有身份认证功能的,

以确保只有拥有账号的管理员才能查看相应的流量报告。

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

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

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

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

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

通过三步,已经完成了对一台服务器的监控设定,如果还有其他服务器需要流量监控,重复第三步(安装配置MRTG)即可。如果这些服务器都是

位于防火墙后面,还要修改一个防火墙的规则,即开放MRTG监控中心对外的80端口,同时过滤掉所有外界对SNMP服务端口的访问。以上安装配置

完成,用户可以通过浏览器访问MRTG监控中心。MRTG监控中心会要求输入用户名、密码才能进入,而Apache的日志会记录相关的事件,以备日后

对登录情况进行审查。到此为止,已经可以应用一个简单的MRTG监控中心实现集中管理,并且拥有身份认证。管理员还可以通过编写CGI程序来

实现更多的功能。比如详细记录访问情况、提供更直观的监控报告等。此外,还可以使用SSL加密页面来传输数据。


阅读(1497) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~