Freigeben über


Sammeln von IIS-Protokollen mit dem Azure Monitor-Agent

Der Internetinformationsdienst (IIS) protokolliert Daten auf dem lokalen Datenträger von Windows-Computern. In diesem Artikel wird erläutert, wie Sie mithilfe des Azure Monitor-Agents IIS-Protokolle von überwachten Computern sammeln, indem Sie eine Datensammlungsregel erstellen.

Voraussetzungen

Um dieses Verfahren abschließen zu können, benötigen Sie Folgendes:

  • Log Analytics-Arbeitsbereich, in dem Sie mindestens über die Berechtigung „Mitwirkender“ verfügen.

  • Ein oder zwei Datensammlungsendpunkte, je nachdem, ob sich Ihr virtueller Computer und der Log Analytics-Arbeitsbereich in derselben Region befinden.

    Weitere Informationen finden Sie unter Einrichten von Datensammlungsendpunkten basierend auf Ihrer Bereitstellung.

  • Berechtigungen zum Erstellen von Datensammlungsregel-Objekten im Arbeitsbereich.

  • Eine VM, eine VM-Skalierungsgruppe oder einen lokalen Arc-fähigen Server, auf dem IIS ausgeführt wird.

    • Eine IISW-Protokolldatei im W3C-Format muss auf dem lokalen Laufwerk des Computers gespeichert sein, auf dem der Azure Monitor-Agent ausgeführt wird.
    • Jeder Eintrag in der Protokolldatei muss mit einem Zeilenende versehen sein.
    • Die Protokolldatei darf weder Umlaufprotokollierung noch Protokollrotation, bei der die Datei mit neuen Einträgen überschrieben wird, noch Umbenennung zulassen, bei der eine Datei verschoben und eine neue Datei desselben Namens geöffnet wird.

Erstellen einer Datensammlungsregel zum Sammeln von IIS-Protokollen

Die Datensammlungsregel definiert Folgendes:

  • Welche Quellprotokolldateien der Azure Monitor-Agent auf neue Ereignisse überprüft
  • Wie Azure Monitor Ereignisse während der Erfassung transformiert
  • Den Log Analytics-Zielarbeitsbereich und die Tabelle, in die Azure Monitor die Daten überträgt

Sie können eine Datensammlungsregel definieren, um Daten von mehreren Computern an mehrere Log Analytics-Arbeitsbereiche zu senden, u. a. Arbeitsbereiche in einer anderen Region oder einem anderen Mandanten. Erstellen Sie die Datensammlungsregel in der Region, in der sich auch Ihr Analytics-Arbeitsbereich befindet.

Hinweis

Zum mandantenübergreifenden Senden von Daten müssen Sie zuerst Azure Lighthouse aktivieren.

So erstellen Sie die Datensammlungsregel im Azure-Portal

  1. Wählen Sie im Menü Überwachen die Option Datensammlungsregeln aus.

  2. Wählen Sie Erstellen aus, um eine neue Datensammlungsregel und Zuordnungen zu erstellen.

    Screenshot: Schaltfläche „Erstellen“ im Bildschirm „Datensammlungsregeln“.

  3. Geben Sie einen Regelnamen ein, und geben Sie ein Abonnement, eine Ressourcengruppe, eine Region, einen Plattformtyp und einen Datensammlungsendpunkt an:

    • Region: Hiermit wird angegeben, wo die Datensammlungsregel erstellt wird. Die virtuellen Computer und ihre Zuordnungen können unter einem beliebigen Abonnement bzw. einer Ressourcengruppe auf dem Mandanten angeordnet sein.
    • Plattformtyp gibt die Art der Ressourcen an, auf die diese Regel angewendet werden kann. Die Option Benutzerdefiniert ermöglicht sowohl Windows- als auch Linux-Typen.
    • Der Endpunkt der Datensammlung gibt den Datensammlungsendpunkt an, der zum Sammeln von Daten verwendet wird. Dieser Datensammlungsendpunkt muss sich in derselben Region befinden wie der Log Analytics-Arbeitsbereich. Weitere Informationen finden Sie unter Einrichten von Datensammlungsendpunkten basierend auf Ihrer Bereitstellung.

    Screenshot: Registerkarte „Allgemeine Informationen“ im Bildschirm „Datensammlungsregeln“.

  4. Gehen Sie auf der Registerkarte Ressourcen wie folgt vor:

    1. Wählen Sie + Ressourcen hinzufügen aus, und ordnen Sie der Datensammlungsregel Ressourcen zu. Ressourcen können virtuelle Computer sowie Virtual Machine Scale Sets- und Azure Arc für Server-Instanzen sein. Das Azure-Portal installiert den Azure Monitor-Agent auf Ressourcen, auf denen der Agent noch nicht installiert ist.

      Wichtig

      Das Portal aktiviert zusätzlich zu den vorhandenen benutzerseitig zugewiesenen Identitäten (sofern vorhanden) eine systemseitig zugewiesene verwaltete Identität auf den Zielressourcen. Wenn die benutzerseitig zugewiesene Identität von Ihnen nicht extra in der Anforderung angegeben wird, wird auf dem Computer für vorhandene Anwendungen standardmäßig die systemseitig zugewiesene Identität verwendet.

    2. Wählen Sie Datensammlungsendpunkte aktivieren aus.

    3. Wählen Sie einen Datensammlungsendpunkt für jede der VMs aus, die der Datensammlungsregel zugeordnet sind.

      Dieser Datensammlungsendpunkt sendet Konfigurationsdateien an den virtuellen Computer und muss sich in derselben Region wie der virtuelle Computer befinden. Weitere Informationen finden Sie unter Einrichten von Datensammlungsendpunkten basierend auf Ihrer Bereitstellung.

    Screenshot: Registerkarte „Ressourcen“ im Bildschirm „Datensammlungsregeln“.

  5. Wählen Sie auf der Registerkarte Sammeln und übermitteln die Option Datenquelle hinzufügen aus, um eine Datenquelle hinzuzufügen und ein Ziel festzulegen.

  6. Wählen Sie IIS-Protokolle aus.

    Screenshot: Formular im Azure-Portal zum Auswählen grundlegender Leistungsindikatoren in einer Datenerfassungsregel.

  7. Geben Sie ein Dateimuster an, um das Verzeichnis zu identifizieren, in dem sich die Protokolldateien befinden.

  8. Fügen Sie auf der Registerkarte Ziel ein Ziel für die Datenquelle hinzu.

    Screenshot: Formular im Azure-Portal zum Hinzufügen einer Datenquelle in einer Datenerfassungsregel.

  9. Wählen Sie Überprüfen und erstellen aus, um die Details der Datensammlungsregel und die Zuordnung zur VM-Gruppe zu überprüfen.

  10. Wählen Sie Erstellen aus, um die Datensammlungsregel zu erstellen.

