+135 410 16684Mon. - Fri. 10:00-22:00

阿里云SLB健康检查的日志特殊处理

阿里云SLB健康检查的日志特殊处理

阿里云SLB健康检查的日志特殊处理

SLB健康检查的频率比较高,每秒都有好几个。日积月累就带来了大量web service的日志。一来浪费存储空间,二来消耗磁盘性能。除了官方建议的降低健康检查频率外,或许有一些变通的思维

1、如果对HTTP或者TCP转发协议不挑剔,换成TCP转发并不开启http健康检查就OK了。

优势:方便,控制台操作下就好了。

劣势:只是这样也失去了应用层异常的发现能力。

2、为健康检查单独建立一个没有开启日志的virtualhost,通过不同的端口或者hostname,让健康检查请求不会请求到业务host。

优势:web service级别的异常依然能够被健康检查发现。

劣势:virtualhost级别的异常,SLB健康检查就无法发现了。

3、利用nginx等web服务器的规则,为健康检查的文件名(URI)做单独的日志配置,以Nginx为例:

如下配置,健康检查配置一个业务上无意义的check.html。针对这个文件做的请求,不记录日志。

location ~ /check.html
        {
              access_log off; #关闭日志
              #access_log  /var/log/nginx/access/health_check.log main;或者健康检查的日志配置到单独的文件
        }

优势:健康检查日志可以随意配置,且不会损失健康检查的特性。