percona zabbix mysql-plugin是percona發布的一個使用zabbix監控mysql數據庫的工具,這款工具比zabbix自帶的監控模板要強大的多,畢竟percona是Mysql的一個重要分支,專業做數據庫的,所以,采集的數據比較全面。percona的監控插件是php編寫的。通過php連接mysql來獲取相關的數據,所以需要你在本地安裝zabbix agent的同時,部署php和php-mysql
1、安裝php php-mysql
[root@zabbix ~]# yum install php php-mysql -y
2、下載安裝percona-zabbix-templates
[root@db01 templates]# rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
安裝完成會提示腳本和模板的位置
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
腳本目錄下存放的腳本用於獲取數據庫的信息的
[root@db01 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@db01 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
3、修改get_mysql_stats_wrapper.sh
[root@db01 scripts]# vim get_mysql_stats_wrapper.sh
19 RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave _SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','` #在19行中加入數據庫用戶名和密碼
4、修改ss_get_mysql_stats.php
[root@db01 scripts]# vim ss_get_mysql_stats.php
30 $mysql_user = 'root'; #將第30和31行修改為數據庫的用戶名和密碼
31 $mysql_pass = '123456';
5、拷貝自定義監控項的配置文件到/etc/zabbix/zabbix_agentd.d/目錄
[root@db01 scripts]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 scripts]# ls /etc/zabbix/zabbix_agentd.d/
userparameter_mysql.conf userparameter_percona_mysql.conf
配置文件中自定義了很多key
6、重啟zabbix agent
[root@db01 scripts]# systemctl restart zabbix-agent.service
7、測試
在zabbix server上命令行測試獲取某個key的值
[root@zabbix ~]# zabbix_get -s 192.168.1.51 -k MySQL.Sort-scan
23
[root@db01 ~]# ls /tmp/ #取值成功后會在/tmp/目錄下生成一個日志文件
localhost-mysql_cacti_stats.txt systemd-private-c570caeba5d44f268cad220a4ab53d7f-mariadb.service-lgHRlT
8、web界面操作
8.1 導入模板
percona-zabbix-templates-1.1.8-1.noarch.rpm包里帶的模板有點問題,從網上下載
8.2 主機鏈接模板
8.3 修改監控項的采集時間間隔
模板中的監控項采集時間間隔為5分鍾,要想快速獲取數據就需要批量修改監控項的采集時間間隔
全選點擊批量更新
9、查看最新數據
至此,通過percona插件監控mysql成功
