1. 程式人生 > >zabbix 新增mysql監控總結

zabbix 新增mysql監控總結

一、背景

因為業務需求,需要對伺服器所部署的mysql進行監控,以監控mysql效能及時處理問題。

二、步驟

1.此專案基於zabbix所完成,因此需要搭建zabbix監控,此處使用線上zabbix,要是有問題可自己搭建zabbix,詳情見連結。
https://www.centos.bz/2017/11/centos-7%E5%AE%89%E8%A3%85zabbix-3-4/。
2.下載並安裝percona-zabbix-templates。
rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1
.7/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm
3.安裝php及php-mysql。
yum -y install php-cli php-mysql
4.建立MySQL監控賬號。
mysql> GRANT USAGE,PROCESS,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY ‘zabbix’;
備註:此處localhost(主機名)和zabbix密碼自定義修改。
5.修改php指令碼中的賬號密碼。
vi /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

$mysql_user = ‘zabbix’;    # MySQL使用者名稱
$mysql_pass = ‘zabbix’;    # MySQL密碼
$mysql_port = 3306;    # MySQL服務埠
$mysql_socket = ‘/tmp/mysql.sock’;    # 預設為NULL,若需要指定socket檔案需修改該引數值
6.測試指令碼,執行未報錯且輸出為一串數字則表面測試通過
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

5146
7.配置/etc/zabbix/.my.cnf,新增使用者名稱密碼
vi ~zabbix/.my.cnf

[client]
user = zabbix
password = zabbix
8.測試指令碼,執行未報錯且輸出為0或1則表面測試通過.
sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave

0
備註:若遇到以下報錯資訊,請修改指令碼中的mysql命令為mysql命令的絕對路徑或者使用環境變數。報錯資訊:
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 19: mysql: command not found
編輯/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh

RES=`HOME=~zabbix mysql 改為 RES=`HOME=~zabbix /usr/local/mysql/bin/mysql
9.複製zabbix agent配置檔案(這裡的zabbix agent配置檔案的目錄為/etc/zabbix/zabbix_agentd.d/)
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
10.重啟zabbix agent。
systemctl restart zabbix-agent
11.測試完成後會生成/tmp/$hostname-mysql_cacti_stats.txt快取檔案,需要刪除該檔案,才能進行正常監控,否則監控會報錯。
rm -f /tmp/$hostname-mysql_cacti_stats.txt
12.進入zabbix 配置項->主機,新增需要監控主機,此處選擇測試主機。

這裡寫圖片描述

13.此處使用percona監控mysql,percona是一款免費的,完全相容的,增強型,開放源代替MySQL的替代品,提供多項監控項,可以保證監控mysql的正常執行。此處省略下載步驟,直接將模板提供,見附件。
14.匯入模板。如下圖所示,即新增模板成功。

這裡寫圖片描述
這裡寫圖片描述

15.為主機新增模板。

這裡寫圖片描述

16.進入檢測中->最新資料 檢視監控項是否正常存在資料。如下圖,即模板已生效。點選圖中資料右側圖形,檢視圖形是否正常顯示。

這裡寫圖片描述
這裡寫圖片描述

17.若最新資料組,無資料庫則說明配置項未生效,建議檢查配置。排查方法為重啟agent,或是檢視/tmp目錄下是否存在$hostname-mysql_cacti_stats.txt,且許可權為zabbix.zabbix。此目錄為zabbix讀取mysql資料,若許可權錯誤,會導致無法正常讀取資料。此處主機名為192.168.137.158。

這裡寫圖片描述

18.除了以上方法,還可以修改配置項資料型別。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

19.選取配置項,檢視圖形實時資料。

這裡寫圖片描述

percona外掛介紹:Percona Server forMySQL®是一款免費的,完全相容的,增強型,開放源代替MySQL的替代品,可提供卓越的效能,可擴充套件性和儀器。 Percona Server for MySQL的自調整演算法和超高效能硬體支援的下載量超過4,400,000多個,可提供卓越的效能和可靠性。Percona Server for MySQL受到成千上萬的企業的信賴,可為其要求最苛刻的工作負載提供比其他MySQL伺服器更好的效能和併發性,併為MySQL伺服器使用者提供更優質的效能,更高的可伸縮性和可用性,增強的備份和更高的可見性。Percona Server for MySQL現已在Debian 9上提供。該支援僅涵蓋amd64體系結構。