
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 de código aberto e visualizador interativo que é 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 fornece estatísticas HTTP rápidas e acionáveis e relatórios visuais de servidor em tempo real. O GoAccess analisa os logs do seu servidor web em tempo real e apresenta os dados diretamente no terminal ou por meio de um painel HTML ao vivo, facilitando o monitoramento do 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. Os recursos 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 o 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.
Rastrear o Tempo de Resposta da Aplicação
Rastreia o tempo gasto para atender a requisição. Extremamente útil se você quiser
rastrear páginas que estão deixando seu site lento.
Autenticação WebSocket:
O GoAccess oferece autenticação WebSocket aprimorada, com suporte à verificação JWT local e
externa, com recursos seguros de renovação de token e integração perfeita
com sistemas de autenticação externos. Tokens verificados são rastreados
até sua claim exp e a conexão é encerrada quando eles expiram.
Quase Todos os Formatos de Log Web
O GoAccess permite qualquer string de formato de log personalizada. As opções predefinidas incluem,
Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, etc.
Processamento Incremental de Logs
Precisa de persistência de dados? O GoAccess tem a capacidade de processar logs incrementalmente
por meio 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 Web Socket — http://gwsocket.io/.
Visitantes
Determina a quantidade de hits, visitantes, largura de banda e métricas para as requisições
mais lentas por hora ou data.
Métricas por Virtual Host
Tem vários Virtual Hosts (Server Blocks)? Ele possui um painel que
exibe qual virtual host está consumindo mais recursos do servidor web.
Rastreamento de Campanhas UTM
Detalha o tráfego de campanhas por meio, origem, campanha, conteúdo e termo,
tudo extraído da URL requisitada.
Classificação de Bots e Crawlers
Mantém crawlers de IA e tráfego do Fediverso (ActivityPub) em suas próprias
categorias, separados dos crawlers tradicionais de mecanismos de busca.
Configurações TLS
Relata o protocolo negociado, a suíte de cifras e o grupo de troca de chaves quando
%K, %k e %g fazem parte do formato de log.
ASN (mapeamento de Autonomous System Number)
Ótimo para detectar padrões de tráfego malicioso e bloqueá-los adequadamente.
Redes inteiras também podem ser descartadas conforme são analisadas com --exclude-asn.
Esquema de Cores Personalizável
Adapte o GoAccess ao seu próprio gosto/esquema de cores. Seja por meio do
terminal, ou simplesmente aplicando a folha de estilos na saída HTML.
Suporte para Grandes Conjuntos de Dados
O GoAccess possui a capacidade de analisar grandes logs devido às suas tabelas hash
otimizadas em memória. Ele tem um uso de memória muito bom e um desempenho bastante bom. Esse armazenamento também tem suporte para persistência em disco.
Suporte a Docker
Capacidade de compilar a imagem Docker do GoAccess a partir do upstream. Você ainda pode configurá-la totalmente, usando mapeamento de Volume e editando goaccess.conf. Veja a seção Docker abaixo.
Também há documentação sobre como usar docker-compose.
O GoAccess aceita qualquer string de formato de log personalizada. As opções predefinidas incluem, mas não se limitam a:
O relatório HTML usa os dados de mapa do Natural Earth,
que estão em domínio público.
O mapa de países incluído contém um ajuste local para mostrar a Crimeia como parte
da Ucrânia, em conformidade com a Resolução 68/262 da Assembleia Geral da ONU.
Preserve este ajuste ao atualizar resources/countries-110m.json.
A atribuição de países para o tráfego vem do banco de dados GeoIP configurado;
alterar os contornos do mapa não altera os totais do relatório.
O GoAccess foi projetado para ser um analisador de logs rápido, baseado em terminal. Sua ideia central é analisar e visualizar rapidamente estatísticas de servidores web em tempo real sem precisar usar o navegador (ótimo se você quer fazer uma análise rápida do seu log de acesso via SSH, ou se você simplesmente adora 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 a partir dos seus logs.
Embora a saída no terminal seja a padrão, ele tem a capacidade de
gerar um relatório completo, autocontido e em tempo real em HTML,
bem como um relatório 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.12.tar.gz
$ tar -xzvf goaccess-1.12.tar.gz
$ cd goaccess-1.12/
$ ./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