dijous, 9 de maig del 2013

Apache, Linux, logs

http://www.harecoded.com/contar-veces-se-pide-url-no-esa-url-1463840 Si por ejemplo queremos saber cuántas veces se ha pedido la página /abc.html en el mes de febrero (2012_02) y tenemos los logs segmentados por día, será tan sencillo como lanzar un: grep -c "GET /abc.html" /var/log/apache/access_2012_02_* Similarmente, podemos obtener el número de peticiones que NO contienen esa petición añadiendo el parámetro -v: grep -vc "GET /abc.html" /var/log/apache/access_2012_02_* La ubicación exacta de los blogs está declarada en vuestra configuración de Apache o Virtualhosts bajo la directiva AccessLog. http://www.nosolocodigo.com/leyendo-el-fichero-access-log-de-apache-desde-linea-de-comandos-en-linux Leyendo el fichero access.log de Apache desde línea de comandos en Linux Written by David. Posted in SysAdmin Esta tarde ando aburrido y he entrado por el acceso SSH que me ofrece mi empresa de hosting a curiosear un poco. He accedido al directorio donde se encuentran los logs y he empezado a leerlos. Al final he escrito unos cuantos comandos sencillos pero que permiten encontrar información interesante en los logs y demuestran el potencial de la línea de comandos de Linux. Listado de IPs únicas que ha accedido hoy a tu web cat access.log.2011-02-24 | cut -d " " -f 1 | sort | uniq 109.230.216.XXX 110.75.164.XXX 114.80.93.XXX . . . 95.60.25.XXX 95.61.0.XXX 95.63.178.XXX Cuantas IPs han accedido hoy a tu web cat access.log.2011-02-24 | cut -d " " -f 1 | sort | uniq | wc -l 1830 #El día 24 de febrero hubieron 1830 IPs diferentes conectadas al blog. Contrastando con los datos de Google Analytics puedo ver que es bastante verídico el dato.. Contar cuantas veces accede cada IP a tu web cut -d " " -f 1 access.log.2011-02-24 | sort | uniq -c | sort 323 67.205.46.XXX 587 78.136.66.XXX 794 190.233.141.XX 962 189.155.9.XXX 1081 95.17.167.XXX El modificador -c del comando uniq hace que además de agrupar por IPs, muestre a la izquierda el número de veces que se repetía esta IP.. muy útil. finalment http://nixcraft.com/getting-started-tutorials/13554-script-count-unique-ips-apache-access-log.html Script to count unique ips in apache access log Thought this was cool. We needed a shell script to count the unique IP's in a apache access log that appeared multiple times. I came up with this script that I pieced together from the web. Worked great: PHP Code: #!/bin/bash FILE=/usr/local/apache/logs/access_log; for ip in `cat $FILE |cut -d ' ' -f 1 |sort |uniq`; do { COUNT=`grep ^$ip $FILE |wc -l`; if [[ "$COUNT" -gt "10" ]]; then echo "$COUNT: $ip"; fi }; done Here are the results on my test: Code: [root@forums1 bin]# ./ipcount.sh 4416: 66.89.97.xxx 4415: xx.72.16.18.xxx 56607: 16.187.xxx.xxx 55459: xxx.xxx.xxx.195 Hope you have fun with this!! PS: Please Move this if it should be in Shell/Scripting........ jaysunn