Entendendo o log de acesso do Apache

134

O que significam cada uma das coisas nesta linha do meu log de acesso?

127.0.0.1 - - [05 / Fev / 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
fonte

Respostas:

237

Você parece estar usando o formato de log combinado .

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

  • % h é o host remoto (ou seja, o IP do cliente)
  • % l é a identidade do usuário determinada pelo identd (geralmente não é usado, pois não é confiável)
  • % u é o nome do usuário determinado pela autenticação HTTP
  • % t é a hora em que a solicitação foi recebida.
  • % r é a linha de solicitação do cliente. ("GET / HTTP / 1.0")
  • %> s é o código de status enviado do servidor para o cliente (200, 404 etc.)
  • % b é o tamanho da resposta ao cliente (em bytes)
  • Referer é o cabeçalho Referer da solicitação HTTP (que contém a URL da página a partir da qual essa solicitação foi iniciada), se houver alguma, ou "-"não.
  • User-agent é a sequência de identificação do navegador.

A lista completa (?) De formatadores pode ser encontrada aqui . A mesma seção da documentação também lista outros formatos de log comuns; os leitores cujos logs não se parecem muito com este podem encontrar o padrão usado pela configuração do Apache listado lá.

Joachim Isaksson
fonte
Gostaria de saber qual poderia ser a figura numérica (19) no último, depois do user-agent.
precisa saber é o seguinte
2
@ivanceras 535.19é a versão -webkit utilizado, portanto, é uma parte da cadeia de agente de utilizador (e também é colocado no interior das citações que contêm o agente de utilizador)
Joachim Isaksson
4
Tenho quatro campos adicionais após o agente do usuário, como este: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 o que eles indicam?
Minha conta_ram
9

Também não entendo o que o "-" significa após a seção 200 140 do log

Esse valor corresponde ao referenciador, conforme descrito por Joachim. Porém, se você vê um traço, significa que não havia um valor de referência (por exemplo, o usuário foi direto para um destino específico, como se tivesse digitado um URL no navegador)

georaldc
fonte
7

E o que significa " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, como Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "?

Este é o valor do User-Agent, a sequência de identificação do navegador.

Por esse motivo, a maioria dos navegadores da Web usa um valor de seqüência de caracteres User-Agent da seguinte maneira:

Mozilla / [versão] ([informações do sistema e do navegador]) [plataforma] ([detalhes da plataforma]) [extensões]. Por exemplo, o Safari no iPad usou o seguinte:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 como Mac OS X; pt-br) AppleWebKit / 531.21.10 (KHTML, como Gecko) Mobile / 7B405 Os componentes dessa cadeia de caracteres são os seguintes:

Mozilla / 5.0: usado anteriormente para indicar compatibilidade com o mecanismo de renderização Mozilla. (iPad; U; CPU OS 3_2_1 como Mac OS X; pt-br): detalhes do sistema em que o navegador está sendo executado. AppleWebKit / 531.21.10: a plataforma que o navegador usa. (KHTML, como Gecko): detalhes da plataforma do navegador. Celular / 7B405: É usado pelo navegador para indicar aprimoramentos específicos que estão disponíveis diretamente no navegador ou por meio de terceiros. Um exemplo disso é o Microsoft Live Meeting, que registra uma extensão para que o serviço Live Meeting saiba se o software já está instalado, o que significa que ele pode fornecer uma experiência otimizada para ingressar em reuniões.

Este valor será usado para identificar qual navegador está sendo usado pelo usuário final.

Referir

vsingh
fonte
No meu ambiente de carga balanceada, que possui 4 nós de serviço ocultos atrás de um servidor apache load balancer. Ultimamente tenho recebido problemas de indisponibilidade. Durante a depuração, encontrei os logs do Access no meu balanceador de carga com status 504. que se parece com isso. {Endereço IP} - - [data] "URL POST http / 1.1" 504 247 "-" "-" Agora, suspeito que um dos meus quatro nós do servidor de aplicativos esteja dando tempo limite com mais frequência do que os outros. Mas esses logs não dão nenhuma pista para qual servidor a solicitação foi encaminhada e resultou em tempo limite. Como posso registrar o ip do nó para o qual uma solicitação está sendo encaminhada.
PROFESSOR
Sugiro as seguintes opções: a) Habilite e analise os logs do balanceador de carga; b) verifique a utilização de memória, CPU, E / S de cada uma das suas vm e veja se elas são iguais. c) Conte o número de solicitações para cada vm em um determinado dia. Eles devem estar em torno do mesmo. Caso contrário, o Load Balancer pode achar que o servidor não está respondendo a pings e é por isso que não está enviando as solicitações.
vsingh 25/02