como cualquier desarrollador o administrador del sistema le dirá, los archivos de registro son una herramienta extremadamente útil para depurar problemas dentro de una aplicación web. De hecho, los archivos de registro se utilizan normalmente como la fuente principal de información cuando un sitio web no funciona correctamente.

un archivo de registro específico que se puede usar en aplicaciones de depuración (o simplemente para obtener información sobre la actividad de los visitantes) es el registro de acceso producido por un servidor HTTP Apache., A continuación, entraré en los detalles de estos registros: explicaré lo que se registra en los registros de acceso de Apache, dónde se pueden encontrar y cómo dar sentido a los datos contenidos en el archivo. Dado que el poder real de los datos de registro proviene de comprender el significado de los datos a través del análisis, también analizaré los beneficios de trabajar con una plataforma de gestión y análisis de registros (como Sumo Logic) para obtener información valiosa de los datos de registro de acceso.

¿qué son los registros de acceso de Apache?,

como se mencionó anteriormente, el registro de acceso de Apache es uno de varios archivos de registro producidos por un servidor HTTP Apache. Este archivo de registro en particular es responsable de registrar los datos de todas las solicitudes procesadas por el servidor Apache. Por lo tanto, si un individuo visita una página web en su sitio, el archivo de registro de acceso contendrá detalles sobre este evento., la información es valiosa en una variedad de situaciones: por ejemplo, si una solicitud común está fallando para cada individuo que intenta llegar a una página web en particular, el enlace puede estar apuntando a una página que ya no existe; si una determinada página en el sitio tarda más de lo que debería cargar, las entradas de Registro podrían indicar consultas SQL que podrían ser refactorizadas para mejorar el rendimiento; si una página en particular en el sitio es muy popular, la agregación de datos de los registros de acceso podría arrojar luz sobre los recursos comúnmente solicitados, lo que permite a las empresas aumentar su popularidad al proporcionar más contenido relacionado.,

¿Dónde puedo encontrar los registros de acceso de Apache?

la ubicación de los registros de acceso de Apache depende del sistema en el que se ejecuta el Servidor HTTP Apache. La mayoría de las instancias del Servidor HTTP Apache se ejecutan en distribuciones Linux. Por lo tanto, para los propósitos de este artículo, nos limitaremos a detallar dónde se pueden encontrar los registros de acceso de Apache en una máquina Linux.

en la distribución Ubuntu Linux, por ejemplo, los registros de registro de acceso se escribirán en la siguiente ubicación de forma predeterminada:

/ var/log/apache2 / access.,log

la ubicación predeterminada puede variar ligeramente en otras distribuciones de Linux, pero no tendrá que mirar muy lejos en la mayoría de los casos. En última instancia, la ubicación y el formato (más sobre esto más adelante) de los registros de acceso están definidos por una directiva CustomLog que se puede ver y modificar dentro de la configuración del servidor Apache HTTP.

interpretando los registros de acceso de Apache

ahora que sabe qué son los registros de acceso de Apache y dónde se pueden encontrar, podemos explicar cómo interpretar las entradas para que su equipo de desarrollo y otro personal de TI puedan hacer un buen uso de ellas.,

leer los registros de acceso de Apache

dar sentido a los registros de acceso de Apache requiere que el analista comprenda el formato en el que se registran los registros de acceso. Como se mencionó anteriormente, el formato para los registros de acceso se define en la directiva CustomLog junto con la ubicación. Echaremos un vistazo a dos formatos de registro populares que a menudo se utilizan con los registros de acceso de Apache a continuación.

formato de registro común

El formato de registro común es un formato de archivo de texto estandarizado utilizado por varios servidores web en la generación de archivos de registro del servidor., Con un servidor HTTP Apache, el formato de registro común se puede usar para producir registros de acceso que sean lo suficientemente sencillos para que los desarrolladores y administradores los lean. Además, como es un formato estandarizado en uso por varios servidores web, los archivos de registro con formato CLF pueden ser utilizados fácilmente por muchas plataformas de análisis de Registros.

un registro de registro de acceso escrito en el formato de registro común se verá algo como esto:

127.0.0.1 – Scott «GET /server-status HTTP/1.1» 200 2326

los campos en el registro de ejemplo anterior representan lo siguiente:

  • 127.0.0.,1-dirección IP del cliente que realizó la solicitud;
  • El guion que define el segundo campo en el archivo de registro es la identidad del cliente. Este campo a menudo se devuelve como un guion y la documentación del Servidor HTTP de Apache recomienda que no se confíe en este campo en particular, excepto en el caso de una red interna controlada.
  • Scott-userid de la persona que solicita el recurso;
  • – Fecha y hora de la solicitud;
  • «GET/server-status HTTP / 1.,1» – tipo de solicitud y recurso solicitado;
  • 200-código de estado de respuesta HTTP;
  • 2326-tamaño del objeto devuelto al cliente.

