Cacti的配置及不出图的解决方法
1 解决过程
1.1 安装的环境
1.1.1 系统环境
系统:Centos6.3 32位
内存:推荐1G以上
时间:安装系统时区设为Asia/Shanghai (安装系统时会有配置提示),时间设为当前实际,并写入到CMOS
网络:192.168.144.195 (本文档环境中要求能上公网,以便于使用yum下载东西)
另外:默认情况下Centos6.3最小化安装时,很多工具没有安装,给使用带来很多不便,在安装Cacti过程中会体现出来,所以本文档有区别于其它系统下安装Cacti,会安装类似gcc、make这样的工具等等。
1.1.2 防火墙
1、 关闭 selinux
使用vi /etc/sysconfig/selinux 命令修改selinux文件,使开机不启用selinux,如下:
[php]
# This file controls the state of SELinux on the system. …… # disabled - No SELinux policy is loaded. #下面一行注释 #SELINUX=enforcing #添加下面一行 SELINUX=disabled # SELINUXTYPE= can take one of these two values: …… SELINUXTYPE=targeted [/php] |
使用 setenforce 0 命令关闭正在运行的selinux,如下:
[php]
[root@localhost ~]# setenforce 0 [/php] |
2、 关闭iptables
命令如下:
[php]
#以下4行为彻底关闭防火墙 [root@localhost ~]# chkconfig iptables off [root@localhost ~]# service iptables stop [root@localhost ~]# chkconfig ip6tables off [root@localhost ~]# service ip6tables stop #查看当前状态 [root@localhost ~]# service iptables status iptables: Firewall is not running. [root@localhost ~]# service ip6tables status ip6tables: Firewall is not running. #以上4行为验证是否关闭成功,如果出现红色字体所示的提示,则说明关闭成功 [/php] |
1.2 依赖包与数据库
1.2.1 安装依赖包
使用如下命令安装所需要的包,其中蓝色为安装spine需要的包,红色为要用到的常用工具。
[php]
yum install httpd php php-mysql php-snmp php-gd mysql mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel rrdtool pango rsyslog-mysql gcc make wget -y 以下为提示安装完成: Installed: …… Complete! [/php] |
注:如使用RPM包安装,则:
安装net-snmp需要
lm_sensors-libs
net-snmp-libs
安装net-snmp-devel需要
elfutils-libelf-devel
elfutils-devel
lm_sensors-devel
file-devel
popt-devel
rpm-devel
tcp_wrappers-devel
安装rrdtool需要
dejavu-lgc-sans-mono-fonts
dejavu-sans-mono-fonts
[php]
[root@localhost ~]# service mysqld start …… Starting mysqld: [ OK ] #创建一个名为cacti的数据库 [root@localhost ~]# /usr/bin/mysqladmin --user=root create cacti #创建用户cactiuser、并把所有权限给数据库cacti, 设置用户名、密码都为cactiuser,实际应用中需要考虑更改 [root@localhost ~]# mysql -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'" [/php] |
1.3 安装Cacti包
1.3.1 获得Cacti包
先把下载好的Cacti包传到指定位置(根据个人喜好),或者使用wget 命令下载。
我这里使用是wget下载到指定位置:/opt/;
cacti的安装目录定为 /var/www/html/cacti;
写此文档时,Cacti最新版本为0.8.8a,包的全名为:cacti-0.8.8a.tar.gz
[php]
[root@localhost ~]# cd /opt/ #以下是用wget下载,此次为演示wget命令,其它所有的文件都是通过ssh上传到opt上面的 [root@localhost opt]# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz [root@localhost opt]# ll total 2220 -rw-r--r--. 1 root root 2273280 Feb 20 11:41 cacti-0.8.8a.tar.gz [/php] |
1.3.2 解压与配置cacti
[php]
#解压cacti包 [root@localhost opt]# tar zxvf cacti-0.8.8a.tar.gz #移解压出的文件夹到指定目录,并改名为cacti [root@localhost opt]# mv cacti-0.8.8a /var/www/html/cacti #导入数据库 [root@localhost opt]# mysql -ucactiuser -pcactiuser cacti < /var/www/html/cacti/cacti.sql 上面一步,用户、密码要与在2.2.2 数据库信息中设置的一样。 #进配置文件,进行修改 [root@localhost opt]# vi /var/www/html/cacti/include/config.php 主要更改以下信息,但对于本文档来说红色字体部分不需要做任何修改,因为创建的用户、密码都是默认的: $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactiuser"; $database_port = "3306"; $database_ssl = false; 如果当初数据库的用户、密码不是cactiuser的话,则需要做相应改动。 [/php] |
1、 给需相应的文件读写权限
[php]
[root@localhost html]# chmod 777 rra/ log/ [/php] |
2、 设置定时任务
[php]
#打开 crontab文件 [root@localhost html]# crontab –e把下面语句 */5 * * * * /usr/local/php/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 写入到里面去 [/php] |
注:以上1、2步是本文档执行步骤,也可以用以下来代替:
[php]
[root@localhost html] chown -R cactiuser rra/ log/ #打开crontab文件进行编辑 [root@localhost html]vi /etc/crontab 把 */5 * * * * cactiuser /usr/local/php/bin/php /var/www/html/cacti/poller.php /dev/null 2>&1 写进去 |
3、为了SNMP服务使用不受影响,需要使用 vi /etc/snmp/snmpd.conf 进SNMP配置文件进行修改相关信息:
[php] #view all included .1 80 把前面的#去掉 #access notConfigGroup "" any noauth exact systemview none none #把上面一行注释,并添加下面一行,其实目的是把systemview 改成 all access notConfigGroup "" any noauth exact all none none 其它默认不改,正式商用的时候有可能需要改动,在此文档不作深入 [/php] |
到目前为止,安装已基本完成,现在设置一下服务的重启与开机启动:
[php]
[root@localhost html]# service httpd restart [root@localhost html]# chkconfig httpd on [root@localhost html]# service snmpd restart [root@localhost html]# chkconfig snmpd on [root@localhost html]# service mysqld restart [root@localhost html]# chkconfig mysqld on [root@localhost html]# service crond restart [root@localhost html]# chkconfig crond on [/php] |
1.3.3 验证与界面向导
上面的安装、配置是否成功,需要下面的步骤来验证。
由于系统IP为192.168.144.195,所以在打开你的浏览器后,输入192.168.144.195/cacti 然后回车,正常的情况下,会得到下图:
接下来的步骤就是点Next
上面默认是New Install,我们就按默认状态点Next
上面绿色字体所示:[OK: FILE FOUND] 说明文件位置已找到,配置正确,当发现有红色字体没有找到位置目录提示时,需要手动把真实目录填写到此框。
下一步:输入用户名/密码(admin/admin)
第一次登录后,会提示更改密码,我们这里设一下:
至此, Cacti基本功能架构已安装完成,接下来可以畅游Cacti了。
1.3.4 相应改动
由于默认的原因,自身的主机consoleàDevicesàLocalhost默认不是我们想要的,见下图红框区域:
需要手改动一下SNMP Options改成Version 2,其它项目会随之变化,如下图:
为了以后添加其它主机时,默认是Version 2 需要进 consoleàSettingsàGeneral在SNMP Defaults项中 设成 Version 2。
为了方便以后添加主机某些配置,需要进控制台左侧SettingàGeneral,把SNMP Version 改成“Version 2 ”按目前业内使用一般情况,应该选Version 2,保存!
下图,说明一切正常了。
1.3.5 cacti不出图像不出数据解决方法
1.目录权限问题,查看rra、log目录权限是否可写
2.Settings》Paths中的php文件路径是否配置正确
3.crontab计划任务是否正确
[php]*/5 * * * * /usr/local/php/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1[/php]
如:cacti.log中出现
[php](POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 655 seconds have passed since the last poll! )[/php]
4.snmp配置是否正确
5.修改后要稍等几分钟才会生效出图。
1.4 Cacti安装的进阶
1.4.1 插件的安装
安装之前需要登录官方插件网站http://docs.cacti.net/plugins下载你需要的插件,以下是本次演示安装的插件:
插件名 |
功能 |
settings |
基本件,所有插件安装使用的前提 |
thold |
阀值告警 |
monitor |
监控服务器状态 |
realtime |
实时查看绘图 |
1、把下载好的插件传到指定目录,我们这里传到/opt下面,解压后需要移到/var/www/html/cacti/plugins
解压 命令如下:
[php]
[root@localhost opt]# tar zxvf settings-v0.71-1.tgz [root@localhost opt]# tar zxvf thold-v0.4.9-3.tgz [root@localhost opt]# tar zxvf monitor-v1.3-1.tgz [root@localhost opt]# tar zxvf realtime-v0.5-2.tgz [/php] |
移动 命令如下:
[php]
[root@localhost opt]# mv settings /var/www/html/cacti/plugins [root@localhost opt]# mv thold /var/www/html/cacti/plugins [root@localhost opt]# mv monitor /var/www/html/cacti/plugins [root@localhost opt]# mv realtime /var/www/html/cacti/plugins [/php] |
以上两步在系统里操作,下面需要登录Cacti界面操作安装:
ConsoleàPlugin Managementà
其中各种状态涵义为:
插件Montior会体现在主控板上,并在添加主机的时候会出现选项;
插件Thold 会体现在主控板上,并在图形右侧控制栏出现;
插件Realtime会体现在graphs 图形右侧 ,点击它后会有实时的图出现。
以上插件更多使用功能,此文不多介绍,将在另一篇文档《Cacti的使用》中给予讲述。
1.4.2 Spine的安装
Spine是代替 consoleàSettingsàPoller 中的Poller Type [cmd.php]
http://www.cacti.net/downloads/spine/
Spine 可以提高采集数据的效率,适合监控服务器数量比较多的Cacti,而cmd.php适合小型、测试、学习所用。
1、 把下载好的spine [cacti-spine-0.8.8a.tar.gz]传到/opt下面
2、 解压、编译、安装、配置
[php]
[root@localhost opt]# tar zxvf cacti-spine-0.8.8a.tar.gz #解压 [root@localhost opt]# cd cacti-spine-0.8.8a #检查当前的环境是否满足安装此软件的依赖关系 [root@localhost cacti-spine-0.8.8a]#./configure --with-mysql=/usr/local/mysql #编译 [root@localhost cacti-spine-0.8.8a]#make #安装 [root@localhost cacti-spine-0.8.8a]#make install #下面为复制并修改配置文件,此文档中此文件只复制而不需要改动,如果在上面的解压与配置cacti里的config.php的用户名、密码有改动,则需要进去做相应改动。 [root@localhost cacti-spine-0.8.8a] cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf [/php] |
3、登录Cacti界面配置
a、consoleàSettingsàPaths Spine Poller File Path 填写成/usr/local/spine/bin/spine 保存后如果正常,会提示[OK:FILE FOUND]
b、consoleàSettingsàPoller 中的Poller Type设成 [spine];
保存!至此,Spine已安装成功、配置成功,如果图能显示数据,说明全部配置成功。
以上安装过程,最大程度上采取了业内大众默认安装方式,经过多次安装,使用正常。
发表评论