Visitas y Hits de Apache

Visitas en Todos los Dominios

Para conocer el número de visitas (y/o hits de Apache) en TODOS los dominios del servidor corremos este comando:

echo; DOMAINS="/usr/local/apache/logs/access_log /usr/local/apache/domlogs/*/*"; RANGE=$(for x in {7..0}; do date --date="-$x hours" +"%d/%b/%Y:%H:"; done); FMT=" %7s"; printf " %15s" "User/Hour"; for hour in $RANGE; do printf "$FMT" "$(echo $hour | cut -d: -f2):00"; done; printf "%8s %-s\n" "Total" " Domain Name"; for logfile in $DOMAINS; do total=0; ACCT=$(echo $logfile | cut -d/ -f6); SITE=$(echo $logfile | cut -d/ -f7); printf " %15s" "$ACCT"; i=0; for hour in $RANGE; do count=$(grep -c "$hour" $logfile); hourtotal[$i]=$((${hourtotal[$i]}+$count)); printf "$FMT" "$count"; total=$((${total}+${count})); i=$(($i+1)); done; grandtotal=$(($grandtotal+$total)); printf "%8s %-s\n" "$total" "$SITE"; done; printf " %15s" "Total"; for x in $(seq 0 $((${i}-1))); do printf "$FMT" "${hourtotal[$x]}"; done; printf "%8s %-s${NORMAL}\n" "$grandtotal" "<< Grand Total"; echo;

5 Sitios Más Activos

Si sólo queremos conocer los cinco sitios con más visitas en un servidor, igualmente en las últimas 8 horas, corremos esto:

Es útil correrlo al momento de requerirlo, pero también alrededor de las 6pm para obtener datos realistas de las últimas 8 horas

echo Most Active Domains; find /usr/local/apache/domlogs/ -maxdepth 1 -type f -mtime -1 |egrep -v '(-\w{5,9}_log)'| xargs grep -cP "^[^\]]+\[$(date +%d'/'%b'/'%Y)" |grep :.. |sort -t: -nr -k 2 |head -5 |tee /tmp/delete_domlog; echo; for domlog in $(cut -d':' -f1 /tmp/delete_domlog); do echo $domlog; echo GET $(grep -P "^[^\]]+\[$(date +%d'/'%b'/'%Y)" $domlog | grep -c GET); grep -P "^[^\]]+\[$(date +%d'/'%b'/'%Y)" $domlog | grep GET |cut -d' ' -f7 |sort |uniq -c |sort -nr |head -5; echo POST $(grep -P "^[^\]]+\[$(date +%d'/'%b'/'%Y)" $domlog | grep -c POST); grep -P "^[^\]]+\[$(date +%d'/'%b'/'%Y)" $domlog | grep POST |cut -d' ' -f7 |sort |uniq -c |sort -nr |head -5; done

Última actualización

¿Te fue útil?