在gentoo上安装cacti
cacti是使用SQL数据库保存配置信息,使用cron调度poller.php,通过SNMP轮询设备信息,用rrdtool存储信息到rra中,然后用图像的形式展现出来的网络管理系统。具有插件功能可以进行扩展,比如weathermap可以画出漂亮的网络拓扑图。
位于gentoo官方的portage树中,可以查看到它的信息。
[plain]
#eix cacti
[I] net-analyzer/cacti
Available versions:
(0.8.7i) 0.8.7i
(0.8.8a) ~0.8.8a
(0.8.8b) ~0.8.8b
(0.8.8b-r1) ~0.8.8b-r1
(0.8.8b-r2) 0.8.8b-r2
{{doc snmp vhosts}}
Installed versions: 0.8.8b-r2(0.8.8b-r2)(09时24分16秒 2013年10月03日)(snmp -doc -vhosts)
Homepage: http://www.cacti.net/
Description: Cacti is a complete frontend to rrdtool
安装cacti的步骤如下:
0、准备:配置php
[plain]
#vim /etc/php/apache2-php5.4/php.ini
修改
;date.timezone =
为
date.timezone = "Asia/Shanghai"
1、安装
[plain]
#emerge cacti
2、配置权限
建立cacti组和cactiuser用户
[plain]
#groupadd cacti
#useradd -g cacti -G cron cactiuser
[plain]
#cd /var/www/localhost/htdocs/cacti
#chown -R cactiuser rra/ log/
这一步很重要,如果出现图像不存在显示为一个红叉的情况,一般都是这一步没有做。
3、建立数据库
[plain]
#mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('cactiuser');
mysql> flush privileges;
mysql> use cacti;
mysql> source /var/www/localhost/htdocs/cacti/cacti.sql
mysql> exit
其中password('cactiuser')中的cactiuser是口令,可以设置成其他字符串。
cacti.sql一定要是当前版本的。如果是以前创建的cacti库,一定要删了(也许有更好的方法,比如web install时候选升级)重做,否则会出问题。我在安装时曾经因为使用了0.8.7i的库,导致User Managerment中realm permissions找不到Plugin Management。
4、配置cacti的数据库连接参数
[plain]
#vim include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
其中$database_password = 如果在前面为mysql的cactiuser设定的别的口令,这里就要改成前面设定的口令。
5、配置poller.php的计划任务
在 ”/etc/crontab”文件中增加一行
[plain]
*/5 * * * * <span style="color:#FF0000"><strong>cactiuser</strong></span> /usr/bin/php /var/www/localhost/htdocs/cacti/poller.php > /dev/null 2>&1
注意这里一定要用cactiuser。有些地方的安装指南说用apache,是错误的,将导致cacti显示图像,但是数据都是NaN。原因是在gentoo中,apache用户在/etc/passwd的shell中定义的是/bin/nologin,所以使用apache用户不会执行任何程序(你切换用户都切换不过去),也就不可能获取任何数据,所以只能得到NaN。
6、配置本机SNMP服务
cacti默认会监控本机,配置好本机的SNMP服务可以简单的验证cacti是否安装运行正确。
我这里的net-analyzer/net-snmp版本是5.7.2,配置过程如下:
[plain]
#cd /etc/snmp
#cp snmpd.conf.exsample snmpd.conf
#vim snmpd.conf
修改
agentAddress udp:127.0.0.1:161
为
agentAddress udp:161
在
view systemonly included .1.3.6.1.2.1.25.1
后面增加一行
view systemonly included .1
安装完成。通过浏览器访问http://localhost/cacti
用户名和口令都是admin