formato de Registro combinado

otro formato que se usa a menudo con los registros de acceso de Apache es el formato de Registro combinado. Este formato es muy similar al formato de registro común, pero contiene algunos campos adicionales para proporcionar más información para su uso en operaciones de análisis y depuración., Un registro de registro de acceso que se registra en el formato de Registro combinado se ve algo como esto:

como puede ver, los primeros siete campos son idénticos a los del formato de registro común. Los campos restantes representan dos propiedades adicionales:

la directiva «CustomLog»

anteriormente, mencioné que la configuración para los registros de acceso de Apache se realiza a través de la directiva CustomLog dentro de un archivo de configuración del Servidor HTTP Apache., Echemos un vistazo a una configuración de registro de acceso de ejemplo para mostrar la flexibilidad proporcionada por la directiva CustomLog:

LogFormat «%h %l %u %t \»%R\» %>s %o \»%{Referer}i\» \»%{User-Agent}I\»» combined

CustomLog /var/log/apache2/access.registro combinado

aquí, definimos el formato de registro combinado a través de la directiva LogFormat, y lo seguimos definiendo la ubicación y el formato (combinado) para el registro de acceso utilizando la directiva CustomLog. Como puede ver, modificar la ubicación o el formato del registro de acceso es un proceso sencillo., Además, el uso de la directiva CustomLog nos ofrece varias otras capacidades que describiremos a continuación.

múltiples registros de acceso

no hay ninguna regla que diga que no puede configurar múltiples registros de acceso para su servidor HTTP Apache, y el proceso es realmente bastante fácil; todo lo que necesita hacer es simplemente agregar directivas CustomLog adicionales para agregar un archivo de registro de acceso adicional y personalizado:

LogFormat «%h %l %u %t \»%R\» %>s %o \»%{Referer}i\» \»%{user-agent}I\»» combined

LogFormat «%{user-agent}I» Agent

CustomLog /var/log/apache2/access.,log combinado

CustomLog / var/log/apache2 / agent_access.agente de registro

registros condicionales

Además, es posible escribir para acceder a los registros de forma condicional. Esto podría ser útil por diversas razones, incluida la exclusión de registros asociados con clientes particulares. Normalmente, esto se hace estableciendo variables de entorno y haciendo referencia a ellas a través de la cláusula» env». Visite la documentación oficial de la directiva CustomLog para obtener más información.

rotación de Registros& registros canalizados

como cualquier otra cosa en un servidor, los archivos de registro ocupan espacio., Y en un servidor Apache relativamente ocupado, los archivos de registro, como los registros de acceso, pueden crecer rápidamente. Por lo tanto, es importante tener procesos establecidos para mover o eliminar regularmente archivos de registro antiguos. Afortunadamente, un servidor HTTP Apache tiene la capacidad de hacer esto a través del uso de reinicios graceful y procesos de registro canalizados.

un reinicio elegante de un servidor Apache permite reiniciar sin perder las conexiones del cliente., Este reinicio permite a Apache abrir y escribir en nuevos archivos de registro sin interrupción del cliente, lo que permite la ejecución del procesamiento para comprimir o eliminar archivos de registro antiguos con el fin de ahorrar espacio.

los procesos de registro canalizados, por otro lado, pueden permitir que la rotación de registros se realice sin reiniciar el servidor; por ejemplo, se incluye un programa llamado rotatelogs con el Servidor HTTP Apache. En lugar de simplemente escribir en un archivo, las entradas de registro de acceso se pueden escribir a través de una tubería a este programa en particular., El programa rotatelogs incluye opciones para rotar los registros condicionalmente según el tiempo o el tamaño.

analizar los registros de acceso de Apache con Sumo Logic

recopilar cantidades masivas de datos en archivos de registro solo es útil si los datos se pueden administrar de manera efectiva y analizar fácilmente. Cuando se hace correctamente, produce información valiosa que se puede aprovechar para identificar oportunidades de mejora dentro de la configuración o aplicación de su servidor web., Cuando se trabaja con registros de acceso de Apache, es mejor integrarse con Sumo Logic para recopilar sus archivos de Registro de Apache, lo que hace que el proceso para producir visualizaciones valiosas sea menos doloroso que nunca.

El proceso para comenzar es relativamente fácil. De hecho, simplemente configurando un recopilador Sumológico y una fuente de archivo Local para el registro de acceso de Apache, puede estar en funcionamiento en un sentido básico en cuestión de minutos. Consulte Sumo Logic hoy mismo para ver cómo pueden mejorar sus procesos de gestión de Registros y análisis de datos.,

visibilidad completa para DevSecOps

reduzca el tiempo de inactividad y pase de la supervisión reactiva a la proactiva.