Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22860
  • 博文数量: 6
  • 博客积分: 172
  • 博客等级: 入伍新兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 01:08
文章分类

全部博文(6)

文章存档

2011年(6)

我的朋友

分类: 系统运维

2011-03-08 22:18:48

一.Cacti的介绍

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,是通过 snmpget来获取数据,使用 RRDtool绘画图形。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。

 

二.Cacti架构

 

三.Cacti工作原理

 

 

四.名词解释

1. RRDtools
使用RRDtool来存储和处理通过SNMP收集到的数据开始。这些数据很可能是某个网络或计算机接收或发送的字节数(比特数)。它也可以用来显示潮水的波浪、阳光射线、电力消耗、展会的参观人员、机场附近的噪音等级、你喜欢的度假区的温度、电冰箱的温度、以及任何你可以想象的东西。
你最需要一个度量数据,以及能够提供这些数据给RRDtool的感应器就可以了。RRDtool会让你创建数据库、存储数据、提取数据、创建用于在Web浏览器中显示的PNG格式的图像。这些PNG图像以来于你收集的数据,它可以是网络平均使用率、峰值。
2.RRD
Round Robin Database环状数据库

3.SNMP
snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色。大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp 的 port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置)。  
如果使用 RHEL5 的 net-snmp,那么被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils。如果自行编译,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的库。

每一个 agent 维护一个树形的数据库,称为 MID(Management Information Base, 管理信息库),其每一个节点称为 Object Identifier(OID),这在使用 net-snmp-utils 的工具时会用到。这些节点就表示了这台主机系统的设备如网卡的接口描述(eth0 等)、物理地址(MAC)、接口类型等,也可能是系统的信息,或者是需要监控的进程等...

五.应用场景极其优点

常见应用
服务器资源:CPU、内存、磁盘、进程、连接数等
服务器类型:WEB、Mail、FTP、数据库、中间件
网络接口:流量、转发速度、丢包率
设备运行状态:风扇、电源、温度
机房运行环境:电流、电压、温湿度

优点:

开源性;

界面 相对其它监控软件漂亮,能划出漂亮的数据图;

跨平台监控;

可扩展性

六.Cacti 安装与配置

1.安装依赖包:
yum -y install httpd php php-mysql php-snmp mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel

2.设置开机启动snmpd,httpd,mysqld 服务

启动服务:service snmpd start

service httpd start

service mysqld start

开机自启:chkconfig snmpd on

                 chkconfig httpd  on

                chkconfig  mysqld on

3.下载最新的RRDTools rpm包,进行安装

rrdtool-1.4.4-1.el5.wrl.i386

rrdtool-perl-1.4.4-1.el5.wrl.i386

rrdtool-ruby-1.4.4-1.el5.wrl.i386

使用yum安装:yum -y localinstall --nogpgcheck rrdtool-*.rpm

4.配置snmp
#  vim  /etc/snmp/snmp.conf

将com2secnotConfigUser default public
改为:com2secnotConfigUser 127.0.0.1 public    (这是监控本地,被监控主机设置)
将access  notConfigGroup “”  any   noauth    exact  systemview  none none
改为:accessnotConfigGroup”"  any noauth   exact   all none  none
#view all    included  .1         80
将前面的 # 注释去掉。

重新启动 snmp 服务:service snmpd restart

5.安装cacti数据以及模板
配置mysql数据库
# mysql
Mysql > CREATE DATABASE cacti;
Mysql > grant all privileges on cacti.* to identified by ‘cacti’;
Mysql > grant all privileges on cacti.* to identified by ‘cacti’;
Mysql > grant all privileges on cacti.* to identified by ‘cacti’;
Mysql >flush privileges;
Mysql >quit

6.安装配置cacti

# tar xzvf  cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g/ /var/www/html/cacti
# mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
vim /var/www/html/cacti/include/config.php
修改成:

$database_type= “ mysql ” ;

$database_default = “cacti” ;

$database_hostname = “ localhost ” ;

$database_username = “cacti” ;

$database_password = “cacti” ;

7.添加用户并设置监控时间

useradd cacti
passwd cacti
cd   /var/www/html/cacti/
chown -R cacti rra/ log/

# crontab -e

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
 

OK,配置成功,开始登录:

第一次登录用户名密码均为admin,登录之后需要强行修改密码:

登录界面:

 

七.安装插件

1.cacti常用插件安装
要安装别的插件前,先要安装cacti的一个patch--Plugin Architecture,才能支持插件
# tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
# cp -R cacti-plugin-arch/* /var/www/html/cacti/
cd /var/www/html/cacti/
mysql -ucacti -pcacti cacti patch -p1 -N vi include/config.php
修改为$url_path = “/cacti/”;

2.# tar zxvf monitor-latest.tgz
# tar zxvf settings-latest.tgz
# tar zxvf thold-latest.tgz
# mv monitor-0.9/ /var/www/cacti/plugins/monitor
# mv settings-0.6/ /var/www/cacti/plugins/settings
# mv thold-0.41/ /var/www/cacti/plugins/thold
登陆安装启用对应的插件即可。

进入之后,进行模块的添加,效果图如下:

 

 

绘图界面:

PS:cact的i功能很强大,尤其是绘图功能,剩下功能模块慢慢摸索。

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