zabbix監控mysql主從復制
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主從復制