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?