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.319 ]

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

Configurar um servidor FTP com o vsFTPd no Raspberry Pi

Interface de Rede Virtual no Debian

Bloqueio de usuários com o chroot

Storj - Armazenamento na Nuvem utilizando a tecnologia Blockchain

DebEX - Debian 10 com o Budgie Desktop 10.5 e Linux Kernel 5.7

Leitura recomendada

Qual distribuição Linux devo escolher?

Força-tarefa brasileira disponibiliza versão do TikiWiki em Português do Brasil

Apresentando e pondo a prova o Mono

Inkscape - Introdução (parte 1)

Instalando o navegador Opera no Arch Linux

  
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