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 [email protected] 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