HaPorxy--健康监测
web服务器状态监测: 1.基于四层的传输端口做状态监测(check关键字),此为默认方式 2.基于指定 URI 做状态监测 3.基于指定 URI 的request请求头部内容做状态监测,建议使用此方式 注意事项: 1. 状态监测关键字不写(check),就不会生效。状态页中显示 not checked。 2. check关键字为四层的传输端口做状态监测,状态页中显示 L4OK 3. 用option httpchk方式做状态监测,也要check关键配合使用,状态页中显示 L7OK。 4. 配置文件写法用listen方式:option httpchk位置没要求,frontend+backend方式,option httpchk放在backend位置. #启用七层健康性检测,对tcp 和 http 模式都支持,默认为:OPTIONS / HTTP/1.0 option httpchk <uri> option httpchk <method> <uri> option httpchk <method> <uri> <version> 配置示例 listen web_host bind 10.0.0.7:80 mode http balance roundrobin #option httpchk GET /monitor/check.html #默认HTTP/1.0 #option httpchk GET /monitor/check.html HTTP/1.0 #option httpchk GET /monitor/check.html HTTP/1.1 #注意:HTTP/1.1强制要求必须有Host字段 option httpchk HEAD /monitor/check.html HTTP/1.1\r\nHost:\ 10.0.0.7 #使用HEAD减少网络流量,报文内容少。 cookie SERVER-COOKIE insert indirect nocache server web1 10.0.0.17:80 cookie web1 check inter 3000 fall 3 rise 5 server web2 10.0.0.27:80 cookie web2 check inter 3000 fall 3 rise 5 #在所有后端服务建立检测页面 [root@backend ~]#mkdir /var/www/html/monitor/ [root@backend ~]#echo monitor > /var/www/html/monitor/check.html #期望以上检查得到的响应码 此指令表示基于http协议来做健康状况检查,只有返回状态码为2xx或3xx的才认为是健康的,其余所有状态码都认为不健康。不设置该选项时,默认采用tcp做健康检查,只要能建立tcp就表示健康。 http-check expect [!] <match> <pattern> #示例: http-check expect status 200 http-check expect ! status ^5