一、环境需求

 
操作系统:REDHAT 5.4

二、编译安装
2.1 mysql安装mysql安装请查看 http://johnsz.blog.51cto.com/525379/736126
 
2.2 编译安装apache
编译安装支持库
a   编译安装jpegsrc.v6b.tar.gz
#     tar zxvf jpegsrc.v6b.tar.gz
#     mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
#     cd jpeg-6b/
#     ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
#     make
#      make install

 

b 编译安装libpng-1.4.4.tar.gz

 

#     tar zxvf libpng-1.4.4.tar.gz
#     cd libpng-1.4.4
#     ./configure --prefix=/usr/local/libpng
#     make
#      make install
 
 

c 编译安装freetype-2.4.3.tar.gz

 

#     tar zxvf freetype-2.4.3.tar.gz
#     cd freetype-2.4.3
#     mkdir -pv /usr/local/freetype
#     ./configure --prefix=/usr/local/freetype
#     make && make install
注:可以yum,方便快捷点。
 
 

d 编译安装zlib-1.2.5.tar.gz     

 

#     tar zxvf zlib-1.2.5.tar.gz
#     cd zlib-1.2.5
#     mkdir /usr/local/zlib
#     ./configure --prefix=/usr/local/zlib
#     make
#      make install
注:可以yum,方便快捷点。
 
 

e 编译安装curl-7.21.2.tar.gz

 

#     tar zxvf curl-7.21.2.tar.gz
#     mkdir -pv /usr/local/curl
#     cd curl-7.21.2
#     ./configure --prefix=/usr/local/curl
#     make
 #    make install
注:可以不需要
 
 

f、编译安装libxml2-sources-2.7.8.tar.gz

 

#     tar zxvf libxml2-sources-2.7.8.tar.gz
#     cd libxml2-2.7.8/
#     mkdir -pv /usr/local/libxml2
#     ./configure --prefix=/usr/local/libxml2
#     make
#     make install
注:最好源码安装,也可以yum安装
 
 

G、编译安装libxslt-1.1.9.tar.gz                        

 

#     tar zxvf libxslt-1.1.9.tar.gz
#     mkdir -pv /usr/local/libxslt
#     cd libxslt-1.1.9
#     ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
#     make
#     make install
注:可以安装,也可以不安装
 
 

H、编译安装fontconfig-2.8.0.tar.gz

 

下载地址 http://fontconfig.org/release/
#     tar zxvf fontconfig-2.8.0.tar.gz
#     cd fontconfig-2.8.0
#     mkdir -pv /usr/local/fontconfig
#     ./configure --prefix=/usr/local/fontconfig --disable-docs --with-freetype-config=/usr/local/freetype/bin/freetype-config
#     make
#     make install
 
 

I、编译安装 gettext-0.18.tar.gz        

 

下载地址 http://mirror.bjtu.edu.cn/gnu/gettext/
可以使用 yum install gettext安装
#     tar zxvf gettext-0.18.tar.gz
#     cd gettext-0.18
#     mkdir /usr/local/gettext
#     ./configure --prefix=/usr/local/gettext
#     make
#     make install
J、编译安装libart_lgpl-2.3.17.tar.tar
#     tar zxvf libart_lgpl-2.3.17.tar.tar
#     cd libart_lgpl-2.3.17
#     mkdir -pv /usr/local/libart
#     ./configure --prefix=/usr/local/libart             #也有加上参数--disable-shared    意义暂时不明白
#     make
#     make install
K、编译安装gd-2.0.32.tar.gz 
#     tar zxvf gd-2.0.35.tar.gz
#     cd gd-2.0.35
#     mkdir -pv /usr/local/gd2
#     ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg
#     tar zxvf httpd-2.2.15.tar.gz
 

注:这个源码包特殊,最好安装gd-2.0.32.tar.gz以上的包,不然会报错,这个包一路装下去也没报错。

 

L   httpd-2.2.17.tar.gz
#     cd httpd-2.2.17
#     ./configure --prefix=/usr/local/apache2 --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-rewrite --enable-deflate --enable-expires --disable-cgi --disable-cgid --disable-access --disable-env --disable-autoindex --disable-asis --disable-action --disable-negotiation --disable-include --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#     make
#      make install
#     /usr/local/apache2/bin/apachectl -l      #查看编译的模块
#     /usr/local/apache2/bin/apachectl –k start    #启动http服务
输入 http://IP    出现页面表示apache安装成功
 
M、安装php
1 编译安装 zxvf php-5.3.3.tar.gz
#     tar zxvf php-5.3.3.tar.gz
#     mkdir -pv /usr/local/php5
#     cd php-5.3.3
#     ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-jpeg-dir=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-mbstring=all--enable-mbregex --enable-ftp --enable-soap --with-xsl=/usr/local/libxslt --with-config-file-path=/usr/local/php5/etc --enable-zip --with-libXML-dir=/usr/local/libxml2 -- enable -sockets (这个enable-sockets重要一定要有,上面有些软件是用yum安装的,所以不用指向安装地址) 
#     make
#     make install
 

N整合apachephp

 

