【Zabbix】使用zabbix 3.4自帶Mysql模板,監控Redhat 7.0上的Mysql

sayyy發表於2018-11-23

前言

  • 使用zabbix監控Mysql。
  • zabbix 3.4
  • zabbix server已安裝完成(yum方式安裝zabbix
  • Mysql伺服器作業系統(OS) :Redhat 7.0
  • 在Mysql伺服器上安裝zabbix agent(安裝、配置agent,配置被監控端
  • zabbix 3.4自帶Mysql模板。使用“zabbix 3.4自帶Mysql模板”可以實現一些基礎的監控。
  • “zabbix 3.4自帶Mysql模板”無法滿足監控需要時,需要自行進行擴充套件。此處只針對“zabbix 3.4自帶Mysql模板”進行配置。

在Zabbix Web中,為Mysql伺服器新增Mysql模板

  • Mysql伺服器IP : 192.168.200.213
  • Mysql伺服器 zabbix 名(在 zabbix 環境中唯一):zabbix_server213
  • 在Zabbix Web中新增Mysql伺服器,參考這裡
    在這裡插入圖片描述
  • 按上圖修改完成後,Mysql模板還不能工作。還需要對Mysql伺服器進行操作。

檢查Zabbix對Mysql監控的支援

  • 在Mysql伺服器上,找到檔案:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
  • 在Zabbix server上,檢查監控項是否可用

在Zabbix web中,檢視有哪些監控項可用
在這裡插入圖片描述

  • 異常資訊是:Item preprocessing step #1 failed: cannot calculate delta (speed per second) for value “ERROR 1045 (28000): Access denied for user ‘zabbix’@‘localhost’ (using password: NO)” of type “string”: cannot convert value to numeric type
    在Zabbix server上,檢查監控項是否可用

在Zabbix server上,使用zabbix_get命令(重要:執行zabbix_get命令前,確保已經安裝了zabbix-get。未按照可以執行yum instal zabbix-get(這裡是橫線)進行安裝。)檢查監控項是否可用。命令如下:
zabbix_get -s 192.168.200.213 -p 10050 -k "mysql.status[Com_begin]"
在這裡插入圖片描述

  • 引數s:Mysql伺服器的IP
  • 引數p:Mysql伺服器上,zabbix agent埠。預設10050。
  • 引數k:監控項的key。在zabbix web中檢視。參見上圖。
  • 上圖顯示,監控項已經在192.168.200.213(Mysql伺服器)上執行。只是,執行過程發生異常。
  • ERROR 1045 (28000): Access denied for user ‘zabbix’@‘localhost’ (using password: NO) 意思是說,執行mysql命令是,沒有提供密碼。下面就來解決這個問題。

在Mysql伺服器上,設定執行Mysql命令免密碼

  • 配置監控Mysql時,只有這步與監控其它(比如:監控磁碟空間,cpu,…)不一樣。
  • 本文這裡選擇執行mysql命令免密的方法。還有其他的方法,可自行百度。
  • 設定執行Mysql命令免密碼方法很多,可自行百度。這裡只介紹親測可用的方法。
  1. 修改my.cnf
vim /etc/my.cnf
--------------------------------------------------------------------
# 新增如下內容
# [mysql]是節點,如果沒有,新建一個節點;如果有,則在其後面追加
[mysql]
# [mysql]節點下的配置,只對mysql命令起作用
# 免密執行命令時,預設的使用者名稱 
user=root
# 免密執行命令時,預設的密碼
password=changeit

# [mysqladmin]是節點,如果沒有,新建一個節點;如果有,則在其後面追加
[mysqladmin]
# [mysqladmin]節點下的配置,只對mysqladmin命令起作用
# 免密執行命令時,預設的使用者名稱 
user=root
# 免密執行命令時,預設的密碼
password=changeit
  1. 使用zabbix_get,檢查“設定執行Mysql命令免密碼”是否成功
    在Zabbix server上,使用zabbix_get命令檢查。
    在這裡插入圖片描述
  • 返回數字,表示執行成功
  • 連續兩次執行結果不一樣,標識數值在變化中。依據每時每刻變化的資料,可以繪製折線圖。
  • 可以更換-k引數(監控項的key),檢視其它監控項是否運轉正常。
  1. 在Zabbix web中,檢查“設定執行Mysql命令免密碼”是否成功
    在這裡插入圖片描述
  • 這裡反應較慢,設定完成後,等幾分鐘後再檢視。
  • 如果有部分綠了,部分沒綠,可以再等等。

在Zabbix Web中,體驗Mysql實時監控圖

在這裡插入圖片描述

至此,監控Mysql設定完成了。

題外:擴充套件對Mysql的監控

  • 當zabbix的Mysql模板提供的監控項,無法滿足需求時,考慮進行擴充套件。
  • 擴充套件對Mysql的監控時,多少涉及到了開發。選擇的開發方式不同,複雜度和技能要求也就不同。
  • 擴充套件對Mysql的監控時的大體思路:zabbix server要先獲取監控項資料,再根據監控項資料定製預警或圖表。
  • zabbix server獲取監控項資料,方法1:通過監控指令碼擴充套件。編寫可以獲取監控項的指令碼,放到zabbix agent中執行。此種,要熟悉linux shell即可。
  • zabbix server獲取監控項資料,方法2:根據zabbix api進行程式設計開發。先獲取監控項資料,再將監控項資料發給zabbix server。此種,要熟悉一種程式語言的開發。zabbix api libraries支援:Python、Ruby、Crystal、Perl、Java、PHP、PowerShell、JavaScript、C#、Go、Rust、R、Online web

相關文章