Por padrão, o Squid registra todas as informações de acesso, incluindo 'sucessos' e 'falhas'. Estou interessado em registrar apenas 'falhas'. Em outras palavras, quero fazer algo como registrar apenas códigos de resultado Squid DENIED ou, alternativamente, não registrar transações HTTP bem-sucedidas. Independentemente de como eu defino 'sucesso' e 'falha', preciso ser capaz de definir mais especificamente que tipo de informação de acesso o Squid gravará no arquivo de log. Alguém sabe como fazer isto?
Você pode obter essa funcionalidade com ACLs , embora haja alguns truques para isso.
O principal truque é garantir que você não verifique acidentalmente as conexões binárias em busca de
http_status
códigos. O Squid nunca vê códigos de status para conexões binárias e lançará um avisocache.log
para conexão binária, ele vê se você estragar isso.Aqui está uma configuração de amostra que gravará todos os sucessos e redirecionamentos de http, bem como todas as conexões binárias que terminam de abrir um soquete (não temos visibilidade de sucesso/falha além disso) para
success.log
, e todos os códigos de falha de http e conexões binárias que falham abrir um soquete parafailure.log
.O problema com essa configuração é que ela desativa o arquivo de log padrão e não registrará nada que não corresponda a uma dessas duas ACLs. Agora, estou bastante confiante de que escrevi bem minhas ACLs e de que considerei todas as possibilidades, mas isso ainda me deixaria nervoso, então você pode querer adicionar outro arquivo de log apenas para capturar qualquer coisa que falte ambas as ACLs
Ou você pode apenas definir
success
e definir falha para!success