Comprensione del registro di accesso di Apache


134

Cosa significano ciascuna delle cose in questa riga dal mio registro di accesso?

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, come Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "

Risposte:


237

Sembra che tu stia utilizzando il formato di registro combinato .

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

  • % h è l'host remoto (ovvero l'IP client)
  • % l è l'identità dell'utente determinata da identd (di solito non utilizzata poiché non affidabile)
  • % u è il nome utente determinato dall'autenticazione HTTP
  • % t è l'ora in cui è stata ricevuta la richiesta.
  • % r è la riga di richiesta dal client. ("GET / HTTP / 1.0")
  • %> s è il codice di stato inviato dal server al client (200, 404 ecc.)
  • % b è la dimensione della risposta al client (in byte)
  • Referer è l' intestazione Referer della richiesta HTTP (contenente l'URL della pagina da cui è stata avviata la richiesta) se presente, e in caso "-"contrario.
  • User-agent è la stringa di identificazione del browser.

L'elenco completo (?) Dei formattatori è disponibile qui . La stessa sezione della documentazione elenca anche altri formati di registro comuni; i lettori i cui registri non assomigliano a questo possono trovare il modello che la loro configurazione di Apache sta usando elencato lì.


Mi chiedo quale potrebbe essere la cifra numerica (19) nell'ultimo, dopo l'agente utente.
Ivanceras,

2
@ivanceras 535.19è la versione del webkit utilizzata, quindi fa parte della stringa dell'agente utente (ed è anche inserita tra le virgolette contenenti l'agente utente)
Joachim Isaksson

4
Ho 4 campi aggiuntivi dopo l'agente utente, come questo: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 cosa indicano?
mio account_ram

9

Inoltre non capisco cosa significhi "-" dopo la sezione 200 140 del registro

Tale valore corrisponde al referer come descritto da Joachim. Se vedi un trattino, ciò significa che non c'era alcun valore di riferimento con cui iniziare (ad es. L'utente è andato direttamente a una destinazione specifica, come se avesse digitato un URL nel suo browser)


7

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

Questo è il valore di User-Agent, la stringa di identificazione del browser.

Per questo motivo, la maggior parte dei browser Web utilizza un valore stringa User-Agent come segue:

Mozilla / [versione] ([informazioni su sistema e browser]) [piattaforma] ([dettagli piattaforma]) [estensioni]. Ad esempio, Safari su iPad ha utilizzato quanto segue:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 come Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, come Gecko) Mobile / 7B405 I componenti di questa stringa sono i seguenti:

Mozilla / 5.0: precedentemente utilizzato per indicare la compatibilità con il motore di rendering di Mozilla. (iPad; U; CPU OS 3_2_1 come Mac OS X; en-us): dettagli del sistema in cui è in esecuzione il browser. AppleWebKit / 531.21.10: la piattaforma utilizzata dal browser. (KHTML, come Gecko): dettagli della piattaforma del browser. Mobile / 7B405: utilizzato dal browser per indicare miglioramenti specifici disponibili direttamente nel browser o tramite terze parti. Un esempio di questo è Microsoft Live Meeting che registra un'estensione in modo che il servizio Live Meeting sappia se il software è già installato, il che significa che può fornire un'esperienza ottimizzata per partecipare alle riunioni.

Questo valore verrà utilizzato per identificare quale browser viene utilizzato dall'utente finale.

Fare riferimento


Nel mio ambiente con bilanciamento del carico, che ha 4 nodi di servizio nascosti dietro un server di bilanciamento del carico apache. Ultimamente ho riscontrato problemi di indisponibilità. Durante il debug, ho trovato i registri di accesso sul mio bilanciamento del carico con stato 504. che assomiglia a questo. {Indirizzo IP} - - [data] "POST url http / 1.1" 504 247 "-" "-" Ora sospetto che uno dei miei 4 nodi del server delle applicazioni dia timeout più spesso degli altri. Tuttavia, questi registri non forniscono indicazioni a quale server è stata inoltrata la richiesta e ha comportato il timeout. Come posso registrare l'ip del nodo a cui viene inoltrata una richiesta.
DOCENTE

Sosterrò le seguenti opzioni a) Abilita e guarda i log del bilanciamento del carico b) controlla l'utilizzo della memoria, la CPU, l'IO per ciascuno dei tuoi VM e vedi se sono tutti uguali. c) Contare il numero di richieste per ogni VM in un determinato giorno. Dovrebbero essere intorno allo stesso. In caso contrario, Load Balancer potrebbe trovare quel server che non risponde ai ping ed è per questo che non si inviano le richieste.
vsingh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.