zabbix--監控MySQL主從狀態

模板網址
https://www.cnblogs.com/yanjieli/p/10996843.html?tdsourcetag=s_pcqq_aiomsghtml

zabbix--監控MySQL主從狀態

zabbix監控MySQL主從狀態
搭建MySQL主從後,不少時候不知道從的狀態是否ok,有時候出現異常不能及時知道,這裏經過shell腳本結合zabbix實現監控並告警
通常狀況下,在MySQL的從上查看從的運行狀態是經過Slave_IO_Running線程和Slave_SQL_Running線程是否ok,經過命令「show slave status\G;」便可查看。因此這裏根據這兩個值進行判斷。
zabbix--監控MySQL主從狀態
agent端腳本編寫及配置
說明:全部zabbix相關的腳本我都放在了/etc/zabbix/script/ 目錄裏面,下面這些都是在zabbix被監控端上操做,而且上面數據庫是屬於MySQL主從的從
1)腳本編寫python

[root@wlw ~]# cd /etc/zabbix/script/

[root@wlw /etc/zabbix/script]# cat mysql_slvae_status.sh 
#!/bin/bash
#Desc:用於獲取主從同步信息,判斷主從是否出現異常,而後提交給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)配置文件修改,編寫一個自配置文件,裏面指定上面編寫的腳本的路徑mysql

[root@wlw ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_process[*],/bin/bash /scripts/check.sh $1
UserParameter=check_log[*],/usr/bin/python /scripts/log.py $1 $2 $3
UserParameter=check_mysql_start[*],/bin/bash /scripts/mysql_start.sh $1

3)重啓zabbix-agentweb

[root@wlw ~]pkill zabbix
[root@wlw ~]zabbix_agentd

4)在zabbix-server端進行測試,看是否可以成功獲取到值,經過上面的腳本,這裏爲0即表示正常,爲1即表示不正常。sql

[root@zabbix ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[sql]
0
[root@zabbix ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[io]
0

server端web配置
1)配置Slave_IO_Running線程監控項
zabbix--監控MySQL主從狀態
2)配置Slave_SQL_Running線程監控項
zabbix--監控MySQL主從狀態
3)配置Slave_IO_Running線程的觸發器
zabbix--監控MySQL主從狀態
4)配置Slave_SQL_Running線程的觸發器
zabbix--監控MySQL主從狀態
5)配置觸發動做
zabbix--監控MySQL主從狀態
配置動做中須要執行的動做(發送消息給管理員)
zabbix--監控MySQL主從狀態
配置狀態恢復時的操做(一樣發送消息給管理員)
zabbix--監控MySQL主從狀態
最終查看監控項
zabbix--監控MySQL主從狀態shell

至此,就完成了MySQL主從中從的狀態監控了。數據庫

相關文章
相關標籤/搜索