修改httpd.conf文件使支持php
#     vi /usr/local/apache/conf/httpd.conf
查看是否有这一行,如果没有,需要增加上,理论上apache2.2.17php5.3.4编译安装完成后,会自动生成这一行
LoadModule php5_module        modules/libphp5.so
在第310行下面增加下面的内容,309310行的内容是
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在这两行下面加入下面的内容,就能支持php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注:关于没有php.ini的解决,从源码目录复制
cp php.ini-development /usr/local/php5/etc/php.ini       #php5.33以上都没有php,ini文件应该不叫php.ini-dist,这个文件是php5.2.14
修改PHP时区
#vi  /usr/local/php5/etc/php.ini 
date.timezone 改为PRC
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
增加一个php测试页面(现在的家目录在$apache_home/htdocs下面)另外,测试完后不要忘记删掉这个页面
#     vi /usr/local/apache/htdocs/index.php
?>
 
P、安装rrdtool
解决依赖关系
安装方法1:
#yum -y install rrdtool*
 
安装方法2:
第一步:先安装这个包
# rpm –ivh rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
第二步:要这样安装这样的包 (这两个包要同时安装)
# rpm –ivh  rrdtool-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.wrl.src.rpm
Q、安装cacti
#     tar zxvf cacti-0.8.7g.tar.gz
#     mv cacti-0.8.7g /usr/local/apache/htdocs/cacti
#     vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";                                #用户名自己弄一个
$database_password = "mysql";                                 #密码自己弄一个
$database_port = "3306";
#     useradd cacti
#     chown -R cacti:cacti /usr/local/apache/htdocs/cacti       这一步相当的重要,涉及到权限问题
#     crontab -e -u cacti                           # 加入自动执行规则,每 5 分钟执行
*/5 * * * * /usr/local/php5/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
注:可以先在cacti用户中运行一次
su - cacti
/usr/local/php5/bin/php /usr/local/apache/htdocs/cacti/poller.php
R、启动mysql建立cacti数据库和用户,导入数据库模板
  Mysql –u root –p mysql
> create database cacti;
> use cacti;
> source /usr/local/apache/htdocs/cacti/cacti. sql  
> grant all privileges on cacti.* to  cacti@localhost identified by 'mysql';
> grant all privileges on cacti.* to  [email protected] identified by 'mysql';
> flush privileges;
注解:grant all privileges on *.* to 用户名@登录主机 identified by "密码";给予全局权限

T、安装snmp
#     yum  install net-snmp-*
#     vi /etc/snmp/snmpd.conf
com2sec notConfigUser default       public                    
改为127.0.0.1 这一个是cacti监控服务器的IP地址
com2sec notConfigUser  127.0.0. 1         public
access notConfigGroup ""    any   noauth    exact systemview none none     
改为
access  notConfigGroup ""    any  noauth    exact  all        none none
#view all    included .1                               80                
去掉注释#
view all    included .1                               80
 
保存退出,运行/etc/init.d/snmpd start
 
查看snmp状态:snmpwalk -c public -v1 127.0.0.1 .1.3.6.1.2.1.25.2.3.1
S、安装cactid
#     tar zxvf cacti-cactid-0.8.6k.tar.gz
#     cd cacti-cactid-0.8.6k
#     ./configure --with-mysql=/usr/local/mysql
#     make
#     make install
#     cp cactid cactid.conf /usr/local/cactid/
#     vi /usr/local/cactid/cactid.conf
DB_Host         127.0.0.1
DB_Database     cacti
DB_User        cacti
DB_Pass         mysql
DB_Port         3306

三.初始化Cacti系统
1.在客户端Web浏览器访问Cacti服务器,第一次访问cacti界面,页面将跳转至Cacti的初始化安装向导界面

Cacti监控软件详细配置_第1张图片

2.设置各种工具命令的路径,如果没有找到,需要手动修改。此时需要注意,如果是编译安装的AMP平台,有些路径需要作对应改变。

Cacti监控软件详细配置_第2张图片

3.设置RRDtool工具的版本和字体的路径:在Cacti的控制台界面中,点击左侧栏的“设置”,打开Cacti的系统设置界面,确认“常规”标签页中的“RRDtool应用程序版本”设置为“RRDtool1.4.x”。

4.找到“路径”选项卡中的“RRDtool默认字体路径”,将字体路径设置为“/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf”

Cacti监控软件详细配置_第3张图片

5.基本设置完成,可以添加相应设备进行监控
 
四、cacti图片不显示的解决方法
先确定你的IP地址、snmp comunite、snmp version等信息配置没有错误。
如果是在linux下安装cacti的话,可以按以下步骤检测:
1、cacti的data sources和Graph Management均有debug。看是否有错误,比如rrd文件找不到等。
2、data sources里看rrd文件的名称,然后到/cacti/rra目录中看是否有该文件存在。
3、如果有rrd文件存在,则可以使用
rrdtool fetch yourRRDfile.rrd AVERAGE
复制代码
命令,看该文件的采集的数据,如果都是“nan”,那就是没有取到数据。
4、有可能是snmpget、snmpwalk和rrdtool的路径错误。
5、排除错误后,需要重新建立该监测点(graph)。
提示:每一个图像的文件均会保存为rra目录里的一个rrd为后缀的文件(可以在“Data Sources”中看到)
。“Data Sources”和“Graph Management”中均可以进行debug,可以从debug中得出错误信息。
 
参考文献: http://lovevickie.blog.51cto.com/1576116/559977
http://xjsunjie.blog.51cto.com/999372/648886
http://www.oschina.net/question/17_432