准备环境
yum install mysql-server php-mysql net-snmp-utils rrdtool php-snmp
下载软件
输入下条命令
cd /var/www/html/
下载cacti-0.8.7g.tar.gz
wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
解压cacti-0.8.7g.tar.gz
tar-xzvf cacti-0.8.7g.tar.gz
此时会自动建立一个cacti-0.8.7g的文件夹,输入下条命令新建一个cacti的同步文件夹
ln –s cacti-0.8.7g cacti
现在已经下载了最新版本的cacti并放置在了web服务的根目录下,接下来我们就可以进行下一步的安装了。
创建数据库
为了简单就在Cacti的同一台机上安装数据库。
1. 运行下条命令登录到MySQl:
mysql –u root mysql
2. MySQl的默认root账户没有设置密码,那么我们可以输入下条命令给它设定一个密码:
SET PASSWORD FOR root@localhost = PASSWORD('MyN3wpassw0rd');
3. 如果你不需要样例数据库,可以输入下条命令将它删除:
DROP DATABASE test;
4. 可能有一些样例账户随着样例数据库被创建。你可以通过下条命令将这些账户移除:
DELETE FROM user WHERE NOT (host = "localhost" AND user = "mydbadmin");
5. 在Centos版本中可以通过下列命令引导你通过以上步骤:
/usr/bin/mysql_secure_installation
6. 现在MySQl已经安全了,让我们开始为Cacti创建数据库吧。首先输入下列命令:
mysqladmin -u root -p create cacti
这时会要你输入你之前在第一步设定的密码。命令运行后将会创建一个空的名字为cacti的空数据库。
7. 既然这个数据库是空的,你需要为cacti创建表格并且填入Cacti初始数据,下条命令就是做这个的:
mysql -p cacti < /var/www/html/cacti/cacti.sql
8. 此时将再一次向你要root的密码。一旦命令成功运行你将获得一个可运行的Cacti数据库。但是不幸的是此时Cacti仍然不能连接到这个数据库,因此你需要为Cacti创建一个账户。
9. 输入下条命令:
mysql -u root -p mysql
10. 你将在屏幕上看到下列文字:
11. 在MySQl中输入下列文字将迅速的创建用户。请确保选择一个高复杂度的密码:
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'MyV3ryStr0ngPassword';
flush privileges;
exit
那么刚才我们都做了什么呢?
你使用了MySQl的工具使其更安全,并且创建了数据库。创建了带有Cacti初始化数据的数据库,为Cacti创建了MySQl用户,然而Cacti需要知道怎样去连接到数据库,所以我们一起进入下一步。
如果你没有在Centos版本上安装Cacti,使用MySQl的内在的功能让进行安全安装。
配置Cacti
你需要告诉Cacti从哪里可以找到数据库并且连接数据库需要的证书。那么我们就需要编辑目录中的config.php 文件。
操作:
通过编辑config.php可以配置数据库和其他一些特殊设置。
1. 打开Cacti的下个目录:
cd /var/www/html/cacti/include
2. 使用Vi 或者(vim)编辑config.php文件
vi config.php
3. 更改$database_username 和$database_password 成你之前创建的Cacti 的账户名和密码。
4. 将$config['url_path'] = '/'改成$config['url_path'] = '/cacti/'
现在我们已经更改了Cacti的数据库的配置,改成了你之前创建的用户名和密码。这些设置将告知Cacti 从哪里可以找到数据库,连接到数据库需要什么凭证。你还更改了默认的URL路径以适合你的安装。在你安装Cacti到文档根目录的一个子目录 /var/www/html/cacti, 你需要更改这个设置指向 /cacti/, 否则,Cacti就不能正常工作。
为了让Poller正常的工作,Cacti需要一个系统账户。你现在将新建一个用户并安装Poller 的Cron 条目。
1. 创建一个Cacti系统用户名字为cactiuser, 使用root账户发出下条命令:
adduser cactiuser
2. 打开Cacti的目录:
cd /var/www/html/cacti
3. 更改使新创建的用户对rra 和 log 有拥有的权限:
chown –R cactiuser rra/ log/
4. 增加 Poller cron 条目。编辑/etc/cron.d内的cacti文件:
vi /etc/cron.d/cacti
5. 添加下行文字:
*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
6. 保存文件。
刚刚做了什么呢?现在创建了运行Cacti poller 的cacti系统账户,并且做了计划让poller五分钟运行一次。五分钟是默认的间隔,如果需要可以改成一分钟。要了解更多关于这些的信息可以访问http://forums.cacti.net/viewtopic.php?p=116403.
安装Spine poller
默认情况下cacti 有一个用PHP 编写的poller. 对小中型的配置来说这个默认的Poller确实可以很好的工作。但是对于大型的配置来说就需要使用这个替代轮询Spine了。它是用C编写的,因为它利用现代操作系统和硬件的多任务处理能力,使它比原始的Poller更快。
在这里我们进行一下深度的安装和配置poller.
1. 为Spine 准备开发环境。在centos版本上可输入下列命令来准备。
yum install gcc mysql-devel net-snmp-devel autoconf automake libtool
2. 下载Spine 源代码。打开cacti 的官网http://www.cacti.net, 点击Download。在tar.gz格式的地方右击Spine Source复制链接地址。
3. 打开 /tmp/输入下列命令:
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
4. 解压
tar –xzvf cacti-spine-0.8.7g.tar.gz
5. 打开新创建的cacti-spine-0.8.7g目录。
cd cacti-spine-0.8.7g
6. 准备编译目录。注意这步可能不适合某些系统版本,或者需要其他的步骤才可以完成。
./bootstrap
(我在centos6.2上安装的,提示需要安装dos2unix. 执行 yum install –y dos2unix 即可解决)
7. 配置编译环境:
./configure
8. 编译Spine:
make
9. 一旦编译完成就开始安装:
make install
10. 现在已经安装好了Spine,但是还需要配置一下。因此拷贝样例配置到Spine可以找到的地方:
cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
11. 编辑这个文件
vim /etc/spine.conf
12. 更改数据库的配置以匹配之前的设定。
13. 在/sbin中创建Spine的一对符号连接:
ln -s /usr/local/spine/bin/spine /sbin/spine
首次使用Cacti
安装好Cacti之后还有几个地方要进行配置,我们需要到web界面通过引导来完成最终的安装。下面的步骤适合Windows和Linux的Cacti的安装。
1. 打开安装URL http://<yourserver>/cacti/install .阅读完通行证之后点击Next>>.
2. 下一页询问你是安装一个全新的系统还是更新现存的系统。选择全新安装之后点击Next>>。
3. 最后的这个页面预览了所以的路径。如果你是完全安装上面的步骤安装的,那么所有的区域都应该是绿色的。
4. 点击Finish之后你会再次转到Cacti的登录界面。
现在通过web完成了Cacti的所有安装。如果你正确的安装了这个说明文档,你现在应该拥有了一个可以工作的Cacti系统了。
默认的安装使用的是cmd.php poller. 如果想使用Spine, 需要通过web登录Cacti,在Path页设置Spine Poller 文件路径,同时在Poller页更改Poller类型为 Spine.
Cacti 的web界面的介绍
首次登录在Linux系统可使用账户admin密码admin,在Windows 系统可以使用账户cactipw 密码 cactipw. 登录之后都要强制更改用户密码,完成之后就可以呈现出Cacti的界面了。
初始化的界面被称作控制台,只有管理员和有特殊连接权限的账户可以看到。在这可以完全的管理Cacti.