百度首页 | 百度空间
 
查看文章
 
使用Cacti监测系统与网络性能(1)
2006-09-03 21:53

本文转自JoeCen的《使用Cacti监测系统与网络性能》,原文连接:http://www.joecen.com/article/cacti/monitor_with_cacti_1http://www.joecen.com/article/cacti/monitor_with_cacti_1

一、简介

无论是稍有规模的IT公司还是大型的ICPISP,都需要面对一个问题,就是如何实现对网络和服务器的性能的实时监测。除了一些商用软件外,国内最常用的网络监测软件莫过于MRTG了。MRTG(MultiRouter Traffic Grapher)是基于SNMP的网络流量统计分析工具。它通过SNMP协议从设备得到并记录网卡信息,并将流量负载以图形的方式显示出来,系统负载小,使用方便。不过,MRTG毕竟是一套很老的软件了,而且存在许多不足的地方,其作者Tobias Oetiker1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。现在RRDTool在已经发展得成熟,在功能上MRTG难以与其相提并论。既然有更好的选择,为什么我们还要用MRTG呢?

二、RRDToolMRTG对比

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

1.MRTG

优点:

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

缺点:

◆使用文本式的数据库,数据不能重复使用;

◆只能按日、周、月、年来查看数据;

◆由于MRTG 本来只是用来监测网络的流量,所以只能存储两个DSData Source),即存储流量的输入和输出(如图1);

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

◆图像比较模糊;

◆无用户、图像管理功能;

mrtg

1MRTG生成的图像

2.RRDTool

优点:

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

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

◆能画任意个DS,多种的图形显示方式(如图2);

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

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

缺点:

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

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

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

rrdtool

2RRDTool生成多个DS的图像

简单的说,MRTG是一个收集网卡流量的工具,而RRDTool则是一个强大的绘图的引擎。

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

那么,RRDTool就能实现上述功能吗?实际上,RRDTool的主要作用是数据的存储和将数据绘画成图像。要实现数据的采集和管理,我们需要另外一个软件辅助RRDTool进行工作,那就是本文要介绍的重点——Cacti

三、Cacti介绍

RRDTool的绘图功能非常强大,不过由于RRDTool的命令非常复杂繁多,并且不包含数据采集的功能,所以非常难以入门。有很多喜爱RRDTool的程序员为其写应用的平台或脚本,而Cacti就是其中的佼佼者。

Cacti是一套完全面向RRDToolB/S系统,它在MySQL数据库中存储了所有RRDTool创建图像需要用到的信息以及管理信息。

Cacti的主要功能有:

  • 数据定时采集

  • 图像绘画与显示

  • 树状的主机和图像管理

  • RRDTool信息管理

  • 用户和权限管理

  • 模板导入导出

Cacti使用snmpget命令采集数据,使用RRDTool绘图。它的界面简洁直观,让你根本无需明白RRDTool的众多参数即可轻易的绘出漂亮的图形。此外,它还提供了强大的数据管理和用户管理功能。在图像管理上,Cacti采用了树状结构的查看界面,在用户的管理上,能对用户的权限进行细致的划分,甚至支持使用LDAP进行用户验证。不得不提的是Cacti还提供模板的功能,自己可以为某项监测内容建立模板,也可以导入别人做好的模板。

Cacti的架构:

整个Cacti系统由4个部分组成(如图3):

Cacti页面(PHP)——用户控制的平台,用户在此进行所有的设置;

SNMP采集工具——Unix下使用 Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,windows下使用phpsnmp功能;

RRDTool绘图引擎——性能数据的存储和绘画图像;

MySQL数据库——储存RRDTool绘图所需的信息,如模板、rra、主机对应的信息等,要注意的是MySQL数据库并不保存性能数据,性能数据保存在RRDTool自己的数据库格式rrd文件中。

架构

3Cacti的架构

Cacti的工作流程(如图4

  1. 定时采集数据:

Cacti会定时运行数据采集脚本,使用“snmpget”命令或其它自己定义的方式进行数据的采集;

  1. 存储数据:

使用RRDTool的“update”指令将采集到的数据储存到rrd文件中;

  1. 用户要查看某台设备的流量:

CactiPHP页面上点击该设备->

Cacti在数据库中寻找该设备对应的rrd文件的名称->

Cacti运行命令让RRDTool进行绘图;

工作流程

4Cacti的工作流程


类别:网络监控 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu