CentOS下安裝配置Cacti(圖)
CentOS環(huán)境cacti的安裝與配置
一、cacti簡介
隨著公司規(guī)模擴大,服務(wù)器也日漸增多,對服務(wù)器集群的網(wǎng)絡(luò)流量和服務(wù)器性能實時監(jiān)測顯得愈發(fā)重要。開源陣營中常用有MRTG(MultiRouter Traffic Grapher)--基于SNMP的網(wǎng)絡(luò)流量統(tǒng)計分析工具。它通過SNMP協(xié)議從設(shè)備得到并記錄網(wǎng)卡信息,并將流量負載以圖形的方式顯示出來,系統(tǒng)負載小,使用方便。不過,由于MRTG存在諸多缺點,其作者Tobias Oetiker在1999年就已經(jīng)開始開發(fā)另一套開源軟件RRDTool來代替MRTG。,但是RRDTool的主要作用是數(shù)據(jù)的存儲和將數(shù)據(jù)繪畫成圖像。要實現(xiàn)數(shù)據(jù)的采集和管理,需要通過cacti輔助RRDTool。
cacti是用PHP語言開發(fā)的一套完全面向RRDTool的B/S系統(tǒng),它用SNMP服務(wù)獲取數(shù)據(jù),然后用RRDTool儲存和更新數(shù)據(jù)并生成詳細圖表呈現(xiàn)給用戶。cacti通過Mysql存儲了所有RRDTool創(chuàng)建圖像需要用到的信息以及管理信息,如:主機名、主機ip、snmp團體名、端口號、模板信息等。注意:SNMP抓到數(shù)據(jù)不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數(shù)據(jù)的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它能夠存儲的數(shù)據(jù)筆數(shù)在創(chuàng)建時就已經(jīng)定義。
#p#
二、服務(wù)器實時監(jiān)控系統(tǒng)架構(gòu)及工作流程
整個監(jiān)控系統(tǒng)主要由四部分組成:
1、Cacti系統(tǒng)——用戶控制的平臺,用戶在此進行所有的設(shè)置與查看圖表。當然Cacti也需要WEB服務(wù)器如Apache和PHP環(huán)境的支持;
2、SNMP采集工具--Unix下使用 Net-SNMP軟件包自帶的"snmpget"和"snmpwalk"等程序,windows下使用php的snmp功能;
3、RRDTool繪圖引擎--性能數(shù)據(jù)的存儲和繪畫圖像;
4、MySQL數(shù)據(jù)庫--儲存RRDTool繪圖所需的信息。
工作流程圖:
#p#
三、準備cacti安裝環(huán)境:
1、首先要安裝Apache+PHP+MySQL+Net-SNMP+RRDTool(MySQL安裝、Apache安裝、PHP安裝),本文采用YUM命令安裝所有cacti依賴軟件。過程如下:
- #yum install mysql mysql-server php-mysql httpd php php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs
注:yum安裝rrdtool中,由于rrdtool依賴的包過多,所以請首先增加源,方式如下:
- #vi /etc/yum.repos.d/CentOS-Base.repo
文件末尾增加如下鏈接:
- [dag]
- name=Dag RPM Repository for Red Hat Enterprise Linux
- baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
- gpgcheck=1
- gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
- enabled=1
2、配置SNMP
- #vi /etc/snmp/snmp.conf
——將下邊這行中的default
- com2sec notConfigUser default public
——改為127.0.0.1
- com2sec notConfigUser 127.0.0.1 public
——將下邊這行中的systemview
- access notConfigGroup "" any noauth exact systemview none none
——改為all
- access notConfigGroup "" any noauth exact all none none
——將下邊這行的注釋"#"號去掉
- #view all included .1 80
——啟動snmpd服務(wù)
- #service snmpd start
——啟動httpd/mysql
- #service httpd start
- #service mysqld start
#p#
四、安裝cacti
1、下載cacti:
- #wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
- #tar -zvxf cacti-0.8.7e.tar.gz
- #mv cacti-0.8.7e /var/www/html/cacti
2、在數(shù)據(jù)庫中建庫、授權(quán)、導(dǎo)入數(shù)據(jù)庫結(jié)構(gòu)
- #mysql -uroot -ppassword
- mysql> create database cacti;
- mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;
- mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;
- mysql> use cacti;
- mysql> source /var/www/html/cacti/cacti.sql;
——配置cacti以連接數(shù)據(jù)庫
- #vi /var/www/html/cacti/include/config.php
- $database_type = "mysql";
- $database_default = "cacti";
- $database_hostname = "localhost";
- $database_username = "cacti";
- $database_password = "cacti";
- $database_port = "3306";
3、添加cacti用戶,否則cacti不能寫入rrd和log目錄,將會無法生成圖片
- #useradd cacti -d /var/www/html/cacti -s /bin/false
- #chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
4、增加入一個計劃任務(wù),使得 cacti 每五分鐘生成一個監(jiān)控圖表。
- #crontab -e
--加入如下內(nèi)容。注意poller.php的路徑
- */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
--如果暫時未看到圖表,可以手工執(zhí)行,生成圖表
- #php /var/www/html/cacti/poller.php > /dev/null 2>&1
5、完成cacti最后的配置,在瀏覽器輸入:http://localhost/cacti,將進入cacti登錄頁面,第一次登陸用戶名和密碼都是admin,它會要求你立即設(shè)置新密碼。接著設(shè)置cacti用到的命令正確路徑,一定要正確,如下圖:
6、完成設(shè)置后,通過http://localhost/cacti/graph_view.php,選擇服務(wù)器即可看到監(jiān)控圖標。
7、如需添加其他主機,改主機必須安裝正確配置net-snmp,配置方法如上所述。
#p#
五、錯誤處理:
1、字體在圖形中顯示不正常的解決方法:下載并安裝cjkuni-fonts中文字體,字體名ukai.ttf;
- #wget http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz
- #tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz
- #cd ttf-arphic-ukai-0.1.20060928/
- #cp ukai.ttf /usr/share/fonts/ukai.ttf
2、cacti無法顯示監(jiān)控圖表的解決方法:
1)首先確認/var/www/html/cacti/rrd目錄是否可寫,照上文設(shè)置用戶權(quán)限;
2)字體路徑是否設(shè)置正確,如上文所述;
3)RRDTool版本設(shè)置是否正確(查看RRDTool版本命令:#rrdtool -v),設(shè)置方法:Console -> Cacti Settings -> Genera -> RRDTool Utility Version -> RRDTool 1.3.X;(默認為1.0.x,不改可能圖像不能正常顯示出來)
【編輯推薦】