comme tout développeur ou administrateur système vous le dira, les fichiers journaux sont un outil extrêmement utile pour déboguer les problèmes au sein d’une application web. En fait, les fichiers journaux sont généralement utilisés comme source principale d’information lorsqu’un site Web fonctionne mal.
un fichier journal spécifique qui peut être utilisé dans les applications de débogage (ou simplement pour obtenir un aperçu de l’activité des visiteurs) est le journal d’accès produit par un serveur HTTP Apache., Ci-dessous, je vais entrer dans les détails de ces journaux: je vais expliquer ce qui est enregistré dans les journaux D’accès Apache, où ils peuvent être trouvés, et comment donner un sens aux données contenues dans le fichier. Étant donné que la véritable puissance des données de journal provient de la compréhension de la signification des données par l’analyse, je discuterai également des avantages de travailler avec une plate-forme de gestion de journal et d’analyse (telle que Sumo Logic) pour tirer des informations précieuses des données de journal d’accès.
que sont les journaux D’accès Apache?,
comme mentionné ci-dessus, le journal D’accès Apache est l’un des nombreux fichiers journaux produits par un serveur HTTP Apache. Ce fichier journal est responsable de l’enregistrement des données pour toutes les demandes traitées par le serveur Apache. Ainsi, si une personne visite une page Web sur votre site, le fichier journal d’accès contiendra des détails concernant cet événement., les informations sont précieuses dans une variété de situations: par exemple, si une demande commune échoue pour chaque personne essayant d’accéder à une page Web particulière, le lien peut pointer vers une page qui n’existe plus; si une certaine page du site prend plus de temps qu’il ne devrait être chargée, les entrées de journal pourraient indiquer des requêtes SQL qui pourraient être refactorisées pour améliorer les performances; si une page particulière du site est très populaire, l’agrégation des données des journaux d’accès pourrait mettre en lumière les ressources couramment demandées, permettant ainsi aux entreprises d’accroître leur popularité en fournissant plus de contenu connexe.,
Où puis-je trouver les journaux D’accès Apache?
l’emplacement des journaux D’accès Apache dépend du système sur lequel le serveur HTTP Apache s’exécute. La majorité des instances de serveur HTTP Apache s’exécutent sur des distributions Linux. Donc, aux fins de cet article, nous allons nous en tenir à détailler où les journaux D’accès Apache peuvent être trouvés sur une machine Linux.
Sur la distribution Linux Ubuntu, par exemple, les enregistrements de journal d’accès sera écrit à l’emplacement suivant par défaut:
/var/log/apache2/access.,log
l’emplacement par défaut peut varier légèrement sur d’autres distributions Linux, mais vous n’aurez pas à chercher très loin dans la plupart des cas. En fin de compte, l’emplacement et le format (plus à ce sujet plus tard) des journaux d’accès sont définis par une directive CustomLog qui peut être visualisée et modifiée dans la configuration de votre serveur HTTP Apache.
interprétation des journaux D’accès Apache
maintenant que vous savez ce que sont les journaux D’accès Apache et où ils peuvent être trouvés, nous pouvons vous expliquer comment interpréter les entrées afin que votre équipe de développement et d’autres membres du personnel informatique puissent en faire bon usage.,
lire les journaux D’accès Apache
pour donner un sens aux journaux D’accès Apache, l’analyste doit comprendre le format dans lequel les journaux d’accès sont enregistrés. Comme mentionné ci-dessus, le format des journaux d’accès est défini dans la directive CustomLog avec l’emplacement. Nous allons jeter un oeil à deux formats de journaux populaires qui sont souvent utilisés avec les journaux D’accès Apache ci-dessous.
format de journal commun
le format de journal commun est un format de fichier texte normalisé utilisé par divers serveurs web pour générer des fichiers journaux de serveur., Avec un serveur HTTP Apache, le format de journal commun peut être utilisé pour produire des journaux d’accès suffisamment simples pour que les développeurs et les administrateurs puissent les lire. De plus, comme il s’agit d’un format standardisé utilisé par plusieurs serveurs web, les fichiers journaux au format CLF peuvent être facilement utilisés par de nombreuses plates-formes d’analyse de journaux.
un enregistrement de journal d’accès écrit dans le format de journal commun ressemblera à ceci:
127.0.0.1 – Scott « GET/server-status HTTP/1.1 » 200 2326
les champs de l’exemple d’enregistrement ci-dessus représentent ce qui suit:
- 127.0.0.,1-adresse IP du client qui a fait la demande;
- Le Trait d’Union définissant le deuxième champ dans le fichier journal est l’identité du client. Ce champ est souvent renvoyé sous forme de trait d’Union et la documentation du serveur HTTP D’Apache recommande de ne pas utiliser ce champ particulier, sauf dans le cas d’un réseau interne contrôlé.
- Scott – ID utilisateur de la personne demandant la ressource;
- – date et heure de la demande;
- « GET/server-status HTTP / 1.,1 » – Type de requête et ressource demandée;
- 200 – Code D’état de réponse HTTP;
- 2326 – taille de l’objet renvoyé au client.
format de journal combiné
Un autre format souvent utilisé avec les journaux D’accès Apache est le format de journal combiné. Ce format est très similaire au format de journal commun, mais contient quelques champs supplémentaires pour fournir plus d’informations à utiliser dans les opérations d’analyse et de débogage., Un enregistrement de journal d’accès enregistré au Format de journal combiné ressemble à ceci:
comme vous pouvez le voir, les sept premiers champs sont identiques à ceux du format de journal commun. Les champs restants représentent deux propriétés supplémentaires:
la Directive « CustomLog”
plus tôt, j’ai mentionné que la configuration des journaux D’accès Apache se fait via la directive CustomLog dans un fichier de configuration du serveur HTTP Apache., Examinons un exemple de configuration du journal d’accès pour montrer la flexibilité fournie par la directive CustomLog:
LogFormat « %h %l %u %t \ »%r\ » %>s %O \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combiné
CustomLog /var/log/apache2/access.log combined
ici, nous avons défini le format de log combiné via la directive LogFormat, et nous avons ensuite défini l’emplacement et le format (combinés) du log d’accès à l’aide de la directive CustomLog. Comme vous pouvez le voir, la modification de l’emplacement ou du format du journal d’accès est un processus simple., De plus, l’utilisation de la directive CustomLog nous offre plusieurs autres fonctionnalités que nous décrirons ci-dessous.
Plusieurs Journaux d’Accès
Il n’y a pas de règle qui dit que vous ne pouvez pas configurer de multiples journaux d’accès de votre serveur HTTP Apache, et le processus est en fait assez facile; tout ce que vous devez faire est de simplement ajouter des directives CustomLog ajouter un supplément, un accès personnalisé fichier de log:
LogFormat « %h %l %u %t \ »%r\ » %>s %S \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combiné
LogFormat « %{User-agent}i de l’agent »
CustomLog /var/log/apache2/access.,il est possible de créer un log combiné
CustomLog/var/log/apache2 / agent_access.Log agent
logs conditionnels
de plus, il est possible d’écrire pour accéder aux logs conditionnellement. Cela pourrait être utile pour diverses raisons, y compris l’exclusion des documents associés à des clients particuliers. En règle générale, cela se fait en définissant des variables d’environnement et en les référençant via la clause « env ». Consultez la documentation officielle sur la directive CustomLog pour plus d’informations.
Rotation des journaux& journaux pipés
Comme toute autre chose sur un serveur, les fichiers journaux prennent de la place., Et sur un serveur Apache relativement occupé, les fichiers journaux tels que les journaux d’accès peuvent se développer rapidement. Par conséquent, il est important d’avoir des processus en place pour déplacer ou supprimer régulièrement les anciens fichiers journaux. Heureusement, un serveur HTTP Apache a la capacité de le faire grâce à l’utilisation de redémarrages gracieux et de processus de journaux pipés.
Un redémarrage d’un serveur Apache permet de redémarrer sans perdre les connexions client., Ce redémarrage permet à Apache d’ouvrir et d’écrire dans de nouveaux fichiers journaux sans interruption du client, permettant ainsi l’exécution du traitement pour compresser ou supprimer les anciens fichiers journaux dans l’intérêt d’économiser de l’espace.
Les processus de log Piped, d’autre part, peuvent permettre d’effectuer une rotation de log sans redémarrage du serveur; par exemple, un programme appelé rotatelogs est inclus avec le serveur HTTP Apache. Plutôt que d’écrire simplement dans un fichier, les entrées du journal d’accès peuvent être écrites via un canal vers ce programme particulier., Le programme rotatelogs comprend des options pour faire pivoter les journaux conditionnellement en fonction de l’heure ou de la taille.
analyser les journaux D’accès Apache avec Sumo Logic
collecter des quantités massives de données dans les fichiers journaux n’est utile que si les données peuvent être gérées efficacement et analysées facilement. Lorsqu’il est effectué correctement, il produit des informations précieuses qui peuvent être exploitées pour identifier les opportunités d’amélioration dans la configuration de votre serveur web ou de votre application., Lorsque vous travaillez avec Apache access logs, il est préférable d’intégrer Sumo Logic pour collecter vos fichiers journaux Apache, ce qui rend le processus de production de visualisations précieuses moins pénible que jamais.
le processus de démarrage est relativement facile. En fait, en configurant simplement un collecteur SumoLogic et une source de fichier locale pour le journal D’accès Apache, vous pouvez être opérationnel dans un sens basique en quelques minutes. Consultez Sumo Logic aujourd’hui pour voir comment ils peuvent améliorer vos processus de gestion des journaux et d’analyse des données.,
visibilité complète pour DevSecOps
réduisez les temps d’arrêt et passez d’une surveillance réactive à une surveillance proactive.