Mysql監控
zabbix自帶了一個監控mysql的模板,可是真正監控mysql的並非zabbix自帶的模板。而是percona
公司的一個監控mysql模板
percona官網: www.percona.comphp
Percona組成介紹html
一、php腳本 用來數據採集 二、shell腳本 用來調用採集信息 三、zabbix配置文件 四、zabbix模板文件
安裝文檔:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
percona
利用的是php來獲取mysql
的相關信息,因此若是咱們想使用percona
插件監控mysql
就須要在agent
端安裝php
。在安裝文檔上有寫哦~
node
安裝步驟: 查看上面的連接也能夠進行安裝
咱們安裝在zabbix-server上,由於上面有一個MySQLmysql
[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模板下載下來linux
[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
而後重新上傳便可web
複製配置文件sql
[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
建立一個文件docker
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf<?php $mysql_user = 'root'; $mysql_pass = ''; #用戶名密碼能夠本身建立,有密碼寫密碼,沒密碼爲空就行了
提示: 正常這裏的用戶咱們應該建立一個專門用來監控的,因爲我這裏是測試環境。就不浪費時間了shell
查看是否能夠獲取到值,隨便找一個測試數據庫
[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受權的一些問題