De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


GoAccess - analisador de logs de acesso em tempo real

Colaboração: Cesar Brod

Data de Publicação: 22 de maio de 2014

Tudo bem, você já usa o Google Analytics ou outras ferramentas para monitorar as visitas em suas páginas web. Mas se você é daqueles que reverte à tela preta quando precisa se aprofundar em suas análises ou porque, assim como eu, gosta mesmo de um terminal e uma linha de comandos, vai gostar do GoAccess, um analisador em tempo real de seus logs do servidor web.

Testei o programa em um de meus servidores web rodando o Debian Wheezy usando os seguintes passos para instalá-lo.

$ sudo apt-get install build-essential libncursesw5-dev libglib2.0-dev libgeoip-dev libtokyocabinet-dev
$ wget http://tar.goaccess.prosoftcorp.com/goaccess-0.8.tar.gz
$ tar -xzvf goaccess-0.8.tar.gz
$ cd goaccess-0.8/
$ ./configure --enable-geoip --enable-utf8
$ make
$ sudo make install

Nota:Se o seu servidor estiver em um ambiente de produção, acessível através da web, é recomendável a remoção de pacotes que permitam a compilação de programas. Assim, ao final do processo, remova o pacote build-essential.

 sudo apt-get remove build-essential

Controle a sua ansiedade e, antes de executar o programa, dê uma olhada em seu manual:

 man goaccess

Para os apressadinhos, rode o programa e observe os resultados na tela. Pode usar o mouse para rolar a tela para baixo e para cima:

 goaccess -f /var/log/apache2/casacinepoa_access.log -a

Usei, como exemplo, o log de acesso de um de meus clientes, a Casa de Cinema de Porto Alegre. Mude a linha de comando acima para corresponder ao log de acesso de um de seus sites.

No primeiro uso, como não modificamos o arquivo de configuração do GoAccess, ele convenientemente abrirá uma janela de configuração para que escolhamos o formato do log e de data. Se você não usa o apache, poderá testar as opções fornecidas nessa janela interativa. No meu caso, uso o CLF (Common Log Format). Você pode ver alguns screenshots na página do projeto.

Enquanto o GoAccess estiver rodando, ele está continuamente lendo os logs de acesso e atualizando a visualização. Isto é muito útil quando, por exemplo, você lança uma campanha de marketing e quer acompanhar, imediatamente, os resultados de visitas em seu site.

Depois que você descobriu o formato do log, você pode evitar ter que informá-lo toda a vez que executa o programa editando o seu arquivo de configuração que está em /usr/local/etc/goaccess.conf. Em especial, remova a indicação de comentário (#) das seguintes linhas, logo no início do arquivo, refletindo o que está abaixo:

  #Any Apache log date format
  date-format %d/%b/%Y # modified by brod on 05212014
  #
  #W3C (IIS) & AWS | Amazon CloudFront (Download Distribution)
  #date-format %Y-%m-%d
  
  # The log_format variable followed by a space or \t for
  # tab-delimited, specifies the log format string.
  #
  #Common Log Format (CLF)
  log-format %h %^[%d:%^] "%r" %s %b # modified by brod on 05212014
  #

Caso você queira voltar à tela de configuração, basta usar a flag -c a qualquer momento:

 goaccess -f /var/log/apache2/casacinepoa_access.log -a -c

Você pode também acessar os dados do GoAccess a partir da web. Para isso, basta gerar um relatório em html e colocá-lo em algum lugar que possa ser visualizado em uma url (faça as adequações necessárias nos caminhos e nomes de arquivos no exemplo abaixo):

 goaccess -f /var/log/apache2/casacinepoa_access.log -a > /var/www/casacinepoa/goaccess.html

Este é um arquivo estático, ou seja, as informações que você verá na web não serão atualizadas até que o GoAccess seja novamente executado. Mas você pode colocar esse comando em sua crontab e executá-lo a cada dez minutos, por exemplo.

Usamos o GoAccess aqui na Sysvale para monitorar, em tempo real, acessos gerados por campanhas de marketing com o Google Adwords e outras ferramentas.

Página do projeto


Cesar Brod ministra cursos in-house adequados à necessidade de sua empresa, além de atuar como coach de equipes ágeis. Visite nosso portal para saber mais ou entre em contato diretamente com o autor para mais informações.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Cesar Brod