Estou tentando desativar o registro no arquivo de log de acesso Nginx de solicitações específicas de agentes de usuários http.
Basicamente, a partir do Amazon Health Check e do monitoramento externo (Pingdom). Como isso ocorre a cada poucos segundos, dificulta o teste para classificar os registros.
"GET / HTTP/1.1" 200 727 "-" "ELB-HealthChecker/1.0"
"GET /login HTTP/1.1" 200 7492 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)"
Consegui bloquear o registro de arquivos de imagem, mas não vi nada para solicitações recebidas:
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|svg)$ {
access_log off;
expires 30d;
}
Obrigado antecipadamente!
Então eu tentei a recomendação da @Gnarfoz, mas tive alguns efeitos colaterais interessantes. Enquanto essas duas "verificações de saúde" não foram registradas, Pingdom começou a reconhecer o servidor como DOWN mesmo quando estava em funcionamento. Isso é interessante, pois o Balanceador de Carga não o fez, o que teria descartado o nó que estávamos testando se tivesse.
Eu coloquei a seção MAP no bloco HTML abaixo dos meus logs:
access_log /www/access.log;
error_log /www/error.log;
map $http_user_agent $ignore_ua {
default 0;
"~Pingdom.*" 1;
"ELB-HealthChecker/1.0" 1;
}
E eu coloquei a instrução IF no meu bloco de servidor, com a localização padrão:
location / {
try_files $uri $uri/ /index.php?$args;
if ($ignore_ua) {
access_log off;
}
}
Quando fiz isso, Pingdom começou a gerar erros 404 no arquivo de registro de erros:
2012/08/03 17:10:33 [error] 6250#0: *164 open() "/www/public_html/login" failed (2: No such file or directory), client: 10.xx.xx.xx, server: xxx.com, request: "GET /login HTTP/1.1", host: "xxx.com"
2012/08/03 17:11:32 [error] 6250#0: *240 open() "/www/public_html/login" failed (2: No such file or directory), client: 10.xx.xx.xx, server: xxx.com, request: "GET /login HTTP/1.1", host: "xxx.com"