1. 程式人生 > >zabbix監控mysql主從復制

zabbix監控mysql主從復制

zabbix監控mysql主從復制 zabbix mysql5.6


zabbix監控mysql主從復制



.監控MySQL的復制


原理:利用在slave上運行show slave status獲取Slave_IO_Running和Slave_SQL_Running的值


1.在mysql上新建監控用戶

grant replication client on *.* to [email protected] identified by ‘zabbix‘;

flush privileges;


2.在/data/zabbix/sbin下新建mysql_slave_status.sh腳本

MySQL 在終端直接輸入密碼,會有一條警告信息輸出,

先在/etc/my.cnf裏面添加 MySQL用戶的密碼

vim /etc/my.cnf

[client]

user = zabbix

password = zabbix


vim /data/zabbix/sbin/mysql_slave_status.sh


#!/bin/bash

mysql -uzabbix -e "show slave status\G" |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c Yes

....


chmod +x /data/zabbix/sbin/mysql_slave_status.sh



3.修改/data/zabbix/conf/zabbix_agentd.conf文件



UnsafeUserParameters=1

UserParameter=mysql.slave-status,/data/zabbix/sbin/mysql_slave_status.sh


4.重啟下zabbix_agemtd服務



service zabbix_agentd restart


配置zabbix服務端


測試客戶端腳本

zabbix_get命令常用參數

-s --host: 指定客戶端主機名或者IP

-p --port:客戶端端口,默認10050

-I --source-address:指定源IP,寫上zabbix server的ip地址即可,一般留空,服務器如果有多ip的時候,你指定一個。

-k --key:你想獲取的key



zabbix_get -s 221.195.1.101 -k "mysql.slave-status"


如果上面返回的是2,那麽是正常(1.mysql的復制正常 2.zabbix_agentd是配置正常),

代表Slave_IO_Running和Slave_SQL_Running兩個狀態都是Yes,這裏221.195.1.101是我的slave的IP地址



測試沒問題,就登錄web頁面


1.首先創建模板


--配置--模板--創建模板


填寫模板名稱: mysql.slave-status

可視化名稱:mysql.slave-status

群組.....

描述.....


保存之後


創建監控項

進入創建好的模板 mysql.slave-status

名稱:mysql.slave-status

類型:zabbix 客戶端端

鍵值:mysql.slave-status

信息類型:數字(無正負)

數據跟新時間(單位秒):30 可以根據自己情況更改數據跟新時間,我的改為5秒

其他值 默認就好


創建觸發器

名稱:mysql.slave-status

嚴重性:警告

問題表現形式: 添加--選擇監控項mysql.slave-status 功能:最新的T值<N N :2

添加之後表達式是這樣的:{mysql.slave-status:mysql.slave-status.last()}<2


恢復表達式:添加--選擇監控項mysql.slave-status 功能:最新的T值=N N :2


......

web頁面的配置算是完了,

Zabbix 2.*版本的和Zabbix 3.*版本 的配置有些地方不一樣,不過都是大同小異。


-------------------------

測試配置是是否能觸發報警


在mysql環境下stop slave;


等幾分鐘就會收到郵件了

rigger: mysql.slave-status

Trigger status: PROBLEM

Trigger severity: Warning

Trigger URL:


Item values:


1. mysql.slave-status (221.195.1.101:mysql.slave-status): 0

Original event ID: 3106

-------------------------------

在mysql環境下start slave;


Trigger: mysql.slave-status

Trigger status: OK

Trigger severity: Warning

Trigger URL:


Item values:


1. mysql.slave-status (221.195.1.101:mysql.slave-status): 2

Original event ID: 3106


---------------------------------







zabbix監控mysql主從復制