Keepalived 添加腳本配置監控haproxy方案


作者:風過無痕-唐
出處:http://www.cnblogs.com/tangyanbo/

 

上一篇文章已經講到了keepalived實現雙機熱備,且遺留了一個問題

master的網絡不通的時候,可以立即切換到slave,但是如果只是master上的應用出現問題的時候,是不會

主動切換的。

上篇文章地址:Keepalived 實現雙機熱備(一)

那么這篇文章主要討論解決這個問題

我的方案是:

寫一個腳本,用於監控haproxy,當然,keepalive支持腳本擴展

當master haproxy出現問題時,重啟haproxy,如果重啟不成功,則停掉master上面的keepalived

也可以不重啟haproxy,直接停掉keepalived,讓backup服務器接管master

這樣haproxy出現故障,網站依然可用

系統分布如下:

ha主機 192.168.1.227:80

ha備機 192.168.1.246

keepalived 主機 192.168.1.227

keepalived備機 192.168.1.246

web1 http://192.168.1.226:8081/login

web2 http://192.168.1.246:8888/login

虛擬ip 192.168.1.99

keepalive master 和 backup 配置

vi /etc/keepalived/keepalived.conf

增加紅色部分

復制代碼
! Configuration File for keepalived
#定義檢查腳本 vrrp_script check_haproxy { script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 }

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.99
    }
   #執行檢查腳本 track_script { check_haproxy }
}
復制代碼

編輯檢查haproxy腳本

/etc/keepalived/check_haproxy.sh

#!/bin/bash
A=`ps -C haproxy --no-header |wc -l`
if [ $A -eq 0 ];then
/etc/init.d/keepalived stop
fi

增加執行權限,注意別忘記了

chmod 777 check_haproxy.sh

重啟keepalived即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM