Mysql監控
zabbix自帶了一個監控mysql的模板,但是真正監控mysql的並不是zabbix自帶的模板。而是percona
公司的一個監控mysql模板
percona官網: www.percona.com
Percona組成介紹
1、php腳本 用來數據採集 2、shell腳本 用來調用採集信息 3、zabbix配置文件 4、zabbix模板文件
安裝文檔:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
percona
利用的是php來獲取mysql
的相關信息,所以如果我們想使用percona
插件監控mysql
就需要在agent
端安裝php
。在安裝文檔上有寫哦~
安裝步驟: 查看上面的鏈接也可以進行安裝
我們安裝在zabbix-server上,因爲上面有一個MySQL
[root@linux-node1 web]# yum install [root@linux-node1 web]# yum install percona-zabbix-templates php php-mysql -y #percona插件是通過php去獲取mysql的參數,所以我們要安裝php和php-mysql我們可以查看它都安裝了那些軟件 [root@linux-node1 web]# rpm -ql percona-zabbix-templates /var/lib/zabbix/percona /var/lib/zabbix/percona/scripts var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh #shell腳本 /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php #php獲取mysql信息 /var/lib/zabbix/percona/templates /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #zabbix配置文件 /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml #zabbix模板文件在percona組成我們已經說過了,此處只是略微介紹。
我們將zabbix模板下載下來
[root@linuxnode1 web]# sz /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml
然後我們需要將模板通過web
界面導入到zabbix中
提示:如果出現錯誤,可能是zabbix 3.0版本的問題。我們這裏提供了一個生產的模板
下載鏈接:http://pan.baidu.com/s/1pLjKvxh 密碼:75g0
然後從新上傳即可
複製配置文件
[root@linuxnode1 web]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ [root@linux-node1 web]# ls /etc/zabbix/zabbix_agentd.d/ #安裝完軟件包後會在/var/lib/zabbix/percona/templates/目錄下產生一個配置文件,我們將它拷貝,因爲在前面的博文中,我們已經修改過zabbix的配置文件[Include=/etc/abbix/zabbix_agentd.d/] 所以將配置文件放在這個目錄下,zabbix就會自己在這個目錄下查找相關信息 [root@linux-node1 web]# systemctl restart zabbix-agent.service 重啓一下!
下面就應該配置與MySQL的連接
在/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
創建一個文件
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf<?php $mysql_user = 'root'; $mysql_pass = ''; #用戶名密碼可以自己創建,有密碼寫密碼,沒密碼爲空就好了
提示: 正常這裏的用戶我們應該創建一個專門用來監控的,由於我這裏是測試環境。就不浪費時間了
測試
查看是否可以獲取到值,隨便找一個測試
[root@linuxnode1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf 選擇一個肯定有值的key [root@linuxnode1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf|grep gm UserParameter=MySQL.read-views,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gm 測試結果如下: [root@linux-node1 ~]# cd /var/lib/zabbix/percona/scripts/ [root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gm 1 [root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gw 9736342 可以獲取到值,說明沒有問題
溫馨提示: shell腳本中數據庫的路徑是localhost
,如果我們沒有授權localhost
會獲取不到值
[root@linux-node1 scripts]# cat get_mysql_stats_wrapper.sh HOST=localhost RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','` #mysql是通過命令來獲取的,如果環境變量不一樣 也可能造成影響
Zabbix_Web界面配置
模板已經上傳到zabbix中,這時候我們就需要進行設置了
提示: 我們還需要授權/tmp下的一個文件,因爲默認情況下 zabbix在文件中獲取的值
修改完就可以獲取值了,所以我們還需要測試
結果如下圖
思想:
如果出現錯誤我們需要先查看shell的腳本,因爲shell是去調用php。 錯誤的因素有很多,最簡單的方法就是用shell 後面加上key 看看是否可以有值。
其中報錯最多的地方就是php和mysql連接的問題,還有我們mysql授權的一些問題