Internet Information Services (IIS) est un serveur web développé par Microsoft et proposé dans le cadre des services Windows Server.
Les logs IIS sont utilisés par les équipes chargées des opérations informatiques et les webmasters pour résoudre les problèmes des applications web. Ils peuvent néanmoins se révéler complexes, notamment dans le cas de sites très fréquentés comprenant de nombreuses rubriques. Par ailleurs, le serveur web peut générer de nombreux logs détaillés chaque jour, et donner un sens aux informations qu'ils contiennent nécessite de comprendre les données. Il convient donc d'utiliser les outils adéquats pour en tirer des informations pertinentes.
Cet article vous explique comment exploiter vos logs IIS de manière optimale. Nous passerons en revue les différents formats de log et les principaux champs de données à examiner et vous expliquerons comment une solution de journalisation centralisée peut faciliter l'analyse de ces logs.
Voyons tout cela plus en détail.
Qu'est-ce qu'un log IIS ?
Le serveur IIS crée des logs pour chaque site web qu'il héberge. Vous pouvez définir l'emplacement du log de tout site web hébergé par IIS depuis la section « Journalisation » du site en question. Si vous exécutez IIS en tant que service sur un serveur Windows, l'emplacement par défaut de ses logs est %SystemDrive%inetpublogsLogFiles
, où %SystemDrive%
correspond généralement à C:
.
Chaque site web possède son propre identifiant. Le sous-dossier contenant le log d'un site donné se trouve dans le dossier principal LogFiles
et porte un nom du type W3SVC
. Vous pouvez également utiliser l'Observateur d'événements Windows Server pour consulter les logs IIS.
Si les logs IIS sont automatiquement activés et enregistrés dans les services cloud Azure pour le cloud Azure, ils doivent en revanche être configurés dans Azure App Services. Dans les deux cas, les chemins d'accès aux logs diffèrent du chemin d'accès Windows Server standard.
Les logs IIS fournissent de précieuses données sur les interactions des utilisateurs avec votre site web ou votre application, notamment :
- Adresse IP source
- Pages web consultées
- Requêtes URI
- Méthodes HTTP
- Codes d'états HTTP renvoyés
Les équipes informatiques utilisent les logs IIS à différentes fins. Les développeurs d'applications s'en servent par exemple pour corriger les bugs et les erreurs critiques, tandis que les équipes SecOps peuvent les utiliser pour enquêter sur des comportements inhabituels et des activités potentiellement malveillantes, telles que des attaques par déni de service distribué (DDoS). Les équipes chargées des opérations peuvent quant à elles s'appuyer sur les logs pour résoudre les erreurs de réponse HTTP ou les délais de réponse trop lents.
Formats des logs IIS
IIS offre des options de journalisation flexibles, qui vous permettent de choisir parmi différents formats de log. Ces formats vous permettent de spécifier les champs des événements, les séparateurs de champs et le format de l'heure. Tout comme pour l'emplacement, vous pouvez définir le format du log d'un site web hébergé par IIS dans les paramètres « Journalisation » de ce site. Quel que soit le format choisi, tous les logs sont écrits en texte ASCII. Le tableau suivant présente les différents formats de log IIS :
Type | Format par défaut | Champs personnalisables | Séparateur | Format de l'heure | Compatibilité FTP |
---|---|---|---|---|---|
W3C | Oui | Oui | Espace | UTC | Oui |
IIS | Non | Non | Virgule | Heure locale | Oui |
NCSA | Non | Non | Espace | Heure locale | Non |
Format W3C
W3C est le format de log IIS par défaut. Il permet de choisir les champs à inclure, ce qui contribue à réduire la taille des fichiers. L'heure est enregistrée au format UTC. L'extrait ci-dessous montre un log IIS au format W3C.
#Software: Internet Information Services 6.0 #Version: 1.0 #Date: 2001-05-02 17:42:15 #Fields: time c-ip cs-method cs-uri-stem sc-status cs-version 17:42:15 172.16.255.255 GET /default.htm 200 HTTP/1.0
Format IIS
Dans la mesure où il ne permet pas de personnaliser les champs, le format IIS offre une flexibilité moindre. En tant que fichier CSV, il facilite toutefois l'analyse des données. L'heure correspond à l'heure locale du serveur. L'extrait ci-dessous présente deux événements de log au format IIS.
192.168.114.201, -, 03/20/01, 7:55:20, W3SVC2, SALES1, 172.21.13.45, 4502, 163, 3223, 200, 0, GET, /DeptLogo.gif, -, 172.16.255.255, anonymous, 03/20/01, 23:58:11, MSFTPSVC, SALES1, 172.16.255.255, 60, 275, 0, 0, 0, PASS, /Intro.htm, -,
Format NCSA Common Log File (CLF)
Le format NCSA est un autre format fixe, qui ne permet pas de personnaliser les champs des événements. Plus simple que les formats IIS et W3C, il contient uniquement des informations de base telles que le nom d'utilisateur, l'heure, le type de requête et le code d'état HTTP. L'heure correspond à l'heure locale du serveur. L'extrait ci-dessous montre un exemple de log NCSA :
172.21.13.45 - Microsoftfred [08/Apr/2001:17:39:04 -0800] "GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0" 200 3401
Contenu des logs IIS
Les champs d'un log IIS peuvent varier en fonction du format du log en question. Le tableau ci-dessous répertorie quelques-uns de ces champs :
Nom du champ | Description | Exemples de cas d'usage |
---|---|---|
Date et heure (date and time) | Date et heure de la requête du client | Affiche la date et l'heure de la requête client. Permet de mettre cette information en corrélation avec d'autres logs (par exemple, les logs d'application) afin d'obtenir davantage de détails dans le cadre de la résolution d'un problème. |
Adresse IP du client (c-ip) | Adresse IP du client du site web | Permet de suivre la géolocalisation ou des serveurs particuliers, ainsi que d'identifier des sources suspectes. |
Nom d'utilisateur (cs-username) | Utilisateur à l'origine de la requête. Les utilisateurs anonymes sont représentés par un trait d'union « - ». | Permet d'identifier des problèmes liés à l'application pour des utilisateurs spécifiques, en particulier dans les applications intranet. |
Méthode (cs-method) | Requête HTTP (par exemple, GET, POST ou PUT) | Permet de suivre les actions de l'utilisateur. |
Octets envoyés et reçus (sc-octets, cs-octets) | Nombre d'octets envoyés et reçus par le serveur | Permet d'évaluer les besoins en bande passante ou de suivre les comportements suspects en cas de volumes d'envoi anormalement élevés. |
Durée de l'opération (time-taken) | Nombre de millisecondes nécessaire pour exécuter la requête | Peut aider à résoudre les problèmes de latence du site web. |
Agent utilisateur ((cs(User-Agent)) | Type de navigateur utilisé par le client | Permet d'identifier les types de navigateur utilisés lors de la résolution d'éventuels problèmes de compatibilité. |
État du protocole (sc-status) | Code d'état de la requête HTTP | Permet de résoudre les erreurs du site web. |
Référent (cs(Referrer)) | Site ayant redirigé l'utilisateur vers le présent site | Permet de personnaliser le contenu du site en fonction des interactions des utilisateurs. |
Pourquoi utiliser une solution de gestion des logs IIS ?
Un serveur IIS très actif peut héberger des dizaines de sites web, associés chacun à plusieurs logs. Dès lors, télécharger manuellement les logs de chaque site, les lire et identifier les problèmes n'est ni pratique, ni envisageable. L'utilisation d'une solution de gestion des logs reste par conséquent la meilleure option. Mais les avantages d'une telle solution ne s'arrêtent pas là.
Centralisation
Une solution de gestion des logs est en mesure de capturer, d'analyser, d'indexer, de compresser et de stocker automatiquement vos logs IIS. Cela permet d'économiser de l'espace disque sur les serveurs web et d'éviter de devoir se connecter manuellement à chaque serveur pour collecter les logs.
contextualisation
Les systèmes de gestion des logs enrichissent les données en y ajoutant du contexte. Ils peuvent par exemple ajouter des données de géolocalisation à un événement à partir de l'adresse IP source. D'autres informations contextuelles peuvent également contribuer à l'identification rapide des problèmes.
Recherche et analyse
Les solutions de gestion des logs facilitent la recherche, le filtrage, le tri, le regroupement et l'analyse des événements. Par exemple, vous pouvez choisir de vous concentrer uniquement sur les codes d'état HTTP 4xx et 5xx. Certains outils utilisent des langages de requête communs tels que SQL, tandis que d'autres disposent de leurs propres langages. Dans la plupart des cas, ces outils permettent d'enregistrer les requêtes de recherche fréquentes.
Mise en corrélation
Le regroupement de l'ensemble des logs permet de mettre en corrélation les événements survenus sur différents systèmes. Vous pouvez par exemple corréler vos logs IIS et vos logs réseau afin de déterminer si la latence du réseau engendre des problèmes de performance sur votre site web. Vous pouvez également appliquer l'IA aux logs IIS et d'authentification mis en corrélation afin d'identifier des comportements utilisateur suspects.
Visualisation
La plupart des solutions de gestion des logs permettent de dégager des tendances à partir des événements, des graphiques, des widgets et des tableaux de bord, et simplifient ainsi la résolution des problèmes. Un graphique peut par exemple vous aider à déceler rapidement des pics de requêtes des utilisateurs et à les mettre en corrélation avec une carte de géolocalisation afin d'identifier la source du trafic.
Alertes
Les solutions de gestion des logs permettent également de configurer des alertes en cas de détection d'anomalies dans les logs. Par exemple, si plus de 1 000 requêtes GET sont lancées en l'espace d'une minute, une alerte pourra être déclenchée afin de signaler une éventuelle attaque DDoS.
Journalisez toutes vos données et répondez à toutes les questions – gratuitement
Falcon LogScale Community Edition (anciennement Humio) offre une plateforme moderne et gratuite de gestion des logs pour le cloud. Exploitez l'ingestion des données de streaming pour bénéficier d'une visibilité instantanée sur les systèmes distribués, de même que détecter et résoudre les incidents.
Falcon LogScale Community Edition, disponible instantanément et gratuitement, inclut les fonctionnalités suivantes :
- Ingestion de jusqu'à 16 Go de données par jour
- Durée de rétention de 7 jours
- Aucune carte de crédit n'est requise
- Accès continu sans période d'essai
- Journalisation sans index, alertes en temps réel et tableaux de bord en direct
- Accès à notre place de marché et à nos packages, y compris aux guides de création de nouveaux packages
- Formation et collaboration avec une communauté active