GoAccess - Analisador de log em tempo real do Apache

O GoAccess é um aplicativo de análise da web de código aberto para sistemas operacionais Unix/Linux. Possui uma interface para a web, além de uma baseada em texto. Ele pode fornecer análises em tempo real, monitorando continuamente os logs dos servidores Apache e do Nginx, incluindo os diversos hosts virtuais configurados. Neste material irei explicar como instalar e como utilizar essa ferramenta.

[ Hits: 5.326 ]

Por: Diego Mendes Rodrigues em 04/09/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


GoAccess - Analisador de log em tempo real do Apache



O GoAccess é um aplicativo de análise da web de código aberto para sistemas operacionais Unix/Linux. Possui uma interface de usuário para a web, além da baseada em texto. Ele pode fornecer análises em tempo real, monitorando continuamente os logs do servidor web Apache e do Nginx, incluindo os diversos hosts virtuais configurados.

Recursos do GoAccess

O GoAccess possui diversos recursos, como:
  • Visão estatística, consumo de banda, etc
  • Principais visitantes, tempo de navegação dos visitantes, sites de origem, erros 404
  • Hosts, DNS reverso, localização dos IPs
  • Sistemas operacionais, navegadores, robôs de busca
  • Códigos de status HTTP
  • Geo localização - Continente, Pais, Cidade
  • Métricas por hosts virtuais
  • Suporta HTTP/2 e IPV6
  • Habilidade de gerar JSON e CSV
  • Processamento de log incremental, com suporte a grandes bases de informações e persistência de dados
  • Diversos esquemas de cores

Instalar o GoAccess

A forma preferencial de instalação do GoAccess é através do gerenciador de pacotes de sua distribuição, no caso do Debian/Ubuntu devemos utilizar o comando apt.

No repositório oficial, normalmente não está disponível a versão mais atual do software, então o ideal é adicionarmos o repositório oficial do GoAccess, e depois, realizar a instalação.

echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
sudo apt-get update
sudo apt-get install goaccess

Observações:
  • Caso você tenha erros com as chaves, tenha certeza que executou o segundo comando, dentre os listados anteriormente, de forma correta.
  • Os pacotes .deb estão disponíveis através de HTTPS. Portanto, você precisará instalar o pacote apt-transport-https.
  • O key fingerprint é: C03B 4888 7D5E 56B0 4671 5D32 97BD 1A01 3344 9C3D

Pacotes necessários

O GoAccess possui poucos pré-requisitos, pois foi escrito na Linguagem C e requer apenas o ncurses. Na tabela abaixo apresento uma tabela cm dependências opcionais, para as principais distribuições.

Instalar através do código fonte (GitHub - Desenvolvimento)

Caso você queira executar através do código fonte, será necessário a instalação de ferramentas de construção e compilação, como: gcc, autoconf, gettext, autopoint, base-devel, build-essential, "Development Tools".

Seguem os comandos necessário para instalar o GoAccess utilizando o código fonte:

git clone https://github.com/allinurl/goaccess.git
cd goaccess
autoreconf -fi
./configure --enable-geoip --enable-utf8
make
# make install

Utilizar o GoAccess

Você já pode executar o GoAccess nos arquivos de log do seu servidor web! Na sequência, apresento os principais cenários de utilização dessa ferramenta.

Saída no Terminal

O seguinte comando pergunta pela configuração do log utilizando os formatos pré-definidos, depois, exibe as estatísticas em tempo real no terminal.

# goaccess /var/log/apache2/access.log -c

Gerar o HTML estático

E exemplo abaixo processa o log, gerando as estatísticas em um arquivo HTML estático, com as informações até o momento da execução do comando.

# goaccess /var/log/apache2/access.log -o /var/www/html/report.html --log-format=COMBINED

Gerar o HTML com monitoramento em tempo real

Podemos também gerar arquivos HTML com o monitoramento em tempo real, utilizando a seguinte sintaxe do comando:

# goaccess /var/log/apache2/access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html

Um exemplo de monitoramento em tempo real está no site do GoAccess:
Outras informações, você pode encontrar no site oficial do projeto:

Conclusões

Espero que as informações apresentadas nesse material te ajudem a monitorar seu servidor web de forma mais eficiente!

Você usa esse tipo de monitoramento em seu servidor web? Ou utiliza outra configuração/ferramenta?

   

Páginas do artigo
   1. GoAccess - Analisador de log em tempo real do Apache
Outros artigos deste autor

Download de Arquivos com Verificação do Hash SHA 256

Como forçar alteração de senha de usuário no próximo login no Linux

Distribuições Linux Para Computadores Antigos

Instalar o Go (Golang) no Debian e Ubuntu

Varredura de PING Utilizando o Python

Leitura recomendada

Phoronix Test Suite - Um framework para benchmark

Vyatta, o concorrente livre dos roteadores Cisco

Visualizando Área de Trabalho Remota

Vala: Vale a pena aprender uma nova linguagem de programação?

OpenVPN no Linux CentOS 5

  
Comentários
[1] Comentário enviado por maurixnovatrento em 04/09/2020 - 14:15h


Muito legal.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por leandropscardua em 17/11/2021 - 08:43h


Interessante! Gerar um relatório em html facilita a vida da galera!

[3] Comentário enviado por Minions em 07/04/2023 - 23:11h




Em algumas distros o arquivo é outro:

/var/log/httpd/access_log


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts