Comprender el registro de acceso de Apache

134

¿Qué significa cada una de las cosas en esta línea de mi registro de acceso?

127.0.0.1 - - [05 / Feb / 2012: 17: 11: 55 +0000] "GET / HTTP / 1.1" 200 140 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, como Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "

Boardy
fuente

Respuestas:

237

Parece que está utilizando el formato de registro combinado .

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-agent} i \ "" combinado

  • % h es el host remoto (es decir, la IP del cliente)
  • % l es la identidad del usuario determinada por identd (no se usa generalmente porque no es confiable)
  • % u es el nombre de usuario determinado por la autenticación HTTP
  • % t es la hora en que se recibió la solicitud.
  • % r es la línea de solicitud del cliente. ("GET / HTTP / 1.0")
  • %> s es el código de estado enviado desde el servidor al cliente (200, 404, etc.)
  • % b es el tamaño de la respuesta al cliente (en bytes)
  • Referer es el encabezado Referer de la solicitud HTTP (que contiene la URL de la página desde la que se inició esta solicitud) si hay alguna presente, y de lo "-"contrario.
  • User-agent es la cadena de identificación del navegador.

La lista completa (?) De formateadores se puede encontrar aquí . La misma sección de la documentación también enumera otros formatos de registro comunes; Los lectores cuyos registros no se parecen mucho a este pueden encontrar el patrón que está usando su configuración de Apache en la lista.

Joachim Isaksson
fuente
Me pregunto cuál podría ser la cifra numérica (19) en el último, después del agente de usuario.
ivanceras
2
@ivanceras 535.19es la versión webkit utilizada, por lo que es parte de la cadena del agente de usuario (y también se coloca dentro de las comillas que contienen el agente de usuario)
Joachim Isaksson
44
Tengo 4 campos adicionales después del agente de usuario, como este: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 ¿qué indican?
my account_ram
9

Tampoco entiendo lo que significa "-" después de la sección 200 140 del registro

Ese valor corresponde al árbitro como lo describe Joachim. Sin embargo, si ve un guión, eso significa que no había un valor de referencia para comenzar (por ejemplo, el usuario fue directamente a un destino específico, como si hubiera ingresado una URL en su navegador)

georaldc
fuente
7

¿Y qué significa " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, como Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "?

Este es el valor de User-Agent, la cadena de identificación del navegador.

Por esta razón, la mayoría de los navegadores web utilizan un valor de cadena de User-Agent como sigue:

Mozilla / [versión] ([información del sistema y del navegador]) [plataforma] ([detalles de la plataforma]) [extensiones]. Por ejemplo, Safari en el iPad ha utilizado lo siguiente:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 como Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, como Gecko) Mobile / 7B405 Los componentes de esta cadena son los siguientes:

Mozilla / 5.0: utilizado anteriormente para indicar compatibilidad con el motor de renderizado de Mozilla. (iPad; U; CPU OS 3_2_1 como Mac OS X; en-us): detalles del sistema en el que se ejecuta el navegador. AppleWebKit / 531.21.10: la plataforma que utiliza el navegador. (KHTML, como Gecko): detalles de la plataforma del navegador. Mobile / 7B405: el navegador lo utiliza para indicar mejoras específicas que están disponibles directamente en el navegador o a través de terceros. Un ejemplo de esto es Microsoft Live Meeting, que registra una extensión para que el servicio Live Meeting sepa si el software ya está instalado, lo que significa que puede proporcionar una experiencia optimizada para unirse a las reuniones.

Este valor se utilizará para identificar qué navegador está utilizando el usuario final.

Referir

vsingh
fuente
En mi entorno de carga equilibrada, que tiene 4 nodos de servicio ocultos detrás de un servidor apache equilibrador de carga. Últimamente he estado teniendo problemas de indisponibilidad. Durante la depuración, encontré registros de acceso en mi equilibrador de carga con estado 504. que se parece a esto {Dirección IP} - - [fecha] "POST url http / 1.1" 504 247 "-" "-" Ahora sospecho que uno de mis 4 nodos del servidor de aplicaciones ofrece tiempos de espera más a menudo que los otros. Pero estos registros no dan idea de a qué servidor se reenvió la solicitud y se produjo un tiempo de espera. ¿Cómo puedo registrar la ip del nodo al que se reenvía una solicitud?
PROFESOR
Voy a sugerir las siguientes opciones a) Habilitar y ver los registros del equilibrador de carga b) verificar la utilización de la memoria, CPU, IO para cada una de sus máquinas virtuales y ver si son todas iguales. c) Cuente el número de solicitudes para cada vm en un día determinado. Deberían estar alrededor de lo mismo. Si no, Load Balancer podría encontrar que ese servidor no responde a los pings y es por eso que no envía las solicitudes.
vsingh