Zabbix模板自帶一個MySQL監控模板,但監控的專案比較少,生產環境推薦使用percona的監控外掛。

1
https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html


1.安裝percona外掛(agent端):

1
rpm -ivh http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm


2.percona是php寫的,所以agent連線MySQL必須安裝php和php-mysql

1
2
3
4
5
6
yum install php php-mysql -y
yum install percona-zabbix-templates -y 
       
#編輯zabbix_agent配置檔案,這步一般預設配置都完成了:
#vi /etc/zabbix/zabbix_agentd.conf
#include=/etc/zabbix_agentd.conf.d/

檢視安裝的percona:

1
2
3
4
5
6
7
8
rpm -ql percona-zabbix-templates
/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.7.xml


3.複製模板到該目錄下:

1
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/


4.讓php可以連線到mysql上:

1
2
3
4
5
6
7
8
9
10
11
#在mysql上授權一個賬號
grant select,process,replicationclient on *.* to jiankong@localhost identified by "jiankong";
flush priveleges;
#process這個許可權可以執行show processlist和kill這個命令。
#relicationclient許可權可以檢視master和slave的狀態。
 
#編輯percona的配置檔案
vi /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = `root`;
$mysql_pass = `password`;
$mysql_port = 3306;


5.測試並修改監控指令碼:

1
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg


6.修改監控指令碼,預設監控MySQL主從的,測試是否能用,如果是從庫返回值應該為1,如果出錯的話此處需要手工修改:

1
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave


7.匯入zabbix模板:

1
2
cd /var/lib/zabbix/percona/templates/
sz zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml


8.下載到本地,然後在zabbix上匯入

1
Configuration -> Templates-> Import

注意:匯入模板的時候會出錯:

Invalid XML tag “/zabbix_export/date”: “YYYY-MM-DDThh:mm:ssZ” is expected

解決:下載個3.0的模板匯入即可解決。

https://www.ttlsa.com/wp-content/uploads/2016/07/Percona-MySQL-Server-Template.zip


附件中我已上傳,可以直接下載匯入。


在生產環境中如果監控到主出現故障,則需要切換到從,則需要清除從庫的資訊。

1
2
stop slave;
reset slave all;  #清除從庫的連線資訊和二進位制檔名位置,show slave status不再有效。