0
点赞
收藏
分享

微信扫一扫

​​keepalive笔记之二:keepalive+nginx自定义脚本实现

​​keepalive笔记之二:keepalive+nginx

keepalive的配置文件

! Configuration File for keepalived

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_script check_80 {                         //定义vrrp脚本

  script '/root/check_code.py'               //脚本路径

  interval 2                                   //脚本检测时间间隔,脚本必须在间隔时间内返回状态,不然日志报错

//Keepalived_vrrp[7813]: Process [7894] didn't respond to SIGTERM

  weight -2                                    //当脚本返回的状态码不是0时,操作权重

}

vrrp_instance VI_1 {

   state MASTER

   interface eth0

   virtual_router_id 51

   priority 100

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

   }

   virtual_ipaddress {

       192.168.89.100

   }

   track_script {                       //定义监控脚本

   check_80

   }

}

使用的脚本:/root/check_code.py

(该脚本检查http的状态吗,如果不是200,则关闭keepalive服务,使VIP漂移到备份机上)

#!/usr/bin/env python

import urllib2

import os

url = 'http://192.168.89.81/index.html'

try:

   check_code = urllib2.urlopen(url,timeout=1).code

except Exception,e:

   print e

   check_code = 444

print check_code

if check_code == 200:

   pass

else:

   os.system('service keepalived stop')












举报

相关推荐

0 条评论