Evitando que o Apache registre solicitações HAProxy

1

Eu tenho duas VMs HAProxy e duas VMs do Apache (máquinas vagadoras) da seguinte forma.

192.168.50.11 HAPROXY VM1
192.168.50.12 HAPROXY VM2
192.168.50.21 APACHE VM1
192.168.50.22 APACHE VM2

O problema que estou tendo é que o arquivo Apache access.log está crescendo a cada segundo, porque os dois servidores HAProxy estão executando ping nos dois servidores Apache, mesmo quando não há solicitação de nenhum cliente. Eu preciso parar de registrar registros desnecessários, como mostrado abaixo. Eu tenho o serviço keepalived em execução em ambos os servidores HAProxy.

$sudo tail -f /var/log/apache2/access.log

192.168.50.11 - - [09/Jul/2016:12:46:49 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:51 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.12 - - [09/Jul/2016:12:46:51 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:51 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:53 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.12 - - [09/Jul/2016:12:46:53 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:53 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:55 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.12 - - [09/Jul/2016:12:46:55 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
192.168.50.11 - - [09/Jul/2016:12:46:55 +0000] "OPTIONS / HTTP/1.0" 200 180 "-" "-"
.......
.......

Estas não são solicitações reais de ninguém.

haproxy.cfg

global
    log /dev/log local0
    log 127.0.0.1 local1 notice
    user haproxy
    group haproxy
    maxconn 2000
    daemon

defaults
    log global
    mode http
    option httplog
    option dontlognull
    retries 3
    timeout connect 5000
    timeout client 50000
    timeout server 50000

frontend http-in
    bind 192.168.50.10:80
    default_backend webservers

backend webservers
    balance roundrobin
    stats enable
    stats auth admin:admin
    stats uri /haproxy?stats
    option httpchk
    option forwardfor
    option http-server-close
    server webserver1 192.168.50.21:80 check
    server webserver2 192.168.50.22:80 check
    
por BentCoder 09.07.2016 / 15:01

1 resposta

4

O truque é definir um sinalizador de ambiente para determinadas solicitações com o SetEnvIf e instrua o Apache a não registrar solicitações correspondentes:

SetEnvIf Request_URI \.gif do-not-log-this-request
SetEnvIf Remote_Addr "192\.168\.50\.11" do-not-log-this-request
SetEnvIf Request_Method OPTIONS do-not-log-this-request

CustomLog logs/access_log common env=!do-not-log-this-request 
    
por 09.07.2016 / 15:13