于吉吉的技术博客

建造高性能门户网

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  65 随笔 :: 6 文章 :: 149 评论 :: 0 Trackbacks
上周给同事讲解了cacti的安装及其使用时做了一份ppt,在这里将这份ppt简单梳理一下介绍一下cacti在我们日常工作中的监控使用

cacti的结构
在广义上来说cacti是一套网络流量监测图形分析工具,但从狭义来说cacti只是由php语言实现的一个软件,

它需要PHP,apache,Mysql,SNMP,RRDTool等工具的支持


从上图可以很明确看出cacti的三层架构之间的关系
第一层是数据采集,通过snmp简单网络协议,和一批自定义的脚本进行采集
第二层是数据存储,分别通过mysql存储cacti的模板和一些一定的信息,RRDTool用来存储所监控到的性能文件,后缀为.rrd
第三层是数据展现,cacti的web方式展现



cacti主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候,rrdtool生成图表呈现给用户。因此, snmp和rrdtool是cacti的关键,snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成.


snmp抓到数据不是存储在mysql中而是存在rrdtool生成的rrd文件中,rrdtool对数据的更新和存储就是对rrd文件的处理,rrd 文件是大小固定的档案文件,它能够存储的数据笔数在创建时已经定义.
Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机 ip,snmp 团体名、端口号、模板信息等变量。

*.SNMP协议
SNMP(简单网络管理协议)前身是简单网关监控协议(SGMP), 用来对通信线路进行管理

加入符合Internet定义的SMI和MIB进行体系整合

简单网络管理协议(SNMP)是Internet组织用来管理Internet的网络协议

*.MIB & SMI
MIB, 管理信息库,由网络管理协议访问的管理对象数据库,它包括SNMP可以通过网络设备的SNMP管理代理进行设置的变量
SMI,管理信息结构,用于定义通过网络管理协议可访问的对象的规则。SMI定义在MIB中使用的数据类型及网络资源在MIB中的名称或表示。

*.SNMP的网络模型

使用SNMP进行网络管理需要下面几个重要部分:管理基站,管理代理,管理信息库和网络管理工具。管理基站通常是一个独立的设备,它用作网络管理者进行网 络管理的用户接口。基站上必须装备有管理软件,管理员可以使用的用户接口和从MIB取得信息的数据库,同时为了进行网络管理它应该具备将管理命令发出基站的能力

注:关于MIB介绍可以看<SNMP MIB完整手册>

*.net-snmp
NET-SNMP是一个代理SNMP协议的软件,并提供管理端的查询工具,支持多种扩展方式
在被监测和监测机器进行安装
http://www.net-snmp.org/download.html
配置
/etc/snmp/snmpd.conf




设置自启动
/usr/sbin/snmpd -c /usr/local/net-snmp/snmpd.conf &
测试
snmpwalk -v 2c -c public 127.0.0.1
snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.2021.10 (负载检查)

*.RRDTool
RRDTool使用RRD(Round Robin Database)作为存储格式,Round robin是一种处理定量数据、以及当前元素指针的技术。RRDTool主要用来跟踪对象的变化情况,生成这些变化的走势图
RRDTool的存储特点

存储数据的数据库空间看成一个圆
指针会随着数据的读写操作在圆的刻度上自动移动
圆没有起点和终点
当所有的空间都存满了数据,就又从头开始存放
RRDtool 所使用的数据库文件的后缀名是'.rrd'



*.Cacti的安装

需要安装以下软件

1)安装Apache,Mysql,PHP
2)安装RRDTool
(cgilib-0.5.tar.gz,zlib-1.2.3.tar.gz,libpng-1.2.18.tar.gz,freetype-2.3.5.tar.gz,libart_lgpl-2.3.17.tar.gz,rrdtool-1.2.23.tar.gz)
3)安装net-snmp
4)安装cacti

*.Cacti的配置
修改cacti的config.php


新增crontab定时器



接下来就可以访问



*.进入cacti的设置



配置SNMP版本,rrdtool类别,和net-snmp的工具路径







具体的安装配置和应用就不演示,下面是ppt附件,安装和配置有什么问题可以同我联系

--------------------------------

补充
有朋友对rrdtools提了一点问题:

RRDTool保存数据是循环的,而且大小不变。那是不是说,他只能保存一定数量活一段数据,然后保持更新。
比如:RRD只有6个刻度,用来保存一个小时内,每10分钟的流量。从10点10分开始的话,到11点就满了,那么就开始循环刷新了。
11点10分的数据就覆盖了10点10分的数据。
可是如果我分析的没错的话,那数据不就丢失了么?如果想查看历史怎么办呢?


因为rrd整个存储空间的大小就是一个固定的值,在一段时间后,当所有空间都存满数据后,就会从头开始存放,所以这涉及到rrdtool的前期规划,以下是截取了http://www.rrdtool.org的说明

    When monitoring the state of a system, it is convenient to have the data available at a constant time interval. Unfortunately, you may not always be able to fetch data at exactly the time you want to. Therefore RRDtool lets you update the log file at any time you want. It will automatically interpolate the value of the data-source (DS) at the latest official time-slot (interval) and write this interpolated value to the log. The original value you have supplied is stored as well and is also taken into account when interpolating the next log entry.
Consolidation
    You may log data at a 1 minute interval, but you might also be interested to know the development of the data over the last year. You could do this by simply storing the data in 1 minute intervals for the whole year. While this would take considerable disk space it would also take a lot of time to analyze the data when you wanted to create a graph covering the whole year. RRDtool offers a solution to this problem through its data consolidation feature. When setting up an Round Robin Database (RRD), you can define at which interval this consolidation should occur, and what consolidation function (CF) (average, minimum, maximum, total, last) should be used to build the consolidated values (see rrdcreate). You can define any number of different consolidation setups within one RRD. They will all be maintained on the fly when new data is loaded into the RRD.
Round Robin Archives
    Data values of the same consolidation setup are stored into Round Robin Archives (RRA). This is a very efficient manner to store data for a certain amount of time, while using a known and constant amount of storage space.
    It works like this: If you want to store 1'000 values in 5 minute interval, RRDtool will allocate space for 1'000 data values and a header area. In the header it will store a pointer telling which slots (value) in the storage area was last written to. New values are written to the Round Robin Archive in, you guessed it, a round robin manner. This automatically limits the history to the last 1'000 values (in our example). Because you can define several RRAs within a single RRD, you can setup another one, for storing 750 data values at a 2 hour interval, for example, and thus keep a log for the last two months at a lower resolution.
    The use of RRAs guarantees that the RRD does not grow over time and that old data is automatically eliminated. By using the consolidation feature, you can still keep data for a very long time, while gradually reducing the resolution of the data along the time axis.
    Using different consolidation functions (CF) allows you to store exactly the type of information that actually interests you: the maximum one minute traffic on the LAN, the minimum temperature of your wine cellar, the total minutes of down time, etc.

----------------------------------------

by 陈于喆
QQ:34174409
Mail: dongbule@163.com




posted on 2010-11-02 17:28 陈于喆 阅读(3254) 评论(0)  编辑  收藏 所属分类: linux安装配置

只有注册用户登录后才能发表评论。


网站导航: