• keepalived健康检查方式


    keepalived对后端realserver的健康检查方式主要有以下几种:

    • TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那么这个后端将从服务器池中移除

      TCP_CHECK配置:

    TCP_CHECK {
    connect_timeout 5 #连接超时时间
    nb_get_retry 3#重连次数
    delay_before_retry 3 #重连间隔时间
    connect_port 80 #健康检查的端口
    } # TCP_CHECK
    • HTTP_GET:工作在第5层,向指定的URL执行http请求,将得到的结果用md5加密并与指定的md5值比较看是否匹配,不匹配则从服务器池中移除;此外还可以指定http返回码来判断检测是否成功。HTTP_GET可以指定多个URL用于检测,这个一台服务器有多个虚拟主机的情况下比较好用。
    • SSL_GET:跟上面的HTTP_GET相似,不同的只是用SSL连接

      HTTP_GET和SSL_GET配置:

     1 HTTP_GET | SSL_GET
     2 {
     3 url {
     4 path /# HTTP/SSL 检查的url 可以是多个
     5 digest <STRING> # HTTP/SSL 检查后的摘要信息 用工具genhash生成
     6 status_code 200# HTTP/SSL 检查返回的状态码
     7 }
     8 connect_port 80 # 连接端口
     9 bindto <IPADD>
    10 connect_timeout 3 # 连接超时时间
    11 nb_get_retry 3 # 重连次数
    12 delay_before_retry 2 #连接间隔时间
    13 } 
    14 # END OF HTTP_GET|SSL_GET
    • MISC_CHECK:用脚本来检测,脚本如果带有参数,需将脚本和参数放入双引号内。脚本的返回值需为: 

                0)  检测成功

                1)  检测失败,将从服务器池中移除

                2-255)检测成功;如果有设置misc_dynamic,权重自动调整为 退出码-2,如退出码为200,权重自动调整为198=200-2。

      

    1 MISC_CHECK { 
    2 
    3             misc_path "/opt/mytools/check_web.sh web1" #脚本名,需全路径
    4 
    5             misc_timeout 30             #脚本执行的超时时间 
    6 
    7             misc_dynamic                  #动态调整服务器权重 
    8 
    9       }
    • SMTP_CHECK:用来检测邮件服务的smtp
     1 SMTP_CHECK {
     2 host {
     3 connect_ip <IP ADDRESS>
     4 connect_port <PORT> # 默认检查端口25
     5 }
     6 connect_timeout <INTEGER>
     7 retry <INTEGER>
     8 delay_before_retry <INTEGER>
     9 helo_name <STRING>|<QUOTED-STRING> # "请求命令参数,可选
    10 } #SMTP_CHECK
  • 相关阅读:
    Linux驱动之Framebuffer子系统基础知识
    C/C++语言常见面试题汇总
    转载-Linux驱动面试题汇总
    nginx服务在html中嵌入php代码无法显示问题
    关于strsep函数以及联想
    system替代函数
    system问题总结记录
    C语言-判断文件是否存在
    vue常见表单信息收集
    sublime 设置格式化快捷键
  • 原文地址:https://www.cnblogs.com/liang-wei/p/6197411.html
Copyright © 2020-2023  润新知