Cacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。 Cacti 是通过 snmpget 来获取数据,使用 RRDtool 绘画图形,而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、 host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。 它的主要功能是用 snmp 服务获取数据,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户 ,Snmp 关系着数据的收集, rrdtool 关系着数据存储和图表的生成。 Mysql 配合 PHP 程序存储一些变量数据并对变量数据进行调用 ,snmp 抓到数据不是存储在 mysql 中,而是存在 rrdtool 生成的 rrd 文件中(在 cacti 根目录的 rra 文件夹下)。 rrdtool 对数据的更新和存储就是对 rrd 文件的处理, rrd 文件是大小固定的档案文件( Round Robin Archive ),它能够存储的数据笔数在创建时就已经定义 .
RRDtool 是指 Round Robin Database 工具(环状数据库)。 Round robin 是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。 RRDtool 处理 RRD 数据库。它用向 RRD 数据库存储数据、从 RRD 数据库中提取数据。 简单的说, rrdtool 就是一个强大的绘图的引擎,很多语言都可以调用 rrdtool 绘图。
cacti的架构
cacti工作流程
(注图片是从网上找的)
所需的 rpm 软件包如下
httpd
php
php-mysql
php-snmp
mysql
mysql
-server
net-snmp
net-snmp-libs
net-snmp-utils
# yum -y install httpd php php-mysql mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-snmp
安装 rrdtool 工具
#yum localinstall --nogpgcheck rrdtool-*.rpm
安装完以后你会看到所装的包(这里我们已经把所要安装的软件包放到了/usr/local/src下面了)
rrdtool rrdtool-devel rrdtool-doc rrdtool-perl rrdtool-php rrdtool-python rrdtool-ruby rrdtool-tcl
我们启动 mysql
#service mysqld start
在这里我们要保证apache与mysql,apche与php能够连接成功,至于怎么设置和测试的,大家可以参考我的另外一篇文章;
http://yangzorder.blog.51cto.com/1239450/405849,测试成功后就继续吧
我们为 root 用户增加密码
#mysqladmin -u root password 'mysql'
我们连接到数据库,这里要输入密码
#mysql -u root -p
我们为 cacti 增加数据库
mysql> create database cactidb;
为创建的数据库增加用户和密码
mysql> grant all privileges on cactidb.* to cactiuser@localhost indetified by 'mysql';
mysql>flush privileges;
我们启动 apache ,并将他加到自动启动行列
# service httpd start
#chkconfig httpd on
安装 cacti, 将压缩包解压到 /var/www/html 目录下
#tar zxvf /root/Desktop/cacti-0.8.7g.tar.gz -C /var/www/html
将我们解压到的目录重命名
#cd /var/www/html
#ln -sv cacti-0.8.7g/ cacti
我们为 cacti 增加一个用户
#useradd cactiuser
改变 cacti 目录的权限,使其所有者和组都为 cactiuser
#cd /var/www/html/cacti
#chown -R cactiuser:cactiuser .
导出 cacti 默认的数据库
#mysql -u root cactidb < cacti.sql
编辑 include/config.php 确认数据类型,数据名,主机,用户和密码。
$database_type="mysql";
$database_default="cactidb";
$database_hostname="localhost";
$database_username="cactiuser";
$database_password="mysql";
$database_port="3306";
改变 rra log 的权限
#chown -R cactiuser rra/ log/
为 cacti 用户添加周期性任务,用来搜集数据
#vim /etc/crontab
*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
在浏览器里输入 127.0.0.1/cacti 将会看到下面的页面
我们点击 Next ,我们将看到下面的页面
我们这里需要选择要安装的类型,我们选择 New install 然后点击 Next 我们会看到下面的页面
我们检查路径完全正确后,点击 Finish 后,会看到下面的登录页面
,默认情况下用户和密码都是 admin ,我们输入完以后点击 Login ,会看到下面的页面
这里将会要求我们强制修改密码,我们修改以后点击 Save 后将会看到登陆后的页面
到这里就安装成功了,只是安装没什么意义,我们要用,要想操作可以去官网上查看资料
参考文档
http://baike.baidu.com/view/1358799.htm
http://baike.baidu.com/view/1867979.htm
http://www.cacti.net/downloads/docs/html/
http://www.cacti.net/downloads/docs/html/install_unix.html
本文出自 “猎人部落” 博客,谢绝转载!