Cacti 研究了有段时间了,中间遇到点问题,最终还是搭建起来了.这里记下自己安装的过程,以免以后忘记还要重新查看资料。同时也提供给感兴趣的朋友!

一.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 需要LAMP环境的支持:

1.安装apache http://www.apache.org/

 tar zxvf   httpd-2.0.64.tar.gz

 cd httpd-2.0.64
 

./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite
 

make && make insatall

 2.安装mysql

tar zxvf  mysql-5.5.22-linux2.6-i686.tar.gz

cp -ra mysql-5.5.22-linux2.6-i686  /usr/lcoa/mysql

useradd mysql

cd /usr/local/mysql

cp support-files/my-medium.cnf support-files/my.cnf

chown -R mysql.mysql /usr/local/mysql

scripts/mysql_install_db --user=mysql (初始化数据库)
 

 cp support-files/mysql.server /etc/init.d/mysql
 

 ln –s /usr/local/mysql/bin/* /usr/local/bin/

/usr/local/mysql/bin/mysqld_safe --user=mysql  (启动数据库)
 

3.安装PHP  http://www.php.net/

 因为cacti需要很多php支持,建议yum install php

或者

 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --enable-gd-native-ttf  --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-xml --enable-mbstring --enable-sockets

make && make install

cp php.ini-development /usr/local/lib/php.ini
 

ln –s /usr/local/php/bin/* /usr/local/bin/

# vi /usr/local/apache/conf/httpd.conf

查找AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

在其下加入

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

修改DirectoryIndex 行,添加index.php

修改为DirectoryIndex index.php index.html index.html.var

# vi /usr/local/apache/htdocs/test.php

添加以下行:

<?php

Phpinfo();

?>

wq 保存退出。

# /usr/local/apache/bin/apachectl restart

在浏览器中输入:http://www.yourdomain.com/test.php 进行测试。

 然后配置apache支持php

 

4.安装RRDtools http://oss.oetiker.ch/rrdtool/

RRDtools 同样需要很多库文件的支持,只需要在安装操作系统的时候将开发软件包都装上就可以了。

 

tar zxf rrdtool-1.4.4.tar.gz

cd rrdtool-1.4.4

./configure --prefix=/uar/local/rrdtool --disable-tcl

make && make install

//完成后建立符号连接

ln –s /usr/local/rrdtool/bin/* /usr/local/bin/

5.安装net-snmp

建议 yum install net-snmp

vim /etc/snmp/snmpd.conf

修改如下内容:

#com2sec notConfigUser  default       public
修改为:

com2sec notConfigUser  127.0.0.1       public(同时去掉#)
 

#access  notConfigGroup ""      any       noauth    exact  systemview none none
修改为:

access  notConfigGroup ""      any       noauth    exact  all  none none

#view all    included  .1 这一行去掉注释#

service snmpd start

 

OK! 

 6.安装cacti

useradd cacti

tar zxvf  cacti-0.8.7i.tar.gz

cp -ra cacti-0.87i /usr/local/apache2/htdocs/cacti

chown -R cacti.cacti /usr/loca/apache2/htdocs/cacti

 vi /usr/local/apache/htdocs/cacti/include/config.php

 修改如下:

  7.数据库配置

  mysql -u root

create database cacti;

grant all on cacti.* to cacti@localhost identified by "cacti";

flush priviledges;

exit;

mysqladmin -u root password("mysql")

mysql -uroot -pmysql cacti < /usr/local/apache/htdocs/cacti/cacti.sql

Chmod 777 /usr/local/apache/htdocs/cacti/log

Chmod 777 /usr/local/apache/htdocs/cacti/rra

 

8. 完成cacti 的安装

在浏览器中输入:http://ip/cacti/

默认用户名:admin 密码:admin

设置cacti用到的命令的绝对路径 
snmpwalk Binary Path       /usr/local/ bin/snmpwalk
snmpget Binary Path       /usr/local/ bin/snmpget
RRDTool Binary Path       /usr/local/ bin/rrdtool
PHP Binary Path             /usr/local/bin/php
Cacti Log File Path       /usr/local/apache/htdocs/cacti/log/cacti.log
Cactid Poller File Path    /usr/local/cactid/cactid

clip_image006

clip_image008

安装完成后,就可以通过浏览器 http://ip/cacti 来web监控了.

9.安装问题

我在安装过程中,也就是执行第8步骤的时候遇到很多warn 信息,比如warn date:

网上有很多解决方案,但是好像我在使用的时候怎么改没奏效。

经过摸索,我发现其实只需更改一个文件就可以了:

vim /usr/local/apache2/htdocs/cacti/lib/functions.php
 

在首行加入如下时区定义:

date_default_timezone_set('Asia/Shanghai');

重启apache

重新打开浏览器访问即可!

大功告成!!!