Análise de logs
Um log é um diário do sistema, uma linha por evento, que você filtra e conta.
Quase todo programa que roda num servidor escreve um log: um arquivo de texto com uma linha por evento (um login, um acesso a uma página, uma conexão). Investigar um incidente é, na maior parte do tempo, ler esses registros e responder perguntas simples: quem, de onde, quando, quantas vezes.
Você raramente lê o log inteiro. O trabalho é filtrar (ficar só com as linhas que interessam) e contar (ver o que mais se repete). Quatro comandos de terminal resolvem a maioria dos casos:
grep palavra arquivo: mostra só as linhas que contêmpalavra.awk '{print $5}' arquivo: imprime a quinta coluna de cada linha.sort: ordena as linhas.uniq -c: junta linhas iguais e conta quantas vezes cada uma aparece.
O combinado mais útil é grep ... | awk ... | sort | uniq -c | sort -rn: filtra, pega um campo, agrupa e ordena do mais frequente para o menos frequente. O valor que aparece no topo costuma ser a pista.
Aparece nestes desafios
De onde vieram as tentativas
Defesa
Quantas vezes o primeiro apareceu
Infraestrutura da internet
Os endereços que mais aparecem
Infraestrutura da internet
Quem cutucou o site
Defesa
Senha repetida no login
Senhas
Quem mais passou no brete
Terminal Linux
Toc toc no servidor
Defesa
Quantos clientes vazaram
Defesa