在zabbix自帶的MySQL監(jiān)控模板中只有14項(xiàng)監(jiān)控項(xiàng)垮抗,這對(duì)于MySQL的性能監(jiān)控來(lái)說(shuō)是遠(yuǎn)遠(yuǎn)不夠的,在網(wǎng)上看到一些文章推薦使用percona虹蓄,通過(guò)了解慎玖,percona的模板含有190多項(xiàng)監(jiān)控項(xiàng),對(duì)MySQL的監(jiān)控比較全面呻待,當(dāng)然也有一些文章推薦使用lepus打月,但由于公司原本已裝有zabbix,和在一些數(shù)據(jù)庫(kù)的交流群?jiǎn)栠^(guò)一些大神后蚕捉,最終還是選擇部署percona來(lái)監(jiān)控MySQL奏篙,當(dāng)然還有個(gè)原因就是開(kāi)源,以后可根據(jù)自己的需求去修改迫淹。
下面即開(kāi)始整個(gè)部署的過(guò)程(其中不包括zabbix的部署和模板的加載使用秘通,如果需要了解,請(qǐng)猛擊這里:http://www.reibang.com/p/2a03d5e9f014)敛熬。
最后肺稀,本文也有可能出現(xiàn)一些錯(cuò)誤的地方,歡迎拍磚应民。
一话原、環(huán)境準(zhǔn)備
操作系統(tǒng):
CentOS 6.5(zabbix_server):192.168.189.133
CentOS 6.5(zabbix_agent):192.168.189.131
數(shù)據(jù)庫(kù):
MySQL 5.6
軟件:
zabbix3.4.7(zabbix_server端和zabbix_agent端都已經(jīng)部署好)
percona
二夕吻、部署開(kāi)始
在部署之前還是要啰嗦一下:請(qǐng)確保MySQL數(shù)據(jù)庫(kù)添加安裝好了zabbix_agent并在zabbix_server添加了zabbix_agent,即在WEB監(jiān)控界面中可以監(jiān)控到MySQL繁仁,并且一下的配置都是在agent(被監(jiān)控機(jī))中進(jìn)行
1涉馅、安裝percona庫(kù)
# rpm -ivh http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
2、安裝部署監(jiān)控環(huán)境
percona的監(jiān)控插件是用php寫的黄虱,需要通過(guò)php連接MySQL來(lái)獲取相關(guān)的數(shù)據(jù)控漠,所以需要安裝相關(guān)的依賴,當(dāng)然悬钳,如果你的zabbix是使用php安裝的盐捷,那么可以跳過(guò)此步(我這里跳過(guò)...)
# yum -y install php php-mysql
3、安裝percona的zabbix模板
# yum -y install percona-zabbix-templates
之后使用rpm安裝模板
# rpm -ql percona-zabbix-templates
安裝完之后會(huì)提示生成如下文件
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml
可以看到組成部分又一個(gè)shell腳本默勾,一個(gè)php腳本碉渡,一個(gè)zabbix的配置文件,和一個(gè)zabbix模板xml文件母剥,其中主要用途如下:
get_mysql_stats_wrapper.sh:用于監(jiān)控的腳本
ss_get_mysql_stats.php:存放連接數(shù)據(jù)庫(kù)的信息
userparameter_percona_mysql.conf:用戶自定義配置項(xiàng)文件
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml:zabbix的模板滞诺,這個(gè)是適用于zabbix2.x版本的,但由于這里使用的是zabbix3.x版本环疼,所以后面會(huì)給出某網(wǎng)友改寫的適用于3.x版本的下載地址
4习霹、復(fù)制用戶自定義配置項(xiàng)文件到zabbix配置目錄
# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.d/
5、登錄mysql炫隶,添加授權(quán)監(jiān)控用戶
mysql > grant select,process,replication client on *.* to 'zabbix'@'192.168.189.131' identified by '123456';
mysql > flush privileges;
6淋叶、修改php文件
# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
修改以下內(nèi)容:
$mysql_user = 'zabbix_percona';
$mysql_pass = '123456';
7、修改監(jiān)控腳本中的host項(xiàng):
# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
修改以下內(nèi)容:
HOST=192.168.189.131
8伪阶、測(cè)試監(jiān)控腳本是否可用
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
如果監(jiān)控可用煞檩,執(zhí)行以上命令后會(huì)顯示一個(gè)數(shù)字
在server端測(cè)試:
# /usr/local/zabbix/bin/zabbix_get -s 192.168.189.131 -k "MySQL max-connections"
正常情況下能出現(xiàn)一個(gè)數(shù)字,并不會(huì)報(bào)錯(cuò)
異常情況最后提及
11栅贴、下載模板:
如果使用的是zabbix2.x版本斟湃,那么直接導(dǎo)出xml文件到本地,然后執(zhí)行以下步驟即可檐薯,如果使用的是3.x版本凝赛,那么可以在此網(wǎng)址下載到相應(yīng)的模板文件:http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml
10、進(jìn)入web界面導(dǎo)入模板:
過(guò)幾分鐘即可出現(xiàn)監(jiān)控結(jié)果
11坛缕、可能遇到的問(wèn)題:
1墓猎、在server端使用
# /usr/local/zabbix/bin/zabbix_get -s 192.168.189.131 -k "MySQL max-connections"
命令測(cè)試的時(shí)候有可能會(huì)出現(xiàn)以下問(wèn)題:
這是由于server在agent上的/tmp/host-mysql_cacti_stats.txt文件沒(méi)有權(quán)限
只要將其刪除之后重建即可
重建方法:再次執(zhí)行以上命令即可
最后結(jié)果如下:
2、在web界面添加了模板之后在“最新數(shù)據(jù)”模塊查看發(fā)現(xiàn)監(jiān)控的名稱都為灰色(不能監(jiān)控)
例如:
查看:配置->主機(jī)->找到對(duì)應(yīng)的主機(jī)->點(diǎn)擊監(jiān)控項(xiàng)
找到對(duì)應(yīng)的監(jiān)控項(xiàng):
根據(jù)后面紅色嘆號(hào)的提示來(lái)修復(fù)即可祷膳,一般是一些比如數(shù)據(jù)庫(kù)權(quán)限沒(méi)弄好或者問(wèn)題1的問(wèn)題導(dǎo)致陶衅,也有可能是配置配置文件的時(shí)候出現(xiàn)錯(cuò)誤,排查一下即可
暫時(shí)能找到的只有這些問(wèn)題直晨,如有再發(fā)現(xiàn)的問(wèn)題再補(bǔ)充搀军!
參考:http://www.fblinux.com/?p=599
關(guān)于各個(gè)監(jiān)控項(xiàng)意義:http://www.reibang.com/p/516955dd3099