zabbix3.0.4使用percona-monitoring-plugins插件來監控mysql5.6的詳細實現過程
zabbix3.0.4使用percona-monitoring-plugins插件來監控mysql5.6的詳細實現過程
因為Zabbix自帶的MySQL監控沒有提供可以直接使用的Key,所以一般不采用,業界的同學們都使用Percona Monitoring Plugins 監控 MySQL的方式
Percona 為 MySQL 數據庫服務器進行了改進,在功能和性能上較 MySQL 有著很顯著的提升。該版本提升了在高負載情況下的 InnoDB 的性能、為 DBA 提供一些非常有用的性能診斷工具;另外有更多的參數和命令來控制服務器行為。
對線上的MySQL服務器實現監控,percona監控插件是php開發,因此要在agent安裝php環境
一、zabbix-agent端操作(即被監控的Mysql服務器)
1.安裝php環境和插件
①安裝php環境
percona監控插件是php開發,因此要在agent安裝php環境
# yum install zabbix-agent php php-mysql [[email protected] ~]# rpm -qa zabbix-agent php php-mysql php-5.3.3-49.el6.x86_64 zabbix-agent-1.8.22-1.el6.x86_64 php-mysql-5.3.3-49.el6.x86_64
②安裝percona插件
[[email protected]
③配置參數
# mkdir -p /etc/zabbix/zabbix_agentd.d # cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
將模板include到配置文件中
# vim /etc/zabbix/zabbix_agentd.conf
添加如下:
Include=/etc/zabbix/zabbix_agentd.d/
重啟生效
service zabbix-agent restart
2.修改監控相關的腳本:
①編輯監控的php配置文件(通過該配置文件獲取Mysql的賬號密碼)
單獨添加一個較低權限的用戶zabbix專門用於對數據庫進行監控
mysql> GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@‘localhost‘ IDENTIFIED BY ‘zabbixpassword‘; mysql> flush privileges;
# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf <?php $mysql_user = ‘zabbix‘; $mysql_pass = ‘zabbixpassword‘;
②編輯ss_get_mysql_stats.php文件,修改具體的用戶名、密碼、socket、Mysql端口等參數
# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php $mysql_user = ‘zabbix‘; $mysql_pass = ‘zabbixpassword‘; $mysql_port = 3306; $mysql_socket = "/tmp/mysql.sock";
③在zabbix-agent客戶端進行測試(一定要能獲取數據,否則服務端會無法獲取監控數據)
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh nj 276671 # /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gw 1
二、zabbix-server web端操作
1.導入監控模板
報錯:
nvalid tag "/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" is expected.
將zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml導入zabbix2.4中再導出。之後將新的導出xml導入到3.0中問題解決。
2.修改日誌權限
chown -R zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt
3.添加客戶端模板
4.通過服務端驗證是否生效,並查看圖像
客戶端/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf 文件可以看到支持的監控項
[[email protected] scripts]# zabbix_get -s 192.168.3.12 -k MySQL.file-reads 171 [[email protected] scripts]# zabbix_get -s 192.168.3.12 -k MySQL.os-waits 2
三、監控mysql主從
需要在slave的節點上配置
修改slave上的監控腳本,添加賬號、密碼、socket等參數
# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh RES=`HOME=~zabbix mysql -h192.168.3.13 -uzabbix -pzabbixpassword -S /tmp/mysql.sock -e ‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print $2}‘ | tr ‘\n‘ ‘,‘`
zabbix3.0.4使用percona-monitoring-plugins插件來監控mysql5.6的詳細實現過程