CentOS下安裝配置Cacti(圖)
CentOS環(huán)境cacti的安裝與配置
一、cacti簡(jiǎn)介
隨著公司規(guī)模擴(kuò)大,服務(wù)器也日漸增多,對(duì)服務(wù)器集群的網(wǎng)絡(luò)流量和服務(wù)器性能實(shí)時(shí)監(jiān)測(cè)顯得愈發(fā)重要。開源陣營(yíng)中常用有MRTG(MultiRouter Traffic Grapher)--基于SNMP的網(wǎng)絡(luò)流量統(tǒng)計(jì)分析工具。它通過SNMP協(xié)議從設(shè)備得到并記錄網(wǎng)卡信息,并將流量負(fù)載以圖形的方式顯示出來,系統(tǒng)負(fù)載小,使用方便。不過,由于MRTG存在諸多缺點(diǎn),其作者Tobias Oetiker在1999年就已經(jīng)開始開發(fā)另一套開源軟件RRDTool來代替MRTG。,但是RRDTool的主要作用是數(shù)據(jù)的存儲(chǔ)和將數(shù)據(jù)繪畫成圖像。要實(shí)現(xiàn)數(shù)據(jù)的采集和管理,需要通過cacti輔助RRDTool。
cacti是用PHP語(yǔ)言開發(fā)的一套完全面向RRDTool的B/S系統(tǒng),它用SNMP服務(wù)獲取數(shù)據(jù),然后用RRDTool儲(chǔ)存和更新數(shù)據(jù)并生成詳細(xì)圖表呈現(xiàn)給用戶。cacti通過Mysql存儲(chǔ)了所有RRDTool創(chuàng)建圖像需要用到的信息以及管理信息,如:主機(jī)名、主機(jī)ip、snmp團(tuán)體名、端口號(hào)、模板信息等。注意:SNMP抓到數(shù)據(jù)不是存儲(chǔ)在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對(duì)數(shù)據(jù)的更新和存儲(chǔ)就是對(duì)rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它能夠存儲(chǔ)的數(shù)據(jù)筆數(shù)在創(chuàng)建時(shí)就已經(jīng)定義。
#p#
二、服務(wù)器實(shí)時(shí)監(jiān)控系統(tǒng)架構(gòu)及工作流程
整個(gè)監(jiān)控系統(tǒng)主要由四部分組成:
1、Cacti系統(tǒng)——用戶控制的平臺(tái),用戶在此進(jìn)行所有的設(shè)置與查看圖表。當(dāng)然Cacti也需要WEB服務(wù)器如Apache和PHP環(huán)境的支持;
2、SNMP采集工具--Unix下使用 Net-SNMP軟件包自帶的"snmpget"和"snmpwalk"等程序,windows下使用php的snmp功能;
3、RRDTool繪圖引擎--性能數(shù)據(jù)的存儲(chǔ)和繪畫圖像;
4、MySQL數(shù)據(jù)庫(kù)--儲(chǔ)存RRDTool繪圖所需的信息。
工作流程圖:
#p#
三、準(zhǔn)備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依賴的包過多,所以請(qǐng)首先增加源,方式如下:
- #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
——將下邊這行的注釋"#"號(hào)去掉
- #view all included .1 80
——啟動(dòng)snmpd服務(wù)
- #service snmpd start
——啟動(dòng)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ù)庫(kù)中建庫(kù)、授權(quán)、導(dǎo)入數(shù)據(jù)庫(kù)結(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ù)庫(kù)
- #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目錄,將會(huì)無法生成圖片
- #useradd cacti -d /var/www/html/cacti -s /bin/false
- #chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
4、增加入一個(gè)計(jì)劃任務(wù),使得 cacti 每五分鐘生成一個(gè)監(jiān)控圖表。
- #crontab -e
--加入如下內(nèi)容。注意poller.php的路徑
- */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
--如果暫時(shí)未看到圖表,可以手工執(zhí)行,生成圖表
- #php /var/www/html/cacti/poller.php > /dev/null 2>&1
5、完成cacti最后的配置,在瀏覽器輸入:http://localhost/cacti,將進(jìn)入cacti登錄頁(yè)面,第一次登陸用戶名和密碼都是admin,它會(huì)要求你立即設(shè)置新密碼。接著設(shè)置cacti用到的命令正確路徑,一定要正確,如下圖:
6、完成設(shè)置后,通過http://localhost/cacti/graph_view.php,選擇服務(wù)器即可看到監(jiān)控圖標(biāo)。
7、如需添加其他主機(jī),改主機(jī)必須安裝正確配置net-snmp,配置方法如上所述。
#p#
五、錯(cuò)誤處理:
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)首先確認(rèn)/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;(默認(rèn)為1.0.x,不改可能圖像不能正常顯示出來)
【編輯推薦】