Collecter les journaux IIS avec l’agent Azure Monitor

IIS (Internet Information Services) consigne les données sur le disque local des machines Windows. Cet article explique comment collecter les journaux IIS à partir de machines supervisées à l’aide de l’agent Azure Monitor en créant une règle de collecte de données (DCR).

Conditions préalables

Pour effectuer cette procédure, vous devez disposer de ce qui suit :

Créer une règle de collecte de données pour collecter les journaux IIS

La règle de collecte de données définit les points suivants :

  • Fichiers journaux sources que l’agent Azure Monitor analyse à la recherche de nouveaux événements.
  • Comment Azure Monitor transforme les événements pendant l’ingestion.
  • Table et espace de travail Log Analytics de destination auxquels Azure Monitor envoie les données.

Vous pouvez définir une règle de collecte de données pour envoyer des données de plusieurs ordinateurs à plusieurs espaces de travail Log Analytics, y compris les espaces de travail dans une autre région ou locataire. Créez la règle de collecte de données dans la même région que celle où se trouve votre espace de travail Analytics.

Notes

Pour envoyer des données entre locataires, vous devez d’abord activer Azure Lighthouse.

Pour créer la règle de collecte de données dans le portail Azure :

  1. Dans le menu Monitor, sélectionnez Règles de collecte des données.

  2. Sélectionnez Créer pour créer une règle de collecte de données et des associations.

    Capture d’écran montrant le bouton Créer sur l’écran Règles de collecte de données.

  3. Entrez un Nom de règle et spécifiez un Abonnement, un Groupe de ressources, une Région, un Type de plateforme et un Point de terminaison de collecte de données :

    • Région spécifie l’emplacement où la règle de collecte de données sera créée. Les machines virtuelles et leurs associations peuvent se trouver dans n’importe quel abonnement ou groupe de ressources dans le locataire.
    • Type de plateforme spécifie le type des ressources auxquelles cette règle peut s’appliquer. L’option Personnalisé permet d’appliquer les types Windows et Linux.
    • Point de terminaison de collecte de données spécifie le point de terminaison de collecte de données utilisé pour collecter des données. Ce point de terminaison de collecte de données doit se trouver dans la même région que l’espace de travail Log Analytics. Pour plus d’informations, consultez Comment configurer des points de terminaison de collecte de données en fonction de votre déploiement.

    Capture d’écran montrant l’onglet De base sur l’écran Règle de collecte de données.

  4. Dans l’onglet Ressources :

    1. Sélectionnez + Ajouter des ressources et associez des ressources à la règle de collecte de données. Les ressources peuvent être des machines virtuelles, des groupes de machines virtuelles identiques et Azure Arc pour serveurs. Le portail Azure installe l’agent Azure Monitor sur les ressources sur lesquelles il n’est pas déjà installé.

      Important

      Le portail active une identité managée affectée par le système sur les ressources cibles, en plus des identités affectées par l’utilisateur (le cas échéant). Pour les applications existantes, à moins que vous ne spécifiez l’identité affectée par l’utilisateur dans la demande, la machine utilise par défaut l’identité affectée par le système à la place.

    2. Sélectionnez Activer les points de terminaison de collecte de données.

    3. Sélectionnez un point de terminaison de collecte de données pour chacune des machines virtuelles associées à la règle de collecte de données.

      Ce point de terminaison de collecte de données envoie des fichiers de configuration à la machine virtuelle et doit se trouver dans la même région que celle-ci. Pour plus d’informations, consultez Comment configurer des points de terminaison de collecte de données en fonction de votre déploiement.

    Capture d’écran montrant l’onglet Ressources de l’écran Règle de collecte de données.

  5. Sous l’onglet Collecter et livrer, sélectionnez Ajouter une source de données pour ajouter une source de données et définir une destination.

  6. Sélectionnez Journaux IIS.

    Capture d'écran du formulaire du portail Azure permettant de sélectionner les compteurs de performance de base dans une règle de collecte de données.

  7. Spécifiez un modèle de fichier pour identifier le répertoire où se trouvent les fichiers journaux.

  8. Sous l’onglet Destination, ajoutez une destination pour la source de données.

    Capture d’écran du formulaire du portail Azure pour ajouter une source de données dans une règle de collecte de données.

  9. Sélectionnez Vérifier + créer pour passer en revue les détails de la règle de collecte des données et l’association avec l’ensemble de machines virtuelles.

  10. Sélectionnez Créer pour créer la règle de collecte de données.

Notes

Une fois que vous avez créé la règle de collecte des données, jusqu’à 5 minutes peuvent être nécessaires avant que les données soient envoyées aux destinations.

Exemples de requêtes de journal

  • Comptez les entrées du journal IIS par URL pour l’hôte www.contoso.com.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Examinez le nombre total d’octets reçus par chaque machine IIS.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Exemple de règle d’alerte

  • Créez une règle d’alerte sur tout enregistrement dont l’état de retour est 500.

    W3CIISLog 
    | where scStatus==500
    | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
    

Dépanner

Utilisez les étapes suivantes pour résoudre les problèmes liés à la collecte des journaux IIS.

Vérifier si des journaux IIS ont été reçus

Commencez par vérifier si des enregistrements ont été collectés pour vos journaux IIS en exécutant la requête suivante dans Log Analytics. Si la requête ne retourne pas d’enregistrements, vérifiez les causes possibles dans les autres sections. Cette requête recherche des entrées pour les deux derniers jours, mais vous pouvez la modifier en spécifiant un autre intervalle de temps.

W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc

Vérifier que l’agent envoie correctement des pulsations

Vérifiez que l’agent Azure Monitor communique correctement en exécutant la requête suivante dans Log Analytics pour vérifier s’il existe des enregistrements dans la table Heartbeat.

Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc

Vérifier que les journaux IIS sont créés

Examinez les horodatages des fichiers journaux et ouvrez le plus récent pour vérifier que les horodatages les plus récents sont bien présents dans les fichiers journaux. L’emplacement par défaut des fichiers journaux IIS est C:\inetpub\logs\LogFiles\W3SVC1.

Capture d’écran du journal IIS montrant le timestamp.

Vérifier que vous avez spécifié l’emplacement de journal approprié dans la règle de collecte de données

La règle de collecte de données aura une section similaire à ce qui suit. L’élément logDirectories spécifie le chemin du fichier journal à collecter auprès de l’ordinateur de l’agent. Vérifiez que ceci est correct sur l’ordinateur de l’agent.

    "dataSources": [
    {
            "configuration": {
                "logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
            },
            "id": "myIisLogsDataSource",
            "kind": "iisLog",
            "streams": [{
                    "stream": "ONPREM_IIS_BLOB_V2"
                }
            ],
            "sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
        }
    ]

Ce répertoire doit correspondre à l’emplacement des journaux IIS sur la machine de l’agent.

Capture d’écran des fichiers journaux IIS sur la machine de l’agent.

Vérifier que les journaux IIS sont au format W3C

Ouvrez le Gestionnaire IIS et vérifiez que les journaux sont écrits au format W3C.

Capture d’écran d’une boîte de dialogue de configuration de journalisation IIS sur la machine de l’agent.

Ouvrez le fichier journal IIS sur la machine de l’agent pour vérifier que les journaux sont au format W3C.

Capture d’écran d’un journal IIS montrant l’en-tête qui spécifie que le fichier est au format W3C.

Remarque

Le champ personnalisé X-Forwarded-For n’est pas pris en charge pour l’instant. S’il s’agit d’un champ critique, vous pouvez collecter les journaux IIS en tant que journal de texte personnalisé.

Étapes suivantes

Pour en savoir plus :