CentOS上Cacti配置監(jiān)控mysql
本文從工作環(huán)境介紹起,一步一步的介紹了如何在CentOS上安裝配置Cacti,并介紹了如何使用Cacti監(jiān)控mysql。在文章末尾還附上了常見(jiàn)故障排除。
一、準(zhǔn)備工作
環(huán)境:Centos 5.4 x86_64
所需軟件:
- http
- Php
- Php-mysql
- Php-snmp
- Mysql
- Perl-DBD-MySQL
- Php-pdo
- rrdtool
- Net-snmp
- Net-snmp-libs
- Net-snmp-utils
#下載相關(guān)軟件
cd /usr/local/src/ wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
二、環(huán)境介紹
主監(jiān)控機(jī)是Centos 5.4 x86_64
主監(jiān)控機(jī)IP=10.0.0.52
三、安裝配置
(1)在主監(jiān)控機(jī)上安裝apache+php+gd的web環(huán)境,推薦編譯安裝,不再贅述,本處方便起見(jiàn)用yum裝了
yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
(2)在主監(jiān)控機(jī)上安裝rrdtool,rrdtool依賴(lài)的包過(guò)多,所以選擇增加源,然后用yum安裝
#增加源 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 yum install rrdtool
(3)配置snmp
vi /etc/snmp/snmp.conf #將下邊這行中的default com2secnotConfigUser default public #改為127.0.0.1 com2secnotConfigUser 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 #重啟snmpd服務(wù) service snmpd restart
(4)安裝cacti
#把解壓后的包移動(dòng)到你的相應(yīng)的web目錄 tar xvf cacti-0.8.7e.tar.gz mv cacti-0.8.7e /var/www/html/cacti
(5)在數(shù)據(jù)庫(kù)中建庫(kù)、授權(quán)、導(dǎo)入數(shù)據(jù)庫(kù)結(jié)構(gòu)
#注意導(dǎo)入cacti.sql時(shí)該文件的路徑 mysql -p 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
(6)瀏覽器下配置
#用瀏覽器打開(kāi) http://10.0.0.52/cacti ,會(huì)顯示 cacti的安裝指南,設(shè)置好就不會(huì)再出現(xiàn)了。
#點(diǎn)擊 “Next”
#選擇“New Install”,點(diǎn)擊“Next”
#指定 rrdtool、 php、 snmp 工具的 Binary 文件路徑,確保所有的路徑都是顯示“ FOUND”,沒(méi)有 “NOT FOUND”的,點(diǎn)擊 Finish 完成安裝。
#Cacti 默認(rèn)的用戶(hù)名與密碼是 admin,輸入用戶(hù)名與密碼,點(diǎn)擊 login
#為了安全的原因,第一次登錄成功后,cacti 會(huì)強(qiáng)制要求你更改一個(gè)新的 password ,輸入新密碼并確認(rèn)密碼,點(diǎn)擊 save ,進(jìn)入 cacti 控制臺(tái)界面:
#點(diǎn)擊 graphs ,查看cacti 監(jiān)控本機(jī)的圖表:
(7)增加入一個(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
#確保 /var/www/html/cacti/rra/目錄存在
#如果暫時(shí)未看到圖表,可以手工執(zhí)行,生成圖表
#php /var/www/html/cacti/poller.php > /dev/null 2>&1
(8)使用 Cacti 監(jiān)控 Linux 主機(jī)
#在被監(jiān)控的linux主機(jī)上安裝net-snmp
yum install net-snmp vi /etc/snmp/snmpd.conf
#更改以下部分
#將下邊這行中的default
com2secnotConfigUser default public
#改為10.0.0.52(cacti)服務(wù)器的地址)
com2secnotConfigUser 10.0.0.52 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 service snmpd restart
#p#
二、cacti監(jiān)控mysql
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.2.tar.gz tar -xzvf mysql-cacti-templates-1.1.2.tar.gz cd mysql-cacti-templates-1.1.2 cp ss_get_mysql_stats.php /xok.la/cacti/scripts
可以看到里面有多個(gè)監(jiān)控項(xiàng)目,報(bào)告監(jiān)控apache和nginx.我這只測(cè)試mysql,mysql相關(guān)的就2個(gè)文件:
- 模板文件:cacti_host_template_x_db_server_ht_0.8.6i.xml
- 插件:ss_get_mysql_stats.php
修改ss_get_mysql_stats.php 文件 第30行
$mysql_user = 'cacti'; $mysql_pass = 'cacti'; $cache_dir = "var/www/html/cacti/cache/";
設(shè)置準(zhǔn)備監(jiān)控的數(shù)據(jù)庫(kù)的賬戶(hù)相關(guān)信息
mkdir /var/www/html/cacti/cache/ chmod 777 -R /var/www/html/cacti/cache/
默認(rèn)在獲取的數(shù)據(jù)/tmp/下,會(huì)有cacti不能讀取的情況。所以放在cacti目錄來(lái)。
二,創(chuàng)建監(jiān)控Mysql需要的賬戶(hù)以及權(quán)限
配置MySQL服務(wù)器,讓cacti所在機(jī)器能夠訪問(wèn)MySQL服務(wù)器的狀態(tài)信息,必須擁有”process”權(quán)限。如果要監(jiān)控InnoDB狀態(tài),還必須有”SUPER”權(quán)限。
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'cacti'; mysql> grant all privileges on cacti.* to cacti@"%" identified by "cacti";
三,模板導(dǎo)入
在cacti管理界面(Import Templates)導(dǎo)入cacti_host_template_x_db_server_ht_0.8.6i.xml。
四,添加設(shè)備
創(chuàng)建Graph。在Console選項(xiàng)卡下的左側(cè)菜單欄中選擇Devices,為要監(jiān)控的主機(jī)新建一個(gè)Devices或選擇已有Devices。
在Associated Graph Templates中添加想要監(jiān)控MySQL狀態(tài)的Graph Templates(如X MySQL Connections GT模板)。
并點(diǎn)擊最上面的Create Graphs for this Host鏈接,在Graph Templates的選擇框中選擇X MySQL Connections GT,然后點(diǎn)擊Create按鈕,出現(xiàn)以下WEB頁(yè)。

#p#
常見(jiàn)故障排除
安裝完畢在瀏覽器上無(wú)法看到數(shù)據(jù)的png圖片。看apache的log
如果出現(xiàn):
========================
[Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico ERROR: opening '/var/www/html/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied
PS:解決辦法:關(guān)閉selinux,即可解決問(wèn)題。
PS:以上無(wú)法獲取數(shù)據(jù)圖大多和poller.php,cmd.php權(quán)限有關(guān)。
當(dāng)cacti 有圖沒(méi)有數(shù)據(jù)時(shí),而且狀態(tài)為nan的錯(cuò)誤
PS:這個(gè)很可能是snmp的問(wèn)題,執(zhí)行以下命令,沒(méi)有得到如圖的結(jié)果。就說(shuō)明snmp不支持64位MIB庫(kù)。重新編譯安裝snmp
# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifHCInOctets IF-MIB::ifHCInOctets.1 = Counter64: 7437357 IF-MIB::ifHCInOctets.2 = Counter64: 353773IF-MIB::ifHCInOctets.3 = Counter64: 0
PS:被監(jiān)控主機(jī)無(wú)法獲得snmp信息,還有可能是對(duì)方主機(jī)snmp版本和當(dāng)前主機(jī)的snmp版本不一致導(dǎo)致的。
PS:rrdtools版本要一致,特別是在升級(jí)cacti時(shí)候。版本不一致,可能rra數(shù)據(jù)格式不同。就無(wú)法處理。
排錯(cuò)思路
1,查看log下的日志文件。一般那里會(huì)有提示
2,測(cè)試SNMP是不是工作正常 snmpwalk -v 2c -c public hostIP if正常的話(huà)會(huì)出現(xiàn)一些數(shù)據(jù)。不正常會(huì)出現(xiàn)一些錯(cuò)誤,也會(huì)有對(duì)應(yīng)的錯(cuò)誤提示。
3,自動(dòng)運(yùn)行poller.php沒(méi)有。有沒(méi)有加入cacti的的用戶(hù)。。有沒(méi)有給cacti用戶(hù)寫(xiě)入rra/ log/的權(quán)限。。
4,crontab –u cactiuser –e 為cactiuser加上自動(dòng)運(yùn)行poller.php的任務(wù):*/5 * * * * root /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1
5分鐘刷新一次數(shù)據(jù)。你也可以根據(jù)需要還設(shè)置。
5。把cacti目錄里的cmd.php和poller.php文件加下運(yùn)行的權(quán)限。
原文:http://www.unixwind.com/09/05/620.html
【編輯推薦】