因爲zabbix自帶的mysql監控模板監控的東西比較少,應公司DBA的要求,使用percona zabbix mysql-plugin實現對mysql的監控。php
percona zabbix mysql-plugin是percona發佈的一個使用zabbix監控mysql數據庫的工具,這款工具比zabbix自帶的監控模板要強大的多,畢竟percona是Mysql的一個重要分支,專業作數據庫的,因此,採集的數據比較全面。mysql
好了,背景介紹就到這裏了,下面開始進入正題,部署mysql的監控。ios
首先,須要安裝安裝php和php-mysql,由於用到了php腳本,因此在本機上面須要安裝php,至於php的安裝不是本文討論的重點,在我之前的博客中有寫該怎樣安裝php,這裏就不重複討論了。web
而後,須要去percona官網下載最新版本的percona zabbix mysql-plugin,從1.1版本開始起支持zabbix,包括cacti,nagios也都有接口提供,這裏咱們下載的是percona zabbix mysql-plugin,連接在這:https://www.percona.com/downloads/percona-monitoring-plugins/1.1.5/percona-zabbix-templates-1.1.5-1.noarch.rpmsql
下載後使用數據庫
rpm -ivh percona-zabbix-templates-1.1.5-1.noarch.rpm
安裝,安裝完畢後會產生兩個目錄,每一個目錄有兩個文件,詳細結果以下所示:
bash
[root@test2 ~]# ls /var/lib/zabbix/percona/ scripts templates [root@test2 ~]# ls /var/lib/zabbix/percona/scripts/ get_mysql_stats_wrapper.sh ss_get_mysql_stats.php [root@test2 ~]# ls /var/lib/zabbix/percona/templates/ userparameter_percona_mysql.conf zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.5.xml
首先,咱們須要下載模版文件zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.5.xml而後將這個模板文件導入到zabbixweb端的模板中去,而後將配置文userparameter_percona_mysql.conf放入到zabbix的配置文件目錄中,我這的目錄是/usr/local/zabbix-2.4.4/etc/zabbix_agentd.conf.d/app
而後修改zabbix_agentd.conf配置文件,將配置文件所在目錄添加進去,也就是添加下面這行語句:ide
Include=/usr/local/zabbix-2.4.4/etc/zabbix_agentd.conf.d/*.conf
而後修改腳本,首先修改sh腳本,也就是get_mysql_stats_wrapper.sh這個腳本,將下面這條語句進行修改:工具
RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
修改成:
RES=`/usr/local/mysql/bin/mysql -uroot -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
我這裏Mysql沒有設置root密碼,能夠在這裏寫入mysql的相應帳號密碼。
還有須要注意,在這個腳本中須要調用php來實現監控,因此須要修改php的路徑,個人php的路徑爲/usr/local/php/bin/php,因此我將腳本中的那條命令修改爲下面這樣:
CMD="/usr/local/php/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"
以後保存該腳本,並修改權限爲755
而後修改php腳本文件,修改用戶名和密碼以下:
$mysql_user = 'root'; $mysql_pass = ''; $mysql_port = 3306;
由於個人mysqlroot密碼是空的,因此我這裏密碼是沒有輸入的,各位能夠修改爲相應的帳號密碼。
修改完以後保存配置並將權限設置爲755,而後重啓zabbix_agentd,在zabbix_server端添加剛剛咱們導入進去的模板,就能夠實現mysql的監控了,下面是監控的效果圖:
可是貌似這個模板對於單個數據庫雖然足夠詳細,對於數據庫集羣的監控仍是不夠給力,須要在其監控腳本的基礎上進行修改,使其可以監控到數據庫集羣的狀態信息那就更好了,固然,我這裏只作了單個數據庫的監控,集羣因爲沒有實際部署,這裏也就沒有進行演示了,對這方面感興趣的童鞋們能夠自行閱讀腳本源代碼,對腳本進行修改以便於實現mysql集羣的詳細監控。本教程就寫到這裏了,多謝你們捧場,撒花