
GoAccess é um analisador de logs web em tempo real e visualizador interativo que roda em um terminal em sistemas *nix ou através do seu navegador.
GoAccess é um analisador de logs web em tempo real, interativo e de código aberto, executado em um terminal em sistemas *nix ou diretamente no seu navegador. Projetado com administradores de sistemas, engenheiros DevOps e profissionais de segurança em mente, ele entrega estatísticas HTTP rápidas e acionáveis e relatórios visuais de servidor em tempo real. O GoAccess analisa seus logs de servidor web em tempo real e apresenta os dados diretamente no terminal ou através de um painel HTML ao vivo, facilitando o monitoramento de tráfego, a detecção de anomalias e a solução de problemas instantaneamente.
Mais informações em: https://goaccess.io.
O GoAccess analisa o arquivo de log web especificado e exibe os dados no terminal X. As funcionalidades incluem:
Completamente em Tempo Real
Todos os painéis e métricas são atualizados a cada 200 ms na saída do terminal e a cada segundo na saída HTML.
Configuração Mínima Necessária
Você pode simplesmente executá-lo contra seu arquivo de log de acesso, escolher o formato de log e deixar o GoAccess analisar o log de acesso e mostrar as estatísticas.
Rastreamento do Tempo de Resposta da Aplicação
Rastreia o tempo gasto para atender a requisição. Extremamente útil se você deseja rastrear páginas que estão desacelerando seu site.
Autenticação WebSocket:
O GoAccess oferece autenticação WebSocket aprimorada, suportando verificação JWT local e externa, com capacidade segura de renovação de token e integração perfeita com sistemas de autenticação externa.
Quase Todos os Formatos de Log Web
O GoAccess permite qualquer string de formato de log personalizado. Opções predefinidas incluem Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, etc.
Processamento Incremental de Log
Precisa de persistência de dados? O GoAccess tem a capacidade de processar logs incrementalmente através das opções de persistência em disco.
Apenas uma dependência
O GoAccess é escrito em C. Para executá-lo, você só precisa do ncurses como dependência. É isso. Ele ainda possui seu próprio servidor WebSocket — http://gwsocket.io/.
Visitantes
Determine a quantidade de hits, visitantes, largura de banda e métricas para as requisições mais lentas por hora ou data.
Métricas por Host Virtual
Tem vários Hosts Virtuais (Blocos de Servidor)? Possui um painel que exibe qual host virtual está consumindo mais recursos do servidor web.
ASN (Mapeamento de Número de Sistema Autônomo)
Ótimo para detectar padrões de tráfego malicioso e bloqueá-los adequadamente.
Esquema de Cores Personalizável
Adapte o GoAccess ao seu gosto/esquema de cores. Seja através do terminal ou simplesmente aplicando a folha de estilo na saída HTML.
Suporte para Grandes Conjuntos de Dados
O GoAccess possui a capacidade de analisar logs grandes devido às suas tabelas hash otimizadas em memória. Tem um uso de memória muito bom e um desempenho bastante bom. Esse armazenamento também oferece suporte para persistência em disco.
Suporte Docker
Capacidade de construir a imagem Docker do GoAccess a partir do upstream. Você ainda pode configurá-lo totalmente usando mapeamento de volume e editando goaccess.conf. Veja a seção Docker abaixo.
Há também documentação sobre como usar o docker-compose.
O GoAccess permite qualquer string de formato de log personalizado. Opções predefinidas incluem, mas não se limitam a:
O GoAccess foi projetado para ser um analisador de logs rápido, baseado em terminal. Sua ideia central é analisar e visualizar rapidamente as estatísticas do servidor web em tempo real sem precisar usar o navegador (ótimo se você deseja fazer uma análise rápida do seu log de acesso via SSH, ou se simplesmente ama trabalhar no terminal).
Ele também serve como uma ferramenta prática para monitoramento de segurança, facilitando a identificação de atividades suspeitas, padrões de tráfego incomuns, tentativas de força bruta, scanners, bots e requisições anômalas diretamente dos seus logs.
Embora a saída do terminal seja a saída padrão, ele tem a capacidade de gerar um relatório HTML completo, independente e em tempo real, bem como relatórios JSON e CSV.
Você pode vê-lo mais como uma ferramenta de comando de monitoramento do que qualquer outra coisa.
O GoAccess pode ser compilado e usado em sistemas *nix.
Baixe, extraia e compile o GoAccess com:
$ wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
$ tar -xzvf goaccess-1.10.2.tar.gz
$ cd goaccess-1.10.2/
$ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
$ make
# make install
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fiv
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install
A maneira mais fácil de instalar o GoAccess em GNU+Linux é usando o gerenciador de pacotes preferido da sua distribuição GNU+Linux. Observe que nem todas as distribuições terão a versão mais recente do GoAccess disponível.
# apt-get install goaccess
Nota: É provável que isso instale uma versão desatualizada do GoAccess. Para garantir que você está executando a versão estável mais recente do GoAccess, veja a opção alternativa abaixo.
$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
$ echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
$ sudo apt-get update
$ sudo apt-get install goaccess
Nota:
.deb no repositório oficial também estão disponíveis via HTTPS. Talvez seja necessário instalar o apt-transport-https.# yum install goaccess
# pacman -S goaccess
# emerge net-analyzer/goaccess
# brew install goaccess
# cd /usr/ports/sysutils/goaccess/ && make install clean
# pkg install sysutils/goaccess