實戰zabbix3.0.2 使用percona mysql插件監控mysql5.7

1.系統環境

[root@shard0 templates]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)

2.下載安裝須要的軟件 zabbix-agent php php-mysql

wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm

rpm -i zabbix-agent-3.2.7-1.el7.x86_64.rpm

yum install php  php-mysql 

[root@shard0 zabbix]# rpm -qa zabbix-agent php php-mysql
php-5.4.16-42.el7.x86_64
php-mysql-5.4.16-42.el7.x86_64
zabbix-agent-3.2.7-1.el7.x86_64

3.下載安裝percona

wget https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-zabbix-templates-1.1.6-1.noarch.rpm

rpm -i percona-zabbix-templates-1.1.6-1.noarch.rpm

#自動生成兩個目錄 scripts:腳本目錄  templates:模板目錄
[root@shard0 templates]# cd /var/lib/zabbix/percona
[root@shard0 percona]# ll
total 4
drwxr-xr-x. 2 root root   68 Mar 15 01:17 scripts
drwxr-xr-x. 2 root root 4096 Mar 15 01:17 templates

[root@shard0 percona]# ll scripts/
total 64
-rwxr-xr-x. 1 root root  1251 Jan 11  2016 get_mysql_stats_wrapper.sh
-rwxr-xr-x. 1 root root 59640 Jan 11  2016 ss_get_mysql_stats.php
[root@shard0 percona]# ll templates/
total 284
-rw-r--r--. 1 root root  18866 Jan 11  2016 userparameter_percona_mysql.conf
-rw-r--r--. 1 root root 269258 Jan 11  2016 zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml

/var/lib/zabbix/percona/scripts/目錄中,sh的腳本是監控獲取MySQL狀態的,php文件是配置鏈接數據庫用戶名密碼的。php

/var/lib/zabbix/percona/templates/目錄中,conf文件是要放在agent端/etc/zabbix/zabbix_agentd.d/下面的,XML文件是模版文件。mysql

4.建立監控mysql的管理帳號

my3306->GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY "123456";         
                   
my3306->flush privileges;
Query OK, 0 rows affected (0.00 sec)

5.修改ss_get_mysql_stats.php配置文件

[root@shard0 scripts]# cd var/lib/zabbix/percona/scripts
[root@shard0 scripts]# vim ss_get_mysql_stats.php

6.修改監控腳本

#1 這裏要先建好這個文件,不然會報rm權限錯誤
vim /tmp/localhost-mysql_cacti_stats.txt
chown -R zabbix.zabbix /tmp/$HOST-mysql_cacti_stats.txt 

#2 若是MySQL端口非3306,則要修改端口腳本,如下爲3317爲例
vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt "
換成:
CACHEFILE="/tmp/$HOST-mysql_zabbix_stats.txt:3317"

TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt`
換成:
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_zabbix_stats.txt:3317 

#3 修改mysql執行命令路徑,修改成對應MySQL命令的位置,本例的位置爲 /u01/MySQL5.7/bin

#RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
換成:
RES=`/u01/MySQL5.7/bin  -u root -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

7.修改參數文件 /etc/my.cnf

上面的步驟6中 若是 mysql -uroot 把密碼帶上 :
  /u01/MySQL5.7/bin  -u root -pxxxx -e 'SHOW SLAVE STATUS\G'
  會出現附加提示,Warning: Using a password on the command line interface can be insecure.
  此時zabbix會提示獲取數據格式錯誤!

 #解決方案:
 vim /etc/my.cnf

[mysql]    
user=your_backup_user_name    
password=your_backup_password

8.拷貝參數文件

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

9.修改zabbix_agent配置文件

[root@shard0 zabbix]# cd /etc/zabbix/
[root@shard0 zabbix]# vi zabbix_agentd.conf 

Server=172.253.32.79

ServerActive=172.253.32.79

Hostname=DESKTOP-4O8JRR9

參數說明:

Server:  zabbix server的ip地址,

ServerActive: zabbix 主動監控server的ip地址,

其中Server和ServerActive都指定zabbix Server的IP地址,不一樣的是,前者是被動後者是主動。也就是說Server這個配置是用來容許
172.253.32.79這個ip來我這取數據。而ServerActive的172.253.32.79的意思是,客戶端主動提交數據給他。

Hostname 主機名,必須惟一,區分大小寫。Hostname必須和zabbix web上配置的一直,不然zabbix主動監控沒法正常工做。
由於agent拿着這個主機名去問server,我有配置主動監控項嗎?server拿着這個主機名去配置裏面查詢,而後返回信息。

zabbix agent檢測分爲主動(agent active)和被動(agent)兩種形式,主動與被動的說法均是相對於agent來討論的。

主動:agent請求server獲取主動的監控項列表,並主動將監控項內須要檢測的數據提交給server/proxy

被動:server向agent請求獲取監控項的數據,agent返回數據。

10.重啓zabbix_agent

[root@shard0 zabbix]# systemctl restart zabbix-agent

11.下載模板文件,並導入zabbix server端。

wget https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-monitoring-plugins-1.1.6.tar.gz

12.導入報錯

解決辦法:
將zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml導入zabbix2.4中再導出。以後將新的導出xml導入
到3.2中問題解決。

我將修改好的模版文件share下,地址是:https://download.csdn.net/download/chinesern/10472518

13.Received value [sh: /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: Permission denied] is not suitable for value type [Numeric (float)]

#解決方法
vi /etc/selinux/config文件
#SELINUX=enforcing        註釋掉
添加SELINUX=disabled
SELINUXTYPE=targeted  註釋掉


#使配置當即生效
setenforce 0
相關文章
相關標籤/搜索