搭建MySQL主從后,很多時候不知道從的狀態(tài)是否ok,有時候出現(xiàn)異常不能及時知道,這里通過shell腳本結(jié)合zabbix實(shí)現(xiàn)監(jiān)控并告警
一般情況下,在MySQL的從上查看從的運(yùn)行狀態(tài)是通過Slave_IO_Running線程和Slave_SQL_Running線程是否ok,通過命令“show slave status\G;”即可查看。所以這里根據(jù)這兩個值進(jìn)行判斷。
agent端腳本編寫及配置
說明:所有zabbix相關(guān)的腳本我都放在了/etc/zabbix/script/ 目錄里面,下面這些都是在zabbix被監(jiān)控端上操作,并且上面數(shù)據(jù)庫是屬于MySQL主從的從
1)腳本編寫
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[root@srt-xt ~]# cd /etc/zabbix/script/ [root@srt-xt /etc/zabbix/script]# cat mysql_slvae_status.sh #!/bin/bash # Desc :用于獲取主從同步信息,判斷主從是否出現(xiàn)異常,然后提交給zabbix # Date : 2019-06-06 # by :Lee-YJ USER = "root" PASSWD= "nae3eabo9naeli1Oov1a" NAME =$1 function IO { Slave_IO_Running=`mysql -u $ USER -p$PASSWD -e "show slave status\G;" 2> /dev/ null |grep Slave_IO_Running |awk '{print $2}' ` if [ $Slave_IO_Running == "Yes" ]; then echo 0 else echo 1 fi } function SQL { Slave_SQL_Running=`mysql -u $ USER -p$PASSWD -e "show slave status\G;" 2> /dev/ null |grep Slave_SQL_Running: |awk '{print $2}' ` if [ $Slave_SQL_Running == "Yes" ]; then echo 0 else echo 1 fi } case $ NAME in io) IO ;; sql) SQL ;; *) echo -e "Usage: $0 [io | sql]" esac |
2)配置文件修改,編寫一個自配置文件,里面指定上面編寫的腳本的路徑
1
2
3
4
5
|
[root@srt-xt ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@srt-xt /etc/zabbix/zabbix_agentd.d]# cat userparameter_mysql_slave.conf # 獲取MySQL slave狀態(tài) UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slvae_status.sh $1 |
3)重啟zabbix-agent
1
|
[root@srt-xt /etc/zabbix/zabbix_agentd.d]# /etc/init.d/zabbix-agent restart |
4)在zabbix-server端進(jìn)行測試,看是否能夠成功獲取到值,通過上面的腳本,這里為0即表示正常,為1即表示不正常。
1
2
3
4
|
[root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[sql] 0 [root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[io] 0 |
server端web配置
1)配置Slave_IO_Running線程監(jiān)控項(xiàng)
2)配置Slave_SQL_Running線程監(jiān)控項(xiàng)
3)配置Slave_IO_Running線程的觸發(fā)器
4)配置Slave_SQL_Running線程的觸發(fā)器
5)配置觸發(fā)動作
配置動作中需要執(zhí)行的動作(發(fā)送消息給管理員)
配置狀態(tài)恢復(fù)時的操作(同樣發(fā)送消息給管理員)
最終查看監(jiān)控項(xiàng)
至此,就完成了MySQL主從中從的狀態(tài)監(jiān)控了。
總結(jié)
以上所述是小編給大家介紹的zabbix監(jiān)控MySQL主從狀態(tài)的方法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
原文鏈接:https://www.cnblogs.com/yanjieli/archive/2019/06/10/10996843.html