Cacti的功能与用途这里就不多做介绍了,但它并不是万能的,例如无法统计某个IP段的流量情况,期待新版或Mod能让其真正强大起来。
一、Apache+PHP+Mysql安装
(1). apache安装
下载
wget http://apache.justdn.org/httpd/httpd- 2.0.55.tar.gz
解压
tar zxvf httpd- 2.0.55.tar.gz
如果没有最大化安装as4或没有安装以下包,编译会报错
可手动安装编译环境,或在添加删除应用程序中选中安装-开发工具
rpm –ivh xxxxx.rpm #xxxxx.rpm包安装顺序如下:
1、glibc-kernheaders-2.4-8.10.i386.rpm
2、binutils-2.13.90.0.18-9.i386.rpm
3、cpp-
3.2.2-5.i386.rpm
4、glibc-devel-2.3.2-11.9.i386.rpm
5、glibc-common-2.3.2-11.9.i386.rpm
6、gcc-3.2.2-5.i386.rpm
配置
cd httpd- 2.0.55
./configure --prefix=/usr/local/apache-2.0.55 /
--with-mpm=prefork /
--enable-vhost-alias /
--enable-rewrite /
--enable-expires /
--enable-so
编译并安装
make && make install
(2).修改配置文件
cd /usr/local/apache- 2.0.55/conf
vi httpd.conf
KeepAlive Off #把on改成off,关闭持久连接
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 4000 #添加这一行,一定要大于MaxClients,但要小于20000
MaxClients 2000 #根据内存大小,一般情况下是 1G内存2000
MaxRequestsPerChild 0
</IfModule>
注: ServerName 可修改为域名或本机ip
cd /usr/loca/apache- 2.0.55/bin
启动:./apachectl start
关闭:./ apachectl stop
(3).添加PHP模块,并支持Mysql
1.mysql的安装
cd /soft/
下载
wget http://dev.mysql.com/get/Downloads/MySQL-4.0/mysql- 4.0.26.tar.gz/from/http://mysql.byungsoo.net/
解压
tar zxvf mysql- 4.0.26.tar.gz
配置
cd mysql- 4.0.26
./configure –prefix=/usr/local/mysql-4.0.26
编译并安装
make
make install
启动mysql:端口3306
cd /soft/mysql- 4.0.26
cp support-files/my-medium.cnf /etc/my.cnf
y
groupadd mysql #添加mysql用户和组
useradd –g mysql mysql
/usr/local/mysql- 4.0.26/bin/mysql_install_db #初始化权限表
chown –R mysql:mysql /usr/local/mysql- 4.0.26/var #更改目录所属组
/usr/local/mysql- 4.0.26/bin/mysqld_safe & #启动mysql
两次回车
mysql
/usr/local/mysql- 4.0.26/bin/mysqladmin shutdown #关闭mysql
2.php编译参数
下载
wget http://cn2.php.net/get/php- 4.4.1.tar.gz/from/cn.php.net/mirror
解压
tar zxvf php- 4.4.1.tar.gz
安装 jpegsrc.v6b.tar.gz 和 libpng- 1.2.8-config.tar.gz,否则提示错误“libjpeg.(a|so) not found.”
配置
./configure --prefix=/usr/local/php-4.4.1 /
--with-apxs2=/usr/local/apache- 2.0.55/bin/apxs /
--with-iconv /
--with-mysql=/usr/local/mysql- 4.0.26 /
--with-gd /
--with-jpeg-dir=/usr/local /
--with-png-dir /
--with-zlib /
--enable-gd-native-ttf /
# 以下参数是安装cacti时才用到
--enable-sockets /
--with-snmp /
--enable-ucd-snmp-hack
编译并安装
make && make install
3.拷贝及修改php.ini
cd /soft/ php- 4.4.1/
cp php.ini-dist /usr/local/php- 4.4.1/lib/php.ini
修改配置文件
vi /usr/local/php- 4.4.1/lib/php.ini
memory_limit = 84M
display_errors = Off
log_errors = Off #日志记录可不必开启
log_errors_max_len = 10240
error_log = /hdp1/v2/log/php_error.txt #目录手动添加
post_max_size = 82M
upload_max_filesize = 80M
4.修改apache的httpd.conf文件 添加如下一行,让它能够解析.php文件
cd /usr/local/apache- 2.0.55/conf/
vi httpd.conf
要添加到AddType相关的行
AddType application/x-httpd-php .php
重启apache
cd /usr/local/apache- 2.0.55/bin/
./apachectl stop
./apachectl start
(4).添加虚拟主机
cd /usr/local/apache- 2.0.55/conf/
vi httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.zcom.com
DocumentRoot /home/www/www.zcom.com #目录需要手工建立
ErrorLog /dev/null
CustomLog /dev/null common
</VirtualHost>
二、SNMP安装和配置
(3).redhat
如果系统安装的时候没有安装可以先装一个apt,然后用apt-get install net-snmp来安装
修改配置文件
vi /etc/snmp/snmpd.conf
修改如下两行
com2sec notConfigUser default zengyu
access notConfigGroup "" any noauth exact mib2 none none
去掉下面几行前面的“#”
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
group MyRWGroup any local
group MyROGroup any mynetwork
view all included .1 80
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
access MyROGroup "" any noauth 0 all none none
access MyRWGroup "" any noauth 0 all all all
开启:
setup
在system service选中snmp
执行service snmpd start
三、rrdtool- 1.2.11安装
安装libart
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/libart_lgpl- 2.3.17.tar.gz
tar zxvf libart_lgpl- 2.3.17.tar.gz
cd libart_lgp- 2.3.17
./configure
make
make install
安装 libcgi
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gz
tar zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include
【安装 libcgi
wget http://lists.ee.ethz.ch/p/cgilib- 0.5.1.tar.gz
tar zxvf cgilib- 0.5.1.tar.gz
cd cgilib- 0.5.1
./configure
make && make install
cd libcgi
cp cgi.h /usr/include】
安装 libpng
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/libpng- 1.2.8-config.tar.gz
tar zxvf libpng- 1.2.8-config.tar.gz
cd libpng- 1.2.8-config/
./configure
make
make install
安装freetype
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/freetype- 2.1.9.tar.gz
tar zxvf freetype- 2.1.9.tar.gz
cd freetype- 2.1.9
./configure
make
make install
cd /usr/include
ln -sf /usr/local/include
安装 rrdtool
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool- 1.2.11.tar.gz
tar zxvf rrdtool- 1.2.11.tar.gz
cd rrdtool- 1.2.11
./configure --prefix=/usr/local/rrdtool-1.2.11 /
--disable-tcl /
--disable-python
make
make install
四、安装cacti
前提条件:mysql,apache,php,rrdtool, snmp
(1.) 下载并安装
cd /usr/local/apps/www
wget http://www.cacti.net/downloads/cacti- 0.8.6g.tar.gz
tar zxvf cacti- 0.8.6g.tar.gz
mv cacti- 0.8.6g cacti
cd cacti
(2).打补丁
wget http://www.cacti.net/downloads/patches/ 0.8.6g/short_open_tag_parse_error.patch
wget http://www.cacti.net/downloads/patches/ 0.8.6g/graph_properties_zoom.patch
wget http://www.cacti.net/downloads/patches/ 0.8.6g/script_server_snmp_auth.patch
wget http://www.cacti.net/downloads/patches/ 0.8.6g/mib_file_loading.patch
patch -p1 -N < short_open_tag_parse_error.patch
patch -p1 -N < graph_properties_zoom.patch
patch -p1 -N < script_server_snmp_auth.patch
patch -p1 -N < mib_file_loading.patch
(3)配置mysql数据库
#mysql
mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@123.123.123.123 identified by ‘cacti’;
mysql> flush privileges;
mysql>quit
导入库:
mysql --database=cacti </usr/local/apps/www/cacti/cacti.sql
配置cacti连接数据库
#vi /usr/local/apps/www/cacti/include/config.php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “123.123.123.123
”;
$database_username = “cacti”;
$database_password = “cacti”;
注:123.123.123.123是本机IP地址
(4).定时运行cacti收集数据
/etc/crontab -e
添加一行:
*/5 * * * * /usr/local/php-4.4.1/bin/php /usr/local/apps/www/cacti/poller.php >/dev/null 2>&1
修改apache配置文件httpd.conf,添加默认访问文件index.php
cacti的使用配置:
第一次进入需要配置,RRDTOOL路径修改为/usr/local/rrdtool- 1.2.11/bin/rrdtool
第一次进入,用admin/admin,然后会提示修改密码,然后即可进入。
settingà修改rrdtool版本,默认是1.0.x,修改为1.2.x,否则图片显示不出来
在device下添加要监控的设备;修改设备,添加SNMP-Interface监控;在newgraph下选中设备添加该设备网卡;在tree中添加该设备。
测试:/usr/local/apps/php/bin/php /usr/local/apps/www/cacti/poller.php
如遇到cacti/log/cacti.log中显示无法连接local的mysql,做如下处理:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock