cacti编译安装 (centos 5.4环境)

最近一直在公司搞这个东西,由于各种资料很全(中文的也不少),所以做起来相对容易,也少走了很多弯路。搭好后总结手顺如下。
       首先我使用的centOS 5.3,最小安装。
YUM一些必要的RPM包。
# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pango-devel net-snmp-devel net-snmp net-snmp-utils net-snmp-libs
MYSQL安装
所有rpm包都安装完成后,就可以安装mysql了。
# tar -xzvf mysql-5.0.45-linux-i686-glibc23.tar.gz
# mv mysql-5.1.38-linux-x86_64-icc-glibc23 /usr/local/mysql
# cd /usr/local/mysql
# groupadd mysql
# useradd -g mysql mysql
# scripts/mysql_install_db --user=mysql    //初始化数据库
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# ./bin/mysqld_safe --user=mysql &           //启动
# ./bin/mysqladmin -u root password admin    //给root用户设置密码
# cp ./support-files/mysql.server /etc/init.d/mysqld
# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql                  //建立一个软连接,使得可以在命令行下直接使用mysql命令
# ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin/mysqladmin        //建立一个软连接,使得可以在命令行下直接使用mysqladmin命令
# ln -s /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump          //建立一个软连接,使得可以在命令行下直接使用mysqldump命令
# ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/local/lib/        //建立一个软连接,是其他软件可以找到编译和运行时的库
# /usr/local/mysql/bin/mysql -u root -padmin            //进入数据库并给cacti建立一个专用的库cactidb
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('admin');
mysql> exit

APACHE安装
# tar -zxvf httpd-2.2.6.tar.gz
# cd httpd-2.2.14
# ./configure --prefix=/usr/local/apache --enable-so
# make
# make config
PHP安装
# tar -zxvf php-5.1.6.tar.gz
# cd php-5.1.6
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets --with-zlib-dir=/usr/include --with-gd
# make
# make install
# cp php.ini-dist /usr/local/php/php.ini
# vi /usr/local/apache/conf/httpd.conf             //修改apache的配置文件加入下面几行 用来对php进行支持
找到AddType application/x-gzip .gz .tgz 在它后面添加
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
找到DirectoryIndex index.html,把这句改成
DirectoryIndex index.php index.html index.html.var
保存退出
# /usr/local/apache/bin/apachectl start             //启动 apache
# vi /usr/local/apache/htdocs/ceshi.php            //测试页
<?
phpinfo( );
?>
保存退出
浏览器输入 http://IP/ceshi.php 看看是否有php的相关信息

SNMP                       
配置SNMP                     //注意,此处配置SNMP是用于检测本机的数据,也就是说,如果想用cacti检测其他linux主机,也要在其他linux主机上进行同样的SNMP配置,不然cacti服务器无法获取SNMP数据。
# vi /etc/snmp/snmpd.conf         //找到下面几行并修改
找到com2sec notConfigUser default       public 改成
com2sec notConfigUser   127.0.0.1       public          //default 改为127.0.0.1
(注意这里:如果你以后想往cacti里添加其他机器,只要在被监控的主机上把127.0.0.1改为cacti服务器的地址就行了)
找到access notConfigGroup ""      any       noauth    exact systemview none none 改成
access notConfigGroup ""      any       noauth    exact all none none      //systemview 改为all
找到#view all    included .1         80 改成
view all    included .1         80          //去掉注释
保存退出
# service snmpd restart
测试一下snmpwalk是否正常工作
# snmpwalk -c public -v 1 -m ALL 127.0.0.1 .1.3.6.1.2.1.4.20      //看看得出的数据第一行是不是本机的IP地址

RRDTool安装
# tar -zxvf rrdtool-1.3.6.tar.tar
# cd rrdtool-1.3.6
# ./configure
# make
# make install

CACTI安装
# useradd cactiuser -g users
# tar zxvf cacti-0.8.7e.tar.gz
# mv cacti-0.8.7e /usr/local/apache/htdocs/cacti
# cd /usr/local/apache/htdocs/cacti
# chown -R cactiuser rra/ log/
# cd scripts
# chown cactiuser:users *
# vi /usr/local/apache/htdocs/cacti/include/config.php             //找到如下几行
$database_type = “mysql”;
$database_default = “cactidb”;                        //这里把cacti改成cactidb
$database_hostname = “localhost”;
$database_username = “cactiuser”;                            
$database_password = “admin”;                         //这里把cactiuser改成admin
保存退出
/usr/local/mysql/bin/mysql -u root -padmin cactidb < cacti.sql    //导入数据库
现在用浏览器访问
http://ip/cacti
出现 Cacti Installation Guide 界面,点next
选择new install
RRDTool Binary Path和PHP Binary Path应该会显示NOT FOUND
手动在这两个输入
c
/usr/local/php/bin/php
之后出现登陆画面,用户名和密码都是admin,输入后会让你输入新密码。
进去后选择console-->settings-->genernal,在里面找到RRDTool Utility Version 选择 RRDTool 1.3.x
现在还看不到图,需要先设定个计时器
安装vixie-cron-4.1-76.e15.i386.rpm
# crontab -u cactiuser -e     //添加如下这句,作用是5分钟更新一次数据
*/1 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
保存退出
# su cactiuser
# /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php
现在应该有图了
# /etc/init.d/crond start       //启动计时器
等几分钟,应该就有数据了。
不得不说,用rrdtools画图比MRTG要漂亮多。而且template资源非常全,可以去CACTI的论坛上去找,应有尽有。接下来要做的就是把nagios也加进来,终归CACTI的报警功能还是比较弱的。

本文出自 “技术成就梦想” 博客,谢绝转载!

你可能感兴趣的:(centos,环境,编译,cacti,休闲)