关于http健康状态检测遗留下的大量日志问题

相信小伙伴们在做keepalived、haproxy或者pacemaker的时候,给httpd做健康状态检测一定会给后端服务器带来大量的访问日志。访问日志对我们运维来说至关重要(后期我们可以通过日志来分析用户的各种行为),但是健康状态检测的日志我们可以不用记录日志。毕竟每两三秒记录一次,而且后期统计时对我们也没有什么用。

本文将具体说明如何在后端主机nginx 、 apache 服务器上配置不记录健康状态检测的访问日志。

nginx

一般基于7层的健康状态检测,都是通过访问后端主机的特定的url, 特性目录下的资源,来判断后端主机是否出现故障,那么我们只需要在nginx的server段上加一个location。访问我们特有的健康状态检测的资源,不予以记录日志即可,其他的照常记录日志。

1
2
3
location = /test.html {
access_log off;
}

apache

1.指定记录法

1
2
SetEnvIfNoCase Request_URI "(\.htm|\/|\.html|\.php)$" htm
CustomLog logs/9enjoy.com-access_log combined env=htm

2.排除法

1
2
3
4
<FilesMatch "\.html">
SetEnv IMAGE 1
</FilesMatch>
CustomLog "logs/access_log" combined env=!IMAGE

火柴 wechat
扫描上方二维码关注我的博客!
0%