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

  

 

posted @ 2022-07-25 17:37  yuanbangchen  阅读(215)  评论(0编辑  收藏  举报