zabbix使用percona zabbix mysql-plugin監控mysql數據庫

因爲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的監控了,下面是監控的效果圖:

wKiom1X37L6iVNK1AAIfR9Q2rdo459.jpg

wKioL1X37vSDlTgRAAKpRn6oNqc505.jpg

wKiom1X37MCC5th_AAGMmhgEvko208.jpg

可是貌似這個模板對於單個數據庫雖然足夠詳細,對於數據庫集羣的監控仍是不夠給力,須要在其監控腳本的基礎上進行修改,使其可以監控到數據庫集羣的狀態信息那就更好了,固然,我這裏只作了單個數據庫的監控,集羣因爲沒有實際部署,這裏也就沒有進行演示了,對這方面感興趣的童鞋們能夠自行閱讀腳本源代碼,對腳本進行修改以便於實現mysql集羣的詳細監控。本教程就寫到這裏了,多謝你們捧場,撒花

相關文章
相關標籤/搜索