Como dizer ao Apache para não registrar certas solicitações em seu log de acesso

2

Estou tentando definir uma variável SetEnvIf no apache2 e excluí-la em CustomLog para impedir o preenchimento de meus logs. Quero corresponder um regex e também IPs específicos.

Eu tentei seguir as instruções listadas no site abaixo, mas parece que não está funcionando. link

Noob alert: O site não especifica onde colocar a declaração SetEnvIf, então eu os coloco no apache2.conf e também / sites-available / default.

Aqui está um exemplo do que eu quero filtrar em access.log:

    x.x.x.x - - [06/Sep/2014:15:02:35 -0500] "HEAD /dir/dir2/file1/file2.gif HTTP/1.1" 200 224 "-" "-"

    127.0.0.1 - - [06/Sep/2014:15:02:30 -0500] "GET /foo1/foo2.php? HTTP/1.0" 200 28956 "-" "Wget/1.12 (linux-gnu)"

Então em apache2.conf e / sites-available / default , eu coloco isso:

    SetEnvIf Request_URI "HEAD /dir/" dontlog
    SetEnvIf Request_Addr "127\.0\.0\.1" dontlog
    SetEnvIf Request_Addr "::1" dontlog

Adicionou env =! dontlog à entrada existente / default / CustomLog :

    CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog

Eu então executei o apachectl gracioso .

Nada está mudando.

    
por Corepuncher 06.09.2014 / 22:15

1 resposta

1

Os filtros só precisam ser adicionados a uma configuração. Tente remover o que você adicionou ao apache2.conf e mantenha tudo em / sites-available / default.

Por exemplo, se você quiser filtrar os bots de pesquisa dos seus registros, o final do seu arquivo de configuração será:

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    # Filter all search bots from the access log.
    SetEnvIfNoCase User-Agent googlebot dontlog
    SetEnvIfNoCase User-Agent bingbot dontlog
    SetEnvIfNoCase User-Agent baiduspider dontlog

    # Custom Log location + options
    CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog
</VirtualHost>

Além disso, quando você faz um apachectl gracioso, pode demorar um pouco. Se você estiver apenas testando as alterações, exclua os arquivos de log, execute apachectl com estilo e quando os arquivos de log forem recriados, você saberá que eles são preenchidos usando as novas opções de filtro especificadas.

    
por 25.09.2014 / 21:00