Zabbix模板自帶一個MySQL監控模板,但監控的項目比較少,生產環境推薦使用percona的監控插件。
https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html
1.安裝percona插件(agent端):
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
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:
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.複製模板到該目錄下:
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
4.讓php可以連接到mysql上:
#在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.測試並修改監控腳本:
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
6.修改監控腳本,默認監控MySQL主從的,測試是否能用,如果是從庫返回值應該爲1,如果出錯的話此處需要手工修改:
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
7.導入zabbix模板:
cd /var/lib/zabbix/percona/templates/ sz zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml
8.下載到本地,然後在zabbix上導入
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
附件中我已上傳,可以直接下載導入。
在生產環境中如果監控到主出現故障,則需要切換到從,則需要清除從庫的信息。
stop slave; reset slave all; #清除從庫的連接信息和二進制文件名位置,show slave status不再有效。