terça-feira, 17 de janeiro de 2012

Erro ao gerar relatórios no SARG

Saudações!!

Após vários meses (anos?!?), sem realizar atualizações no blog, estou de volta.

Aproveitando esse retorno, iremos mostrar como resolver de vez o erro na geração de relatórios de acesso com o SARG.

O erro é algo parecido com isso: "com algumas variações, mas no final o efeito é o mesmo."
---------------------------------------------------------------------------------------------------------
SARG: getword loop detected.
SARG: searching for 'x20'
SARG: Maybe you have a broken record or garbage in your access.log file.
---------------------------------------------------------------------------------------------------------

Me deparei com esse erro e em todos os fóruns em que encontrei algo sobre o assunto, a solução apresentada era, reinstalar o SARG, Instalar uma versão mais antiga do SARG ou detonar o arquivo access.log.

Adianto que nenhuma dessas alternativas é a correta, porque o problema não é no SARG e sim no arquivo access.log, porém não vai adiantar apenas apagar o arquivo, porque ele será criado novamente com o mesmo erro, até que você faça a correção.

A alteração deve ser feita diretamente no arquivos de configuração do Squid (/etc/squid/squid.conf) ou do Dansguardian (/etc/dansguardian/dansguardian.conf), alterando a seguinte linha:

Antes:
###
logfileformat = 1

Depois:
###
logfileformat = 3

O formato 3 é o mesmo utilizado por padrão pelo Squid.

OBS: Deve-se parar o serviço do Squid ou Dansguardian, antes de excluir ou renomear o access.log, voltando a iniciar o serviço novamente logo depois.

O ideal seria que ao instalar o Squid/Dansguardian, você já utilize o formato correto de log, para não perder algumas semanas de informações preciosas.

Agradeço a solução ao meu amigo Fausto de Alencar, que é uma espécie de Dr House, nessas situações.

Bem, como viram a solução é simples, mas resolve mesmo.

Obrigado.