标签存档: Cacti

Installing Cactid/Spine

     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

    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. 通过浏览器访问,程序将自动升级数据库:

         http://your-server/cacti/

cacti+rrdtool

cacti

     一直以来都是使用MRTG,通过监控每个机柜的交换机端口,来监控所有服务器的流量。MRTG的好处就是简单方便,安装后修改一下配置文件就可以直接使用。在服务器量少的时候,还好,一旦服务器数量众多,MRTG就有点力不从心,服务器超过400台以后,MRTG已经无法在10分钟内完成一次数据更新。只能降低数据更新频率,延长时间,同时由于服务器数量过多,MRTG持续占用服务器CPU资源,在服务器数量不断增加的情况下,只能增加监控的服务器。

      网上搜索了众多资料,最后选择Cacti+rrdtool。Cacti是一套php程序,它利用snmpget采集设备的SNMP数据,再利用rrdtool进行绘图。用了三天时间,终于把这套东西装了起来。只用了一台服务器,Cacti+rrdtool,代替了MRTG+3台监控服务器。而且管理起来尤其方便,通过Web界面就可以随意添加被监控设备。

cacticacti