Keepalived健康检查方式配置

技术文档 - Linux 作者: xcheng1986 发布于:2016-11-09 阅读(661) (暂无评论)  

一、HTTP_GET和SSL_GET健康检查方式
HTTP_GET | SSL_GET 健康检查配置方式有2种:摘要 和 状态。
格式
HTTP_GET | SSL_GET {
	url {
		path /# HTTP/SSL 检查的url 可以是多个
		digest <STRING> # HTTP/SSL 检查后的摘要信息 用工具genhash生成
		status_code 200# HTTP/SSL 检查返回的状态码
	}
	connect_port 80 # 连接端口
	bindto <IPADD>
	connect_timeout 3 # 连接超时时间
	nb_get_retry 3 # 重连次数
	delay_before_retry 2 #连接间隔时间
}
A、摘要
这种方法当index.html变化,摘要消息需重新计算。
real_server 192.168.36.99 80 {
    weight 1
    HTTP_GET {
       url {
            path /index.html
            digest bfaa334fdd71444e45eca3b7a1679a4a  #http://192.168.36.99/index.html的digest值
        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}
digest值的获取方法:
>genhash -s 192.168.36.99 -p 80 -u /index.html
B、HTTP状态
根据HTTP状态码检查
real_server 192.168.36.99 80 {
    weight 1
    HTTP_GET {
        url {
            path /index.html
            status_code 200      #http://192.168.36.99/index.html的返回状态码
        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

二、TCP健康检查方式
TCP_CHECK {
connect_timeout 5 #连接超时时间
nb_get_retry 3#重连次数
delay_before_retry 3 #重连间隔时间
connect_port 80 #健康检查的端口
}

real_server 192.168.191.130 80 {
    weight 3
    inhibit_on_failure #在服务器健康检查失效时,将其设为0
    TCP_CHECK {
        connect_timeout 5 #连接超时时间
        nb_get_retry 3#重连次数
        delay_before_retry 3 #重连间隔时间
        connect_port 80 #健康检查的端口
    }
}

三、SMTP健康检查方式
SMTP_CHECK {
    host {
        connect_ip <IP ADDRESS>
        connect_port <PORT> # 默认检查端口25
    }
    connect_timeout <INTEGER>
    retry <INTEGER>
    delay_before_retry <INTEGER>
    helo_name <STRING>|<QUOTED-STRING> # "请求命令参数,可选
}

四、MISC健康检查方式
MISC_CHECK {
misc_path <STRING>|<QUOTED-STRING># 外部程序或者脚本路径
misc_timeout <INT># 执行脚本的超时时间
misc_dynamic#如果设置了misc_dynamic,healthchecker程序的退出状态码会用来动态调整服务器的权重(weight).
     #返回0:健康检查OK,权重不被修改
     #返回1:健康检查失败,权重设为0
     #返回2-255:健康检查OK,权重设置为:退出状态码-2,比如返回255,那么weight=255-2=253
}