cacti是一套開源的網絡監控工具,可以監控主機的狀態和負載情況,添加相應的模板後,
可以用來監控apache服務器和MySQL服務器的運行狀態,我安裝這個
主要是為了監控MySQL服務器的運行狀態的。 cacti的網站:http://www.cacti.Net/ 主機環境:CentOS 5.5 更新日期:20100717 mysql: MySQL-5.0.77-4.el5_5.3
PHP: PHP-5.1.6-27.el5
apache: httpd-2.2.3-43.el5.centos cacti安裝時會要求一些組件,比如snmp, php-XML,PHP-ldap(可選),這些倒不用太擔心,
因為安裝LAMP環境的時候多少也裝了一些,即便沒有,請使用yum命令,
我感覺centos的這個還是挺好的,雖然軟件有時有些老了,但是還是可以用的。
手動把snmp的相關程序裝下,不然最後首次配置的時候會找不到一些snmpwalk,snmpget什麼的
[root@tigertall bin]# rpm -qa|grep snmp
PHP-snmp-5.1.6-27.el5
net-snmp-utils-5.3.2.2-9.el5_5.1
net-snmp-5.3.2.2-9.el5_5.1
net-snmp-devel-5.3.2.2-9.el5_5.1
net-snmp-libs-5.3.2.2-9.el5_5.1
[root@tigertall bin]#
如果以上組件有缺失,請使用yum自己安裝下。 使用yum安裝 cacti
[gaohu@tigertall ~]$ sudo yum install cacti 這個命令會自動安裝相關的組件。
[gaohu@tigertall ~]$ PHP -m
這個命令可以檢查PHP安裝了哪些模塊。 要求PHP擴展支持中已經配置了MySQL.so,centos yum默認環境下 httpd的conf文件配置在 /etc/httpd/conf/httpd.conf
默認的加載項(PHP,MySQL)配置目錄 /etc/httpd/conf.d。 [root@tigertall conf.d]# ls
bugzilla.conf manual.conf PHP.conf proxy_ajp.conf README ssl.conf welcome.conf
cacti.conf perl.conf PHPMyAdmin.conf Python.conf squid.conf webalizer.conf
[root@tigertall conf.d]# 可以看到,很多web相關的配置都在這裡。 php的基礎配置在 /etc/PHP.ini。
[root@tigertall conf.d]# cd /etc/PHP.d
[root@tigertall PHP.d]# ls
DBase.ini gd.ini mcrypt.ini mysql.ini pdo_MySQL.ini pgsql.ini XMLwriter.ini
dom.ini ldap.ini mhash.ini ncurses.ini pdo_pgsql.ini snmp.ini xsl.ini
eaccelerator.ini mbstring.ini MySQLi.ini pdo.ini pdo_sqlite.ini XMLreader.ini
[root@tigertall PHP.d]#
php.d目錄下設置了一些PHP擴展組件的配置。查看mysql.ini,啟用extension=MySQL.so 查看snmp.in,啟用extension=snmp.so
如果要啟用導入模板的功能,還要啟用文件上傳,在/etc/PHP.ini中啟用 file_uloads=on; 注釋以下,如果沒有注釋 session.save_path = /tmp;
在apache配置/etc/httpd/conf.d/PHP.conf中,檢查一下語句是否啟用,一般情況下,
應該是已經默認啟用了的。
# easy for developers to write dynamically generated webpages.
LoadModule php5_module modules/libPHP5.so
#
# Cause the PHP interprester to handle files with a .PHP extension.
AddHandler php5-script .PHP
AddType text/Html .PHP
#
# Add index.PHP to the list of files that will be served as directory
# indexes.
DirectoryIndex index.PHP
請記得給root設置一個秘密,以保護自己安全,呵呵。
MySQLadmin --user=root password somepassWord
MySQLadmin --user=root --passWord reload
[root@tigertall PHP.d]# yum install cacti
2.創建MySQL數據庫
[root@tigertall PHP.d]# MySQLadmin -uroot -phandomse create cacti
3.導入默認的cacti數據庫
如果使用yum默認安裝,創建數據庫的腳本默認在/usr/share/doc/cacti-0.8.7f/cacti.sql
[root@tigertall PHP.d]# cd /usr/share/doc/cacti-0.8.7f/
執行創建數據庫的命令
[root@tigertall 0.8.7.f]# MySQL -uroot -phandomse cacti < cacti.sql
4.創建cacti數據庫的用戶和密碼,
登錄到數據庫
[root@tigertall 0.8.7.f]# MySQL -u root -p 'pass'
用戶授權,請把用戶名,數據庫和密碼換成自己需要的設置。
MySQL> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassWord';
刷新權限
MySQL> flush privileges;
5.編輯cacti配置,做數據連接設置
[root@tigertall include]# vi /usr/share/cacti/include/config.PHP
這裡有cacti連接使用的數據庫類型,用戶名,密碼信息
/* make sure these values refect your actual database/host/user/passWord */
$database_type = "MySQL";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_passWord = "cactiuser";
$database_port = "3306";
/* Default session name - Session name must contain alpha characters */
#$cacti_session_name = "Cacti";
把上述配置按照自己的需要設置
6.目錄權限設置
[root@tigertall include]# cd /usr/share/cacti/
[root@tigertall cacti]# ll rra
lrwxrwxrwx 1 root root 18 Jul 17 15:07 rra -> /var/lib/cacti/rra
[root@tigertall cacti]# ll log
lrwxrwxrwx 1 root root 15 Jul 17 15:07 log -> /var/log/cacti/
從上述可以看到,rra實際上是var/lib/cacti/rra的一個軟鏈接,log則是/var/log/cacti的一個軟鏈接。
更改上述目錄的權限,按需要更改屬主,下面生成數據會用到這個用戶。
[root@tigertall cacti]# chown -R gaohu rra/ log/
7.配置自動作業時間
編輯crontab。
[root@tigertall log]# crontab -e
增加如下內容,
以上內容意思是,每隔五分鐘,執行下PHP腳本,統計下數據。
這裡的目錄要換成你實際cacti的安裝目錄位置,用戶要使用上面配置的用戶。
8.登錄服務器
登錄http://your-webserver/cacti
初始登錄時,用戶名和密碼為admin,登錄後,會要求立即切換密碼。
spine是一個基於C語言的,非常快速的輪詢引擎。它是默認的cmd.PHP的可選替代。如果決定使用它的話,
需要自己來顯式的安裝和配置。cacti本身並不包含該引擎。
安裝Spine的最簡單的方法就是使用rpm或者使用ports。如果使用yum來進行安裝,需要添加rpmforge的軟件倉庫。
如果使用源碼,可以在cacti的主站下載源碼包。下載的地址為:
http://www.cacti.Net/downloads/spine/cacti-spine-0.8.7g.tar.gz
1.從cacti網站下載spine源碼包
2.解壓到本地目錄,編譯安裝
安裝spine需要有net-snmp-devel、mysql、MySQL-devel、openssl-devel支持,請查看下是否已經安裝。
使用以下命令來編譯安裝:
tar xvzf cacti-spine-0.8.7g.tar.gz
cd cacti-spine-0.8.7g
./configure
make
make install
默認安裝在/usr/local/spine/目錄下。
3.復制一份spine的配置文件。
[root@tigertall etc]# cd /usr/local/spine/etc/
[root@tigertall etc]# cp spine.conf.dist spine.conf
編輯spine.conf文件,設置Cacti數據的連接信息。
DB_Host localhost # 主機地址
DB_Database cacti # 數據庫
DB_User gaohu # 數據庫用戶
DB_Pass pass # 數據庫連接密碼
DB_Port 3306 # 數據庫連接端口
DB_presG 1 # 如果要配合0.8.7g之前的0.8.7的cacti工作,則配置成為1。
# 因為我主機安裝時cacti 0.8.7e 所以設置成了1。
# 如果都是從g版本的源碼安裝,可以設置為0
4.設置Spine
a)以admin用戶登錄到Cacti。
b)從目錄菜單中選擇設置"Settings",選擇"Paths"選項卡。
c)在"Spine Poller File Path"中輸入Spine可執行程序的完整路徑,對我來說是/usr/local/spine/spine,保存設置。
d)選擇"Poller"選項卡。
e)在"Poller Type"下拉框設置中,選擇"spine"。
完成這些設置後,Cacti將會每5分鐘執行一次Spine,來代替原來的cmd.PHP。
如果使用spine的過程中有任何問題,你可以隨時將"Poller Type"切換回"cmd.PHP"。
安裝完成後,如果覺得需要,可以打相應的補丁,但是,不要把就版本的補丁打到新的版本上。
大致的安裝過程就是這樣了。
下一篇寫吧,呵呵 ^_^。