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 写进去
[/php]

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 然后回车,正常的情况下,会得到下图:

cacti-1

接下来的步骤就是点Next

cacti-2

上面默认是New Install,我们就按默认状态点Next

cacti-3

上面绿色字体所示:[OK: FILE FOUND] 说明文件位置已找到,配置正确,当发现有红色字体没有找到位置目录提示时,需要手动把真实目录填写到此框。

下一步:输入用户名/密码(admin/admin)

 cacti-4

第一次登录后,会提示更改密码,我们这里设一下:

 cacti-5

至此, Cacti基本功能架构已安装完成,接下来可以畅游Cacti了。

 cacti-6

1.3.4          相应改动

由于默认的原因,自身的主机consoleàDevicesàLocalhost默认不是我们想要的,见下图红框区域:

 cacti-7

需要手改动一下SNMP Options改成Version 2,其它项目会随之变化,如下图:

 cacti-8

为了以后添加其它主机时,默认是Version 2 需要进 consoleàSettingsàGeneral在SNMP Defaults项中 设成 Version 2。

为了方便以后添加主机某些配置,需要进控制台左侧SettingàGeneral,把SNMP Version 改成“Version 2 ”按目前业内使用一般情况,应该选Version 2,保存!

下图,说明一切正常了。

cacti-9

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à

cacti-10

其中各种状态涵义为:

cacti-11:未安装

cacti-12:已安装;

cacti-13:已激活。

插件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]

 cacti-14

b、consoleàSettingsàPoller 中的Poller Type设成 [spine];

保存!至此,Spine已安装成功、配置成功,如果图能显示数据,说明全部配置成功。

cacti-15

以上安装过程,最大程度上采取了业内大众默认安装方式,经过多次安装,使用正常。

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注