1. 程式人生 > >Centos6.5 zabbix3.2.6監控mysql

Centos6.5 zabbix3.2.6監控mysql

linux zabbix 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;

測試腳本能夠獲取到數據庫的狀態信息

改腳本許測試倆部分

  1. mysql實例本身的狀態變量

  2. 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 返回值01正確

【報錯處理】

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‘;

測試腳本能夠獲取到數據庫的狀態信息

改腳本許測試倆部分

  1. mysql實例本身的狀態變量

  2. 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 返回值01正確

【報錯處理】

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