Nota de arquivo: este artigo reflete as ferramentas e o ambiente usados na publicação, em 2019.
O awk é ótimo para analisar rapidamente requisições do Apache pela linha de comando. A sintaxe exata depende do LogFormat, que não posso divulgar aqui por questões de conformidade.
Hoje eu buscava requisições que levavam mais de três segundos; no meu log, a duração aparece em microssegundos. Também precisava da URL e queria restringir a busca a um intervalo específico. Neste exemplo, 2019:04:1 representa todas as requisições de hoje entre 04:10 e 04:19 UTC.
Este é o comando:
cat /httpd/logs/access.log |grep "2019:04:1"| awk '{if ($(NF-2) > 3000000) print $4"-----"$7"-----"$(NF-2);}'
$(NF-2) é o antepenúltimo campo de cada linha, e sei que contém o tempo da requisição em microssegundos. O comando imprime o horário (quarto campo, $4), a URL ($7) e o tempo da requisição ($(NF-2)).


cloud / sistemas