CACTI
一、简介
Cacti是一款监控软件,它是通过SNMP协议传递监控网络中的主机的各项性能参数,然后通过RRDTOOL软件绘图,并且保存为rrd文件,最后Cacti把它显示出来。(建议使用spine采集器)
二、安装
1、准备所需要的软件包
Apache http://www.apache.org/
Mysql http://www.mysql.com/
Php http://www.php.net
Rrdtool http://oss.oetiker.ch/rrdtool/
Net-snmp http://www.net-snmp.org/
Cacti http://www.cacti.net/
其中apache、mysql、php通过yum安装
2、安装所需要的软件
1.安装LAMP
[root@cacti ~]# yum -y install httpd mysql-server php php-mysql mysql-devel php-snmp
[root@cacti ~]# chkconfig httpd on
[root@cacti ~]# chkconfig mysqld on
[root@cacti ~]# /etc/init.d/httpd start
[root@cacti ~]# /etc/init.d/mysqld start
安装完成后,可通过以下程序测试
[root@cacti html]# cat inex.php
<?php
phpinfo();
?>
3.安装rrdtool
Rrdtool安装需要cairo、libxml2、pango库支持,可通过yum安装
[root@cacti ~]# yum -y install cairo-devel libxml2-devel pango-devel
[root@cacti ~]# tar zxvf rrdtool-1.4.7.tar.tar
[root@cacti ~]# cd rrdtool-1.4.7
[root@cacti rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool
[root@cacti rrdtool-1.4.7]# make && make install
[root@cacti rrdtool-1.4.7]# ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
4.安装net-snmp
[root@cacti ~]# tar zxvf net-snmp-5.6.1.1.tar.gz
[root@cacti ~]# cd net-snmp-5.6.1.1
[root@cacti net-snmp-5.6.1.1]# ./configure --prefix=/usr/local/net-snmp
[root@cacti net-snmp-5.6.1.1]# make && make install
[root@cacti net-snmp-5.6.1.1]# cp EXAMPLE.conf /etc/snmpd.conf
[root@cacti ~]# ln -s /usr/local/net-snmp/bin/* /usr/local/bin/
[root@cacti ~]# vim /etc/snmpd.conf
rocommunity public localhost #去掉注释
[root@cacti ~]# /usr/local/net-snmp/sbin/snmpd -c /etc/snmpd.conf
加入开机启动
[root@cacti ~]# echo "/usr/local/net-snmp/sbin/snmpd -c /etc/snmpd.conf " >>/etc/rc.local
5.安装cacti
[root@cacti ~]# tar zxvf cacti-0.8.8a.tar.gz -C /var/www/html/
[root@cacti ~]# cd /var/www/html/
[root@cacti cacti]# ln -sv cacti-0.8.8a cacti
[root@cacti cacti]# useradd cacti
[root@cacti cacti]# chown -R cacti:cacti rra/ log/
[root@cacti ~]# mysql -uroot
#连接到mysql创建数据库
mysql> create database cacti;
#创建cacti数据库
#重载mysql授权表
mysql> grant all on cacti.* to cacti@'localhost' identified by '123';
#把数据库cacti授权于用户cacti
[root@cacti ~]# cd /var/www/html/
[root@cacti html]# mysql -ucacti -p123 cacti<cacti.sql #将cacti数据库导入
修改网站配置文件,使用正确连接数据库参数
[root@cacti html]# vim include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "123";
$database_port = "3306";
5、安装spine
tar zxvf cacti-spine-0.8.8b.tar.gz cd
./configure --prefix=/usr/local/cacti-spine --with-snmp=/usr/local/net-snmp
make && make install
配置spine
vi /usr/local/cacti-spine/etc/spine.conf
根据实际情况修改以下东西:
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
会看到安装向导,点下两个NEXT之后,出现以下:使用浏览器打开http://192.168.209.130/cacti/
默认用户名和密码admin,第一次登录会要求更改密码
三、使用
【1】使用默认模板和自定义脚本
1、需要添加主机,通过主机选项标签
2、需要添加图形树,通过图形管理把你需要的图像附加在图形树下面
3、在主机模板里面有默认的图像,自己可以直接添加在你的图形树种
如果是自定义:
1)选择采集方法最好采用数据输入方法(自定义脚本),因为数据查询是通过XML来进行数据收集的
2)新建数据模板
3)添加数据源
4)添加图形模板
5)图形管理,添加图形模板,最后把添加的模板关联到某个图形树上
【2】使用cacti社区的脚本和模板
访问连接:http://forums.cacti.net/viewforum.php?f=12&sid=4e3d4d685714e29030896e240e17f424
1、导入图形模板和脚本
2、找到数据源和图形模板
3、关联到某台主机,添加到图形树下
【3】插件的使用
1、可以添加如下插件
四、故障排查
【1】
1. 首先检查一下rra/下面,有没有数据,如果没有检查rra/ log/的拥有者是不是cacti
2. snmpwalk -v 2c -c public ServerIP 用来测试被控对象(serverIP)是否开启了SNMP服
务
3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负
载的数据返回
4. /usr/local/bin/php /var/www/html/cacti/poller.php 用来测试PHP是否可以采集到数据
如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。
5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改
PHP.ini,很有可能是PHP权限问题。如果第4步正常而无法显示图,则可能是rra/ log/ 的
Owner不对
6. #crontab -e
*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
7、强制执行#/usr/bin/php /var/www/html/cacti/poller.php --force
8、通过查看日志,cacti的系统工具里面也可以查看日志
9、通过数据源调试模式和图像调试模式进行排查
10、系统工具里面的重建数据采集
11、系统时间不准确,重新设置时间
12、数据库表有损坏,修复#mysqlcheck -ao cacti �Cauto-repair -uroot -p
13、重启snmpd服务#service snmpd restart,