Comment analyser et interpréter le journal du serveur Web Apache

Comment analyser et interpréter le journal du serveur Web Apache

Les serveurs Web Apache peuvent générer de nombreux journaux. Ces journaux contiennent des informations telles que les demandes HTTP qu'Apache a géré et répondu, et d'autres activités spécifiques à Apache. L'analyse des journaux est une partie importante de l'administration d'Apache et de la garantie qu'il fonctionne comme prévu.

Dans ce guide, nous passerons en revue les différentes options de journalisation présente dans Apache et comment interpréter ces données de journal. Vous apprendrez à analyser les journaux qu'Apache produit et à configurer les paramètres de journalisation pour vous donner les données les plus pertinentes sur ce que fait Apache.

Dans ce tutoriel, vous apprendrez:

  • Configurer et comprendre la journalisation du serveur Web Apache
  • Quels sont les niveaux de journal Apache
  • Comment interpréter la mise en forme du journal Apache et sa signification
  • Quels sont les fichiers de configuration du journal Apache les plus courants
  • Comment étendre la configuration de la journalisation pour inclure des données médico-légales
Comment analyser et interpréter le journal du serveur Web Apache

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Ubuntu, Debian, Centos, Rhel, Fedora
Logiciel Apache Webserver
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Fichiers journaux Apache et leur emplacement

Apache produit deux fichiers journaux différents:

  • accès.enregistrer stocke des informations sur toutes les demandes de connexion entrantes à Apache. Chaque fois qu'un utilisateur visite votre site Web, il sera enregistré ici. Chaque page qu'un utilisateur demande sera également enregistrée comme une entrée distincte.
  • erreur.enregistrer stocke des informations sur les erreurs qu'Apache rencontre tout au long de son opération. Idéalement, ce fichier doit rester relativement vide.
Configuration du journal par défaut Apache sur Ubuntu Linux Server

L'emplacement des fichiers journaux peut dépendre de la version d'Apache que vous exécutez et de la distribution Linux. Apache peut également être configuré pour stocker ces fichiers dans un autre emplacement sans défaut.

Mais, par défaut, vous devriez être en mesure de trouver les journaux d'accès et d'erreur dans l'un de ces répertoires:

  • / var / log / apache /
  • / var / log / apache2 /
  • / etc / httpd / logs /


Formatage du journal Apache

Apache vous permet de personnaliser les informations enregistrées et comment chaque entrée de journal est présentée, que nous couvrirons plus tard dans ce tutoriel.

Le format habituel qu'Apache suit pour présenter les entrées de journal est:

"% h% l% u% t \"% r \ ""%> s% o \""% référer i \ ""\""% user-agent i \ """"

Voici comment interpréter ce formatage:

  • % h - L'adresse IP du client.
  • % L - Ceci est le «identité» sur le client, qui est utilisé pour l'identifier. Ce champ est généralement vide et présenté comme un trait d'union.
  • % u - L'ID utilisateur du client, si l'authentification HTTP a été utilisée. Sinon, l'entrée du journal ne montre rien pour ce champ.
  • % T - Horodatage de l'entrée du journal.
  • \% r \ - La ligne de demande du client. Cela montrera quelle méthode http a été utilisée (telle que Get ou Post), quel fichier a été demandé et quel protocole HTTP a été utilisé.
  • %> s - Le code d'état qui a été renvoyé au client. Les codes de 4xx (tels que 404, page non trouvés) indiquent les erreurs et les codes du client de 5xx (tels que 500, erreur du serveur interne) indiquent les erreurs de serveur. D'autres nombres devraient indiquer le succès (comme 200, OK) ou quelque chose d'autre comme la redirection (comme 301, déplacé en permanence).
  • % O - La taille du fichier (y compris les en-têtes), en octets, qui a été demandé.
  • \ ”% Référer i \” - Le lien de référence, le cas échéant. Cela vous indique comment l'utilisateur a navigué vers votre page (à partir d'un lien interne ou externe).
  • \ ”% User-agent i \” - Cela contient des informations sur le navigateur Web et le système d'exploitation du client de connexion.

Une entrée typique dans le journal d'accès ressemblera à ceci:

dix.dix.220.3 - - [17 / déc / 2019: 23: 05: 32 -0500] ""Get / Products / Index.php http / 1.1 ""200 5015"" http: // Exemple.com / produits / index.php """" Mozilla / 5.0 (Windows NT 10.0