1. 程式人生 > >Zabbix 3.0 監控MySQL

Zabbix 3.0 監控MySQL

監控 zabbix 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。在安裝文檔上有寫哦~
技術分享

安裝步驟: 查看上面的鏈接也可以進行安裝
我們安裝在zabbix-server上,因為上面有一個MySQL

[[email protected] web]# yum install 
[[email protected] web]# yum install percona-zabbix-templates php php-mysql -y
#percona插件是通過php去獲取mysql的參數,所以我們要安裝php和php-mysql我們可以查看它都安裝了那些軟件
[[email protected] 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模板下載下來

[[email protected] 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
然後從新上傳即可

復制配置文件

[[email protected] web]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[[email protected] web]# ls /etc/zabbix/zabbix_agentd.d/
#安裝完軟件包後會在/var/lib/zabbix/percona/templates/目錄下產生一個配置文件,我們將它拷貝,因為在前面的博文中,我們已經修改過zabbix的配置文件[Include=/etc/abbix/zabbix_agentd.d/] 所以將配置文件放在這個目錄下,zabbix就會自己在這個目錄下查找相關信息
[[email protected] web]# systemctl restart zabbix-agent.service    重啟一下!

下面就應該配置與MySQL的連接
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf創建一個文件

[[email protected] ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf<?php
$mysql_user = ‘root‘;
$mysql_pass = ‘‘;
#用戶名密碼可以自己創建,有密碼寫密碼,沒密碼為空就好了

提示: 正常這裏的用戶我們應該創建一個專門用來監控的,由於我這裏是測試環境。就不浪費時間了

測試

查看是否可以獲取到值,隨便找一個測試

[[email protected] ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf     選擇一個肯定有值的key
[[email protected] ~]# 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
測試結果如下:
[[email protected] ~]# cd /var/lib/zabbix/percona/scripts/
[[email protected] scripts]# ./get_mysql_stats_wrapper.sh gm
1
[[email protected] scripts]# ./get_mysql_stats_wrapper.sh gw
9736342
可以獲取到值,說明沒有問題

溫馨提示: shell腳本中數據庫的路徑是localhost,如果我們沒有授權localhost會獲取不到值

[[email protected] 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授權的一些問題


本文出自 “小菜鳥” 博客,請務必保留此出處http://baishuchao.blog.51cto.com/12918589/1958378

Zabbix 3.0 監控MySQL