全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
负载均衡

健康检查导致大量日志的处理

更新时间:2017-08-07 08:55:36   分享:   

可能原因以及解决方案


本文介绍了在负载均衡健康检查的情况下,如何减少或者禁止健康检查请求产生日志,各种方法的风险点已经列出,用户可以根据自己的实际情况做出相应的选择。

可能原因以及解决方案

通过调整健康检查间隔时间,减少后端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模式的负载均衡更改为4TCP模式。该方案只检查监听端口状态,不检查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为例:

  1. location ~ /test.html{ access_log off; #关闭日志}

 

本文导读目录
本文导读目录
以上内容是否对您有帮助?