可能原因以及解决方案
本文介绍了在负载均衡健康检查的情况下,如何减少或者禁止健康检查请求产生日志,各种方法的风险点已经列出,用户可以根据自己的实际情况做出相应的选择。
可能原因以及解决方案
通过调整健康检查间隔时间,减少后端ECS上对应产生的日志量。
方案风险说明
如果把健康检查间隔时间设置很大,那么一旦后端ECS出现故障的时候,负载均衡发现故障ECS的时间就越长。
操作步骤
1、在负载均衡
实例管理 找到相应的负载均衡实例,点击
管理
2、选择监听配置,找到对应的监听点击
管理
3、弹出配置界面后,跳过
基本配置 ,直接点
下一步 进入健康检查配置。
4、在监控检查配置里面调整
健康检查间隔 ,健康检查间隔范围是1-50秒,设置的越大,健康检查频率就越低,那么后端ECS产生的日志就越少。
用户使用 7 层 HTTP/HTTPS 的负载均衡模式,该情况下的健康检查是通过 HTTP Head请求实现,后端 ECS 服务器的应用日志会记录相关的健康检查请求的信息,这可能会导致大量的日志信息。通过关闭健康检查,可以规避该问题。
方案风险说明
负载均衡不检查后端ECS,一旦后端ECS出现故障,就无法做到访问自动切换到正常ECS。
操作步骤
在
健康检查配置 里有关闭健康检查的按钮,点一下即可:
这样负载均衡就不会对后端ECS进行健康检查,也就不会产生健康检查日志。
由于 4 层 TCP 模式的健康检查仅仅使用TCP 三次握手实现,不会导致应用产生日志。如果客户的业务可以更改为 4 层 TCP 模式,采用该方法可以避免大量应用日志的产生。
方案风险说明
将HTTP/HTTPS模式的负载均衡更改为4层TCP模式。该方案只检查监听端口状态,不检查HTTP状态,无法实时获知HTTP应用是否出现问题。
操作步骤
1、 在“
健康检查配置”里把健康检查方式调整为TCP的方式即可:
换成TCP健康检查方式后,只通过TCP三次握手行为检查业务端口是否正常监听,不会产生任何实际应用业务层流量,所以后端ECS不会产生业务上的日志。
在业务站点之外,独立配置健康检查站点。例如业务站点为abc.123.com, 而健康检查站点使用test.123.com。
方案风险说明
如果健康检查的站点正常,但是业务站点异常的话,健康检查就无法检测到异常。
操作步骤
1、 在
健康检查配置 中的
域名 配置成单独做健康检查的域名,这里使用test.123.com域名作为测试。
2、
检查路径 配置为test.html(这个可以根据自己的实际情况填写,只要能访问到即可):
3、 然后在后端ECS上增加一个test.123.com,这里以nginx作为例子,增加一个test.123.com的虚拟目录,并且关闭日志:
最后重启nginx即可。
其他的如apache或者IIS等思路是一样的,单独建立一个健康检查的站点,关闭该站点的日志记录,这样后端ECS就不会产生健康检查的日志。
可以通过调整后端 Web 应用服务的配置文件,仅仅针对健康检查的 URI 关闭日志,从而避免大量日志的产生。
方案风险说明
请务必确认健康检查的URI,例如test.html,必须是一个无意义或者不需要记录日志的页面,否则配置后,非健康检查的请求访问test.html也不会产生日志。
操作步骤
1、 在
健康检查配置 中的
域名 配置成您单独做健康检查的域名,此处使用test.123.com域名作为测试。
2、
检查路径 配置为test.html(这个可以根据自己的实际情况填写,只要能访问到即可):
3、 在web服务器的配置文件上,针对test.html关闭日志,这里以Nginx为例:
- location ~ /test.html{ access_log off; #关闭日志}