Installing Cactid/Spine 12月 11th, 2007
Cacti在运行的时候,需要在crontab里添加计划任务,默认是使用cmd.php来执行任务,但效率低下,因此我们用Cactid/Spine来取代cmd.php…
1.编译 Spine/Cactid
编译Spine/Cactid之前,先确认已经安装以下packages:
net-snmp-devel
mysql
mysql-devel
openssl-devel
Compiling Spine
2.下载最新版本的Spine/Cactid 并编译成为二进制可执行文件:
# tar xvzf cacti-spine-0.8.7.tar.gz
# cd spine-0.8.7
# ./configure
# make
# mkdir /usr/local/spine
# cp spine spine.conf /usr/local/spine
编辑 spine.conf 文件,输入数据库名、数据库用户名和密码等信息.
3.使用管理员帐号登陆Cacti.在系统参数中制定Spine/Cactid的物理路径.
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
Upgrading Cacti 12月 11th, 2007
Cacti已经发布了0.8.7a版本,下午把监控服务器上的cacti从0.8.6j升级到新版本。
1. 备份数据库.
# service mysqld stop
# cp -R /var/lib/mysql/cacti /var/lib/mysql/cacti_old
2. 备份cacti程序目录.
# mv cacti cacti_old
3. 解压新版本压缩包.
# tar xzvf cacti-version.tar.gz
4. 重命名解压目录.
# mv cacti-version cacti
5. 编辑 include/config.php 设定好数据库类型、数据库名、数据库用户名和密码.
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
6. 从原程序目录中复制 *.rrd 文件.
# cp cacti_old/rra/* cacti/rra/
7. 备份脚本程序.
# cp -u cacti_old/scripts/* cacti/scripts/
# cp -u -R cacti_old/resource/* cacti/resource/
8. 设置rra文件目录和log目录的权限.
# chown -R cactiuser rra/ log/
9. 通过浏览器访问,程序将自动升级数据库:
cacti+rrdtool 9月 1st, 2006

一直以来都是使用MRTG,通过监控每个机柜的交换机端口,来监控所有服务器的流量。MRTG的好处就是简单方便,安装后修改一下配置文件就可以直接使用。在服务器量少的时候,还好,一旦服务器数量众多,MRTG就有点力不从心,服务器超过400台以后,MRTG已经无法在10分钟内完成一次数据更新。只能降低数据更新频率,延长时间,同时由于服务器数量过多,MRTG持续占用服务器CPU资源,在服务器数量不断增加的情况下,只能增加监控的服务器。
网上搜索了众多资料,最后选择Cacti+rrdtool。Cacti是一套php程序,它利用snmpget采集设备的SNMP数据,再利用rrdtool进行绘图。用了三天时间,终于把这套东西装了起来。只用了一台服务器,Cacti+rrdtool,代替了MRTG+3台监控服务器。而且管理起来尤其方便,通过Web界面就可以随意添加被监控设备。

