O mod_status do Apache pode ajudá-lo. Para uma solução de problemas mais complexa, talvez seja necessário personalizar o formato de seus registros (por exemplo, incluir% D nele) e escrever algum tipo de analisador.
Estou recebendo muito tráfego que está destruindo meu minúsculo servidor. Existe algo que eu possa instalar que me permita examinar meu tráfego Apache em tempo real? Idealmente, uma interface web. Gostaria de ver para que servem os pedidos e quais estão levando mais recursos.
O mod_status do Apache pode ajudá-lo. Para uma solução de problemas mais complexa, talvez seja necessário personalizar o formato de seus registros (por exemplo, incluir% D nele) e escrever algum tipo de analisador.
Você já tentou usar o status estendido do Apache?
bem, você precisa analisar os logs do apache, existem muitas ferramentas para fazer isso. Eu mesmo escrevi alguns scripts de awk.
echo "Hits by source IP:"
echo "======================================================================"
awk '{print $2}' "$1" | grep -ivE "(127.0.0.1|192.168.100.)" | sort | uniq -c | sort - rn | head -25
echo "The 25 most popular pages:"
echo "======================================================================"
awk '{print $6}' "$1" | grep -ivE '(mod_status|favico|crossdomain|alive.txt)' | grep -ivE '(.gif|.jpg|.png)' | sed 's/\/$//g' | sort | uniq -c | sort -rn | head -25
echo
echo "The 25 most popular pages (no js or css):"
echo "======================================================================"
awk '{print $6}' "$1" | grep -ivE '(mod_status|favico|crossdomain|alive.txt)' | grep -ivE '(.gif|.jpg|.png|.js|.css)' | sed 's/\/$//g' | sort | uniq -c | sort -rn | head -25
echo "The 25 most common referrer URLs:"
echo "======================================================================"
awk '{print $11}' "$1" | \
grep -vE "(^"-"$|/www.$host|/$host)" | \
sort | uniq -c | sort -rn | head -25
echo "Longest running requests"
echo "======================================================================"
awk '{print $10,$6}' "$1" | grep -ivE '(.gif|.jpg|.png|.css|.js)' | awk '{secs=0.000001*$1;req=$2;printf("%.2f minutes req time for %s\n", secs / 60,req )}' | sort -rn | head -50
exit 0
Basta colocar um arquivo chamado: "apache_stats" e executá-lo como: "./apache_stats".
Confira o link
M / Monit é pago e oferece muito mais recursos (e uma GUI mais expansiva). Monit é gratuito e permite monitorar. Você pode receber alertas por e-mail quando a carga do seu servidor ultrapassar um certo limite. Eu uso isso para monitorar a carga do servidor e responder de acordo.