Comprendre le journal d'accès d'Apache


134

Que signifient chacun des éléments de cette ligne de mon journal d'accès?

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

Réponses:


237

Vous semblez utiliser le format de journal combiné .

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

  • % h est l'hôte distant (c'est-à-dire l'adresse IP du client)
  • % l est l'identité de l'utilisateur déterminée par identd (généralement non utilisée car non fiable)
  • % u est le nom d'utilisateur déterminé par l'authentification HTTP
  • % t est l'heure à laquelle la demande a été reçue.
  • % r est la ligne de demande du client. ("GET / HTTP / 1.0")
  • %> s est le code d'état envoyé du serveur au client (200, 404 etc.)
  • % b est la taille de la réponse au client (en octets)
  • Referer est l'en- tête Referer de la requête HTTP (contenant l'URL de la page à partir de laquelle cette requête a été lancée) s'il y en a un, et "-"sinon.
  • L'agent utilisateur est la chaîne d'identification du navigateur.

La liste complète (?) Des formateurs peut être trouvée ici . La même section de la documentation répertorie également d'autres formats de journaux courants; les lecteurs dont les journaux ne ressemblent pas tout à fait à celui-ci peuvent trouver le modèle utilisé par leur configuration Apache dans la liste.


Je me demande quel pourrait être le chiffre (19) sur le dernier, après le user-agent.
ivanceras

2
@ivanceras 535.19est la version du kit Web utilisée, elle fait donc partie de la chaîne de l'agent utilisateur (et elle est également placée à l'intérieur des guillemets contenant l'agent utilisateur)
Joachim Isaksson

4
J'ai 4 champs supplémentaires après le user-agent, comme ceci: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 qu'indiquent-ils?
my account_ram

9

Je ne comprends pas non plus ce que signifie le "-" après la section 200 140 du journal

Cette valeur correspond au référent tel que décrit par Joachim. Si vous voyez un tiret, cela signifie qu'il n'y avait pas de valeur de référence pour commencer (par exemple, l'utilisateur est allé directement à une destination spécifique, comme s'il avait tapé une URL dans son navigateur)


7

Et que signifie " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, comme Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "?

Il s'agit de la valeur de User-Agent, la chaîne d'identification du navigateur.

Pour cette raison, la plupart des navigateurs Web utilisent une valeur de chaîne User-Agent comme suit:

Mozilla / [version] ([informations système et navigateur]) [plate-forme] ([détails de la plate-forme]) [extensions]. Par exemple, Safari sur l'iPad a utilisé les éléments suivants:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 comme Mac OS X; fr-fr) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Mobile / 7B405 Les composants de cette chaîne sont les suivants:

Mozilla / 5.0: précédemment utilisé pour indiquer la compatibilité avec le moteur de rendu Mozilla. (iPad; U; CPU OS 3_2_1 comme Mac OS X; en-us): Détails du système dans lequel le navigateur est exécuté. AppleWebKit / 531.21.10: la plate-forme utilisée par le navigateur. (KHTML, comme Gecko): détails de la plate-forme du navigateur. Mobile / 7B405: Ceci est utilisé par le navigateur pour indiquer des améliorations spécifiques qui sont disponibles directement dans le navigateur ou via des tiers. Un exemple de ceci est Microsoft Live Meeting qui enregistre une extension afin que le service Live Meeting sache si le logiciel est déjà installé, ce qui signifie qu'il peut fournir une expérience simplifiée pour rejoindre des réunions.

Cette valeur sera utilisée pour identifier le navigateur utilisé par l'utilisateur final.

Référer


Sur mon environnement à charge équilibrée, qui comporte 4 nœuds de service cachés derrière un serveur d'équilibrage de charge Apache. Dernièrement, j'ai eu des problèmes d'indisponibilité. Lors du débogage, j'ai trouvé des journaux d'accès sur mon équilibreur de charge avec le statut 504. qui ressemble à ceci. {Adresse IP} - - [date] "POST url http / 1.1" 504 247 "-" "-" Maintenant, je soupçonne que l'un de mes 4 nœuds de serveur d'application donne des délais d'attente plus souvent que les autres. Mais ces journaux ne donnent aucune idée du serveur vers lequel la demande a été transférée et ont entraîné un délai d'expiration. Comment puis-je enregistrer l'adresse IP du nœud vers lequel une demande est transmise.
PROFESSEUR

Je proposerai les options suivantes a) Activer et consulter les journaux de l'équilibreur de charge b) vérifier l'utilisation de la mémoire, le processeur, les E / S pour chacune de vos VM et voir si elles sont toutes identiques. c) Compter le nombre de requêtes pour chaque VM dans une journée donnée. Ils devraient être à peu près identiques. Si ce n'est pas le cas, Load Balancer peut trouver que le serveur ne répond pas aux pings et c'est pourquoi ne pas envoyer les demandes.
vsingh le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.