Hinweis

Nach dem Erstellen der Datensammlungsregel kann es bis zu fünf Minuten dauern, bis Daten an die Ziele übertragen werden.

Beispielprotokollabfragen

  • Zählen Sie die IIS-Protokolleinträge nach URL für den Host www.contoso.com.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Überprüfen Sie die Gesamtanzahl der von jedem IIS-Computer empfangenen Bytes.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Beispiel für eine Warnungsregel

  • Erstellen Sie eine Warnungsregel für jeden Datensatz mit dem Rückgabestatus 500.

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

Problembehandlung

Führen Sie die folgenden Schritte aus, um Problembehandlung für die Sammlung von IIS-Protokollen auszuführen.

Überprüfen, ob IIS-Protokolle empfangen wurden

Überprüfen Sie zunächst, ob Datensätze für Ihre IIS-Protokolle gesammelt wurden, indem Sie die folgende Abfrage in Log Analytics ausführen. Wenn die Abfrage keine Datensätze zurückgibt, überprüfen Sie die anderen Abschnitte auf mögliche Ursachen. Diese Abfrage sucht nach Einträgen während letzten zwei Tage, aber Sie können diesen Zeitbereich auch ändern.

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

Überprüfen, ob der Agent Heartbeats erfolgreich sendet

Überprüfen Sie, ob der Azure Monitor-Agent ordnungsgemäß kommuniziert, indem Sie die folgende Abfrage in Log Analytics ausführen, um zu überprüfen, ob Datensätze in der Heartbeattabelle vorhanden sind.

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

Überprüfen, ob IIS-Protokolle erstellt werden

Sehen Sie sich die Zeitstempel der Protokolldateien an, und öffnen Sie das neueste Protokoll, um zu überprüfen, ob die neuesten Zeitstempel in den Protokolldateien vorhanden sind. Der Standardspeicherort für IIS-Protokolldateien lautet: C:\inetpub\logs\LogFiles\W3SVC1.

Screenshot: IIS-Protokoll mit Zeitstempel

Überprüfen, ob Sie den richtigen Protokollspeicherort in der Datensammlungsregel angegeben haben

Die Datensammlungsregel verfügt über einen Abschnitt ähnlich dem folgenden. Das logDirectories-Element gibt den Pfad zur Protokolldatei an, die vom Agent-Computer erfasst werden soll. Überprüfen Sie den Agent-Computer, um zu überprüfen, ob dieser Pfad richtig ist.

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

Dieses Verzeichnis sollte dem Speicherort der IIS-Protokolle auf dem Agent-Computer entsprechen.

Screenshot: IIS-Protokolldateien auf Agent-Computer

Überprüfen, ob die IIS-Protokolle als W3C formatiert sind

Öffnen Sie IIS-Manager, und überprüfen Sie, ob die Protokolle im W3C-Format geschrieben werden.

Screenshot: Dialogfeld zur Konfiguration der IIS-Protokollierung auf Agent-Computer

Öffnen Sie die IIS-Protokolldatei auf dem Agent-Computer, um zu überprüfen, ob Protokolle im W3C-Format vorliegen.

Screenshot: IIS-Protokoll mit Header, in dem angegeben ist, dass die Datei im W3C-Format vorliegt

Hinweis

Das benutzerdefinierte Feld „X-Forwarded-For“ wird zurzeit nicht unterstützt. Wenn dies ein kritisches Feld ist, können Sie die IIS-Protokolle als benutzerdefiniertes Textprotokoll sammeln.

Nächste Schritte

Weitere Informationen: