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

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

Port Scanner com Python

Bodhi Linux 6.0

Principais novidades do Linux Mint 20 Ulyana

Gerar senhas seguras com Python

Instalar o Microsoft SQL Server no Debian e no Ubuntu

Leitura recomendada

Instalando pacotes .tar.gz e .tar.bz2

Como o Google Earth pode induzir a reinstalação de uma distro Linux

Conhecendo o POV-Ray

DNS BIND para integração em domínios AD (com Windows Active Directory ou Samba)

SparkleShare - Uma alternativa livre do Dropbox

  
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