设为首页 收藏本站
查看: 2347|回复: 0

[经验分享] keepalived健康检查方式配置笔记

[复制链接]

尚未签到

发表于 2015-11-19 15:32:20 | 显示全部楼层 |阅读模式
  keepalived健康检查方式:HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK



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 # 连接超时时间
nb_get_retry 3 # 重连次数
delay_before_retry 2 #连接间隔时间
} # END OF HTTP_GET|SSL_GET

  

TCP健康检查方式

TCP_CHECK {
connect_port 80
bindto 192.168.1.1
connect_timeout 4
} # TCP_CHECK
  

# SMTP健康检查方式

SMTP_CHECK
host {
connect_ip <IP ADDRESS>
connect_port <PORT> # 默认检查端口25
}
connect_timeout <INTEGER>
retry <INTEGER>
delay_before_retry <INTEGER>
# &quot;请求命令参数,可选
helo_name <STRING>|<QUOTED-STRING>
} #SMTP_CHECK

  

#MISC

健康检查方式MISC_CHECK
{
# 外部程序或者脚本路径
misc_path <STRING>|<QUOTED-STRING>
# 执行脚本的超时时间
misc_timeout <INT>
# XJ˜
misc_dynamic{§ healthchecker§S
misc_dynamic
}

DSC0000.jpg

其中 工具genhash使用

[iyunv@localhost bin]# ./genhash -h
genhash v1.0.0 (18/11, 2002)
Usage:
./genhash -s server-address -p port -u url
./genhash -S -s server-address -p port -u url
./genhash -h
./genhash -r
Commands:
Either long or short options are allowed.
./genhash --use-ssl         -S       Use SSL connection to remote server.
./genhash --server          -s       Use the specified remote server address.
./genhash --port            -p       Use the specified remote server port.
./genhash --url             -u       Use the specified remote server url.
./genhash --use-virtualhost -V       Use the specified virtualhost in GET query.
./genhash --verbose         -v       Use verbose mode output.
./genhash --help            -h       Display this short inlined help screen.
./genhash --release         -r       Display the release number

  工具产生结果如下:

[iyunv@localhost bin]# ./genhash -s  10.7.11.12 -p 80 -u http://10.7.11
.40/index.html
MD5SUM = b7bd8391367e4cf9e4e85263ce313ae8

  


  配置如下:

real_server 10.7.11.12 80 {
weight 1
TCP_CHECK {
connect_timeout 5
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
HTTP_GET {
url {
path /
digest b7bd8391367e4cf9e4e85263ce313ae8
status_code 200
}
#url {
#path /mrtg/
#digest 9b3a0c85a887a256d6939da88aabd8cd
#}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
  

TCP健康检查方式配置例子:

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 #健康检查的端口
}
}
  

SSL健康检查方式同HTTP,例子如下:

virtual_server 192.168.200.100 443 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.201.100 443 {
weight 1
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
  

SNMP方式例子:

real_server 172.16.1.12 25 {
weight 1
SMTP_CHECK {
connect_timeout 10
retry 2
delay_before_retry 5
helo_name &quot;foo.bar.com&quot;
host {
connect_ip 172.16.1.12
connect_port 25
bindto 172.16.1.2
}
host {
connect_ip  192.168.155.11
connect_port 25
bindto 192.168.155.2
}
host {
connect_ip  64.233.167.100
connect_port 587
}
}
}
  

MISC方式脚本带参数例子:

real_server 192.168.200.6 1358 {
weight 1
MISC_CHECK {
misc_path &quot;/usr/local/bin/script.sh arg1 arg2&quot;
}
}
  MISC方式脚本不带参数例子:

real_server 192.168.200.6 1358 {
weight 1
MISC_CHECK {
misc_path /usr/local/bin/script.sh
!          misc_dynamic
}
}
  





参考keepalived权威指南和keepalived中的例子

版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141264-1-1.html 上篇帖子: Vagrant体验之一nginx+keepalived高可用测试 下篇帖子: keepalived健康检查 HTTP_GET
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表