Centos6.5 zabbix3.2.6監控mysql
一、 操作環境
我使用的linux系統是centos6.5,數據庫是mysql5.6,apache2.4,php5,6
安裝目錄:
/usr/local/apache
/usr/local/php
/usr/local/mysql
/usr/local/zabbix
Zabbix服務器插件安裝
Zabbix3.2.6自帶監控mysql模板監控項不全面,所以重新下載導入到zabbix裏面
下載網址:、
https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/
選擇最新的percona插件選擇我是用的操作環境,單獨下載包zabbix模板,下面有用戶手冊可以下載參考。
官方安裝文件下載地址:
https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
可以參考官網的安裝文檔
安裝
使用rpm安裝插件
[[email protected] ~]# rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
warning:percona-zabbix-templates-1.1.7-2.noarch.rpm: Header V4 DSA/SHA1 Signature, keyID cd2
efd2a: NOKEYPreparing... ########################################### [100%]
1:percona-zabbix-template###########################################[100%]
Scripts are installed to/var/lib/zabbix/percona/scripts 腳本安裝位置
Templates are installed to/var/lib/zabbix/percona/templates 模板安裝位置
給percona模塊文件加權限
chown -R zabbix. /var/lib/zabbix
復制zabbix代理配置
註:我是用的zabbix服務器端進行配置所以配置文件在/usr/local/zabbix/etc/目錄下
Zabbix客戶端的配置文件在/etc/zabbix/zabbix_agentd.d
cp/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
更改客戶端配置文件加入一句
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
重啟zabbix客戶端
/etc/init.d/zabbix_agentd restart
在代理上配置mysql連接,安全起見新創建一個用戶只有讀的權限,本地用戶localhost
GRANT SELECT ON *.* TO ‘zabbixuser‘@‘localhost‘IDENTIFIED BY ‘zab1P8a2s‘;
Flush privileges;
修改腳本中的用戶和密碼
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = ‘zabbixuser’
$mysql_pass = ‘ zab1P8a2s‘;
$mysql_port = 3306;
測試腳本能夠獲取到數據庫的狀態信息
改腳本許測試倆部分
mysql實例本身的狀態變量
mysql是否為slave
測試mysql實例本身的狀態變量
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
報錯:
把下面哪一行更改成php的運行腳本,環境變量
vim/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
CMD="/usr/local/php/bin/php -q$DIR/ss_get_mysql_stats.php --host $HOST --items gg"
[[email protected] ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
764 返回值正確
測試php,又返回值正確
/usr/local/php/bin/php -q/var/lib/zabbix/percona/scripts/ss_get_m
ysql_stats.php --host localhost --items gg
[[email protected] ~]# sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
0 返回值0或1正確
【報錯處理】
vim get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print$2}‘ | tr‘\n‘‘,‘`
# 如果腳本運行時出現提示“Warning: Using a password on the commandlineinterface can be insecure.”,解決方法
RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e‘SHOW SLAVE STATUS\G‘2>&1 | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print$2}‘ | tr‘\n‘‘,‘`
所有調試完成後,重啟zabbix_agentd
/etc/init.d/zabbix_agentd restart
調試zabbixweb
調試zabbix的web端
配置—>模板-->導入-->
選擇模板然後點擊導入,會顯示導入成功
這個模板就是新導入的mysql模板
因為我實在zabbix服務器上面做的所以選擇配置—>主機—>zabbix server(剛剛設置完的主機)
模板-->選擇
選擇mysql模板之後點擊添加—>更新
登網頁刷新5分鐘然後查看圖像
Zabbix客戶端插件安裝
客戶端做法類似只是目錄不一樣
rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
/var/lib/zabbix/percona/scripts 腳本路徑
/var/lib/zabbix/percona/templates 模板路徑
給percona模塊文件加權限
chown -R zabbix. /var/lib/zabbix
Zabbix配置文件路徑:
/etc/zabbix
復制zabbix代理配置
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
更改客戶端配置文件加入一句
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
重啟zabbix客戶端
/etc/init.d/zabbix_agentd restart
在代理上配置mysql連接,本地用戶localhost
GRANT all privileges ON *.* TO ‘zabbixuser‘@‘localhost‘IDENTIFIED BY ‘zab1P8a2s‘;
Flush privileges;
修改腳本中的用戶和密碼
vim/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = ‘zabbixuser’
$mysql_pass = ‘zab1P8a2s‘;
$mysql_port = 3306;
$mysql_socket =‘/usr/local/mysql/mysql.sock‘;
$timezone = ‘PRC‘;
測試腳本能夠獲取到數據庫的狀態信息
改腳本許測試倆部分
mysql實例本身的狀態變量
mysql是否為slave
測試mysql實例本身的狀態變量
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
報錯:
把下面哪一行更改成php的運行腳本,環境變量
vim/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
CMD="/usr/local/php/bin/php -q$DIR/ss_get_mysql_stats.php --host $HOST --items gg"
[[email protected] ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
764 返回值正確
測試php,又返回值正確
/usr/local/php/bin/php -q/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --itemsgg
[[email protected] ~]# sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
0 返回值0或1正確
【報錯處理】
vim get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print$2}‘ | tr‘\n‘‘,‘`
# 如果腳本運行時出現提示“Warning: Using a password on the commandlineinterface can be insecure.”,解決方法
RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e‘SHOW SLAVE STATUS\G‘2>&1 | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print$2}‘ | tr‘\n‘‘,‘`
所有調試完成後,重啟zabbix_agentd
/etc/init.d/zabbix_agentd restart
Zabbix服務器添加監控項,因為mysql數據庫數據很多,zabbix獲取數據的時候等待時間大概5到10分鐘左右
本文出自 “12780274” 博客,轉載請與作者聯系!
Centos6.5 zabbix3.2.6監控mysql