Articles

Configurar los registros de error y acceso de Apache

Posted by admin

Apache es un servidor HTTP de código abierto y multiplataforma. Tiene muchas características potentes que se pueden extender por una amplia variedad de Módulos. Al administrar servidores web Apache, una de las tareas más frecuentes que realizará es verificar los archivos de registro.

saber cómo configurar y leer los registros es muy útil cuando se solucionan problemas de servidor o aplicaciones, ya que proporcionan información detallada de depuración.

Apache escribe registros de sus eventos en dos tipos de Registros: Registros de acceso y registros de errores., Los registros de acceso incluyen información sobre las solicitudes de los clientes y los registros de errores información sobre el servidor y los problemas de la aplicación.

Este artículo describe cómo configurar y leer los registros de acceso y errores de Apache.

configurar el registro de acceso #

Apache webserver genera un nuevo evento en el registro de acceso para todas las solicitudes procesadas. Cada registro de eventos contiene una marca de tiempo e incluye información sobre el cliente y el recurso solicitado. Los registros de acceso muestran la ubicación de los visitantes, la página que visitan, cuánto tiempo pasan en la página y mucho más.,

la directiva CustomLog define la ubicación del archivo de registro y el formato de los mensajes registrados.

la sintaxis más básica de la directiva CustomLog es la siguiente:

CustomLog log_file format ;

La log_file puede ser relativa a la ServerRoot o una ruta completa al archivo de registro. Los mensajes de registro también se pueden canalizar a otro programa usando el símbolo de canalización |.

El segundo argumento, format especifica el formato de los mensajes de registro., Puede ser una definición de formato explícita o un apodo definido por la directiva LogFormat.

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combinedCustomLog logs/access.log combined
CustomLog logs/access.log "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\""

Para evitar repetir el mismo código varias veces, prefieren la definición de la etiqueta LogFormat directiva y el uso de ella como un apodo en el CustomLog directiva.

para obtener una lista completa de todas las cadenas de formato y modificadores, consulte la documentación del módulo «mod_log_config».,

el tercer argumento es opcional y le permite escribir mensajes de registro solo cuando se cumple una condición específica. Por lo general, esto se hace utilizando variables de entorno. La condición se puede negar con el símbolo !.

por ejemplo, si desea excluir solicitudes a archivos css que se escriban en el archivo de registro, debe usar lo siguiente:

SetEnvIf Request_URI \.css$ css-fileCustomLog logs/access.log custom env=!css-file

para cambiar el formato de registro, puede definir una nueva directiva LogFormat o anular el formato predeterminado., Por lo general, es mejor definir un nuevo formato.

Mientras que el registro de acceso proporciona información muy útil se necesita espacio en disco y puede afectar el rendimiento del servidor. Si su servidor tiene pocos recursos y tiene un sitio web ocupado, es posible que desee deshabilitar el registro de acceso.

para hacer eso, simplemente comente o elimine la directiva CustomLog de las secciones Configuración del servidor principal y servidor virtual.,

si desea desactivar el registro de acceso solo para un host virtual, establezca el primer argumento de la directiva CustomLog en /dev/null:

CustomLog /dev/null combined

configurando el registro de errores #

Apache escribe mensajes sobre la aplicación y los errores generales del servidor en el archivo de registro de errores. Si está experimentando errores en su aplicación web, el registro de errores es el primer lugar para comenzar a solucionar problemas.

la directiva ErrorLog define la ubicación del nombre del registro de errores., Toma la siguiente forma:

ErrorLog log_file

Si la ruta de acceso a la etiqueta log_file no es absoluta, entonces se establece como relativo a la etiqueta ServerRoot. Los mensajes de error también se pueden canalizar a otro programa usando el símbolo de canalización |.

el parámetro LogLevel establece el nivel de registro. A continuación se enumeran los niveles por su gravedad (de bajo a alto):

  • trace1trace8 – mensajes de seguimiento.
  • debug mensajes de Depuración.,
  • info mensajes Informativos.
  • notice Avisos.
  • warn Advertencias.
  • error – errores al procesar una solicitud.
  • crit problemas Críticos. Requiere una acción rápida.
  • alert Alertas. Hay que actuar de inmediato.
  • emerg – situación de Emergencia. El sistema está inutilizable.

cada nivel de registro incluye los niveles más altos., Por ejemplo, si establece el nivel de registro a warn, Apache también escribe el error, crit, alert y emerg mensajes.

el LogLevel parámetro no se especifica, el valor predeterminado es warn. Se recomienda establecer el nivel en al menos crit.

la directiva ErrorLogFormat especifica el formato del registro de errores., En la mayoría de las distribuciones de Linux, el servidor Apache está utilizando el formato predeterminado, que es suficiente para la mayoría de los casos.

Hosts virtuales y registro Global #

el comportamiento de registro y la ubicación de los archivos se pueden establecer de forma global o por host virtual.

entonces las directivasCustomLogoErrorLog se establecen en el contexto principal del servidor, el servidor escribe todos los mensajes de registro en los mismos archivos de registro de acceso y error., De lo contrario, si las directivas se colocan dentro de un bloque <VirtualHost>, solo los mensajes de registro para ese host virtual se escriben en el archivo especificado.

la directiva log establecida en el bloque <VirtualHost> anula la establecida en el contexto del servidor.

los hosts virtuales sin las directivasCustomLog oErrorLog tendrán sus mensajes de registro escritos en los registros globales del servidor.

para una mejor legibilidad, se recomienda establecer archivos de registro de acceso y errores separados para cada host virtual., Este es un ejemplo:

cada vez que modifique el archivo de configuración, debe reiniciar el servicio Apache para que los cambios surtan efecto.

ubicación de los archivos de Registro #

por defecto en distribuciones basadas en Debian como Ubuntu , los registros de acceso y errores se encuentran en el directorio /var/log/apache2. En CentOS los archivos de registro se colocan en el directorio /var/log/httpd.,

leer y comprender los archivos de Registro de Apache #

los archivos de registro se pueden abrir y analizar utilizando comandos estándar como cat , less , grep , cut , awk , y así sucesivamente.,

Aquí hay un ejemplo de registro del archivo de registro de acceso que usa el formato de Registro de Debian’ combine:

desglosemos lo que significa cada campo del registro:

Use el comando tail para ver el archivo de registro en tiempo real:

tail -f access.log 

conclusión #

los archivos de registro le proporcionan información útil sobre problemas del servidor y cómo los visitantes interactúan con su sitio web.

Apache tiene un sistema de registro muy configurable que le permite personalizar los registros de acceso y errores de acuerdo a sus necesidades.

Leave A Comment