Zabbix 3.0 監控MySQL

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。在安裝文檔上有寫哦~ 
1.png-135.5kB

安裝步驟: 查看上面的鏈接也可以進行安裝 
我們安裝在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中 
2.png-310.6kB
2.png-90kB
提示:如果出現錯誤,可能是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中,這時候我們就需要進行設置了 
1.png-155.4kB
2.png-106.9kB
提示: 我們還需要授權/tmp下的一個文件,因爲默認情況下 zabbix在文件中獲取的值 
3.png-60.7kB
修改完就可以獲取值了,所以我們還需要測試 
4.png-131.9kB

結果如下圖 
5.png-202.5kB
思想: 
  如果出現錯誤我們需要先查看shell的腳本,因爲shell是去調用php。 錯誤的因素有很多,最簡單的方法就是用shell 後面加上key 看看是否可以有值。 
  其中報錯最多的地方就是php和mysql連接的問題,還有我們mysql授權的一些問題


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章