Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337522
  • 博文数量: 103
  • 博客积分: 3886
  • 博客等级: 中校
  • 技术积分: 1005
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-28 15:00
文章分类

全部博文(103)

文章存档

2011年(30)

2010年(73)

分类:

2010-05-06 15:34:17

安装配置MRTG监控Linux网络

17.1.1   SNMP简介和MRTG监控过程

1.SNMP简介

SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP可以提高网络管理员管理网络的效率,发现并解决网络问题,以及规划网络增长。通过SNMP接收随机消息(及事件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering 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。

2.MRTG监控过程

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

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

17.1.2   Linux下MRTG的安装与配置

MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控。

下面以Red Hat Linux 9.0为例介绍MRTG的安装与配置。

1.安装基础软件包

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

2.安装配置net-snmp

光盘里有net-snmp的安装RPM包,安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合MRTG工作。

把下面的#号去掉

#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

把下面的语句:

access notConfigGroup "" any noauth exact systemview none none

改成:

access notConfigGroup "" any noauth exact mib2 none none

修改以后可以启动snmpd服务:

#/etc/rc.d/init.d/snmpd start

3.安装配置MRTG

① 安装tar软件包

# tar zvxf mrtg-2.9.28.tar.gz

# cd mrtg-2.9.28

#./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

② 生成配置文件

# mkdir /usr/local/mrtg/cfg

#cd /usr/local/mrtg/bin

#./cfgmaker --global 'WorkDir: /usr/local/httpd/htdocs/' \

--global 'Options[_]: bits,growright'\

--global 'Language: GB2312' \

--output /usr/local/mrtg/cfg/xxx.cfg \

public@XXX.XXX.XXX.XXX#

“XXX.XXX.XXX.XXX”是SNMP服务器的IP,以上命令将生成服务器的配置文件。MRTG生成的HTML页面可以完全由用户定制,所有定制都是通过对生成的配置文件的修改来实现的。MRTG配置文件的内容很丰富,相关内容请参考MRTG的帮助文档。

③ 设置MRTG定期执行方式

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

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

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

④ 建立索引页面

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

#cd /usr/local/mrtg/bin

#./indexmaker   --output="/usr/local/ /httpd/htdocs/index.html"

--title="Taffic Monitor Center" /usr/local/ /mrtg/cfg/xxx.cfg

到此为止,配置完毕,重新启动snmp和httpd服务,访问,就能看到网络流量图了。如图17-1所示。

图17-1   MRTG监控的网络流量图

17.1.3   建立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加密页面来传输数据。

17.1.4   MRTG软件的不足和RRDTool的对比

1.MRTG软件的不足

MRTG监测网络流量很方便,但是如果需要监测其他的系统性能,比如CPU负载、系统负载、网络连接数等,就不是那么简单了。即使实现了这些功能,但管理起来非常麻烦。比如公司有一两千个被监测点,分布在不同的机房,为了管理方便需要将这些服务器和网络设备分类,这样的话就需要将这些被监测点放在不同的MRTG配置文件中,运行多个crontab,甚至还要自己写HTML页面对其进行管理。

MRTG毕竟是一套很老的软件,而且存在许多不足的地方,其作者Tobias Oetiker在1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。现在RRDTool已经发展得很成熟,在功能上MRTG难以与其相提并论。

2.RRDTool与MRTG对比

与MRTG一样,RRDTool也是由Tobias Oetiker撰写的开源软件,但RRDTool并非MRTG的升级版本,两者有非常大的区别,也可以说RRDTool是将用来取代MRTG的产品。下面是两个软件的一些优缺点的对比。

(1)MRTG

优点:

简单、易上手,基本安装完了之后只要修改一下配置文件即可使用。

缺点:

— 使用文本式的数据库,数据不能重复使用。

— 只能按日、周、月、年来查看数据。

— 由于MRTG本来只是用来监测网络的流量,所以只能存储两个DS(Data Source),即存储流量的输入和输出。

— 每取一次数据即需要绘图一次,浪费系统资源。

— 图像比较模糊。

— 无用户、图像管理功能。

— 没有详细日志系统。

— 无法详细了解各流量的构成。

— 只能用于TCP/IP网络,对于SAN网络流量无能为力。

— 不能在命令行下工作。

(2)RRDTool

优点:

— 使用RRD(Round Robin Database)存储格式,数据等于放在数据库中,可以方便地调用。比如,将一个RRD文件中的数据与另一个RRD文件中的数据相加。

— 可以定义任意时间段画图,可以用半年数据画一张图,也可以用半小时内的数据画一张图。

— 能画任意个DS,多种图形显示方式。

— 数据存储与绘图分开,减轻系统负载。

— 能任意处理RRD文件中的数据,比如,在浏览监测中我们需要将数据由Bytes转化为bits,可以将原始数据乘8。

缺点:

—   RRDTool的作用只是存储数据和画图,它没有MRTG中集成的数据采集功能。

— 在命令行下的使用非常复杂,参数极多。

— 无用户、图像管理功能。

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