Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Logs en Apache

SegFault's Diary
Por SegFault
departamento administrando nuestras visitas , Sección Diarios
Puesto a las Tue Mar 16th, 2004 at 05:32:22 PM CET
Aprovecharé para contar algunas cosas sobre los logs generados por Apache. En la mayoría de los casos en lo que se use Apache utilizaremos host virtuales (por nombre de dominio si andamos escasos de IP, que suele ser lo normal) así que lo primero es que deberiamos utilizar es algún formato que almacene información sobre el host visitado (como CLF con Virtual Host por ejemplo) de esta forma podemos tener en un sólo fichero toda información estadísticas y distinguir un sitio de otro (y podemos rotarlo con alguna herramienta como cronolog para tenerlo más manejable).

 


Puede ocurrir que querramos tener un fichero de log distinto para cada virtual host (para que lo gestionen distintas personas por ejemplo), en ese caso podemos recurrir al método anterior y regularmente (cron mediante) partirlo con split-logfile (incluido en Apache) antes de procesarlos, o bien generar un fichero de log distinto para cada virtual host, pero si tenemos muchos hosts podemos encontrarnos con el problema de utilizar demasiados descriptores de fichero, en cuyo caso la mejor solución es utilizar split-logfile como filtro del comando CustomLog (Mandrake de serie en su advx-server incluye la línea CustomLog "|/usr/sbin/advxsplitlogfile" vhost env=VLOG para filtrar a través de advxsplitlogfile de una forma parecida como se haría con split-logfile de Apache).

Y ya que estoy también hablaré sobre una configuración que yo uso para los logs que está basada en el artículo sobre logging condicional para loggear los proxy cache. El problema de la configuración que se usa es que se confía en que las cabeceras HTTP que identifican la IP original son correctas, y en caso de algún tipo de ataque o troll es posible que sean falsificadas (no es difícil, creedme) con lo que al final los datos almacenados en el log no nos sirven. Por eso en mi configuración, cuando aparece la cabecera que identifica al proxy además de guardar la dirección que dice ser la original también guardo la dirección IP de la conexión en un campo adicional (la mayoría de analizadores de logs no tienen problema porque haya campos adicionales). Os pongo las líneas y el colocarlas en los sitios adecuados los dejo como ejercicio para el lector :-)

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost
# Definimos un formato de log especial para peticiones desde proxy
LogFormat "%v %{Client-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" ClientIP=%h" vhost_proxy
# Sólo las peticiones de un proxy contendrán una dirección IP en Client-IP
SetEnvIfNoCase Client-IP "\." proxy

CustomLog /var/log/httpd/access.log vhost env=!proxy
# En las peticiones desde los proxy, usamos el formato alternativo
CustomLog /var/log/httpd/access.log vhost_proxy env=proxy

< Reforzando la propiedad intelectual (5 comments) | Política y Libertonia. Postura Oficial. (7 comments) >
Enlaces Relacionados
· Apache
· CLF con Virtual Host
· cronolog
· split-logfile
· demasiados descriptores de fichero
· CustomLog
· logging condicional para loggear los proxy cache
· More on SegFault's Diary
· Also by SegFault

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Logs en Apache | 0 comentarios ( temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda