Hinzufügen der Protokollierung und Überwachen einer Azure-Funktion im Portal

Abgeschlossen

Nachdem Ihre erste serverlose Webfunktion mit dem Azure Functions-Maven-Archetyp erfolgreich bereitgestellt wurde, sollen Sie im Auftrag Ihres Unternehmens untersuchen, wie die Nutzung Ihrer Anwendung mit Azure Application Insights analysiert werden kann.

In dieser Lerneinheit erfahren Sie mehr über das Protokollstreaming als einfaches Tool zur Problembehandlung und die Integration zwischen Azure Functions und Application Insights.

Echtzeitstreaming von Protokollen mit der Azure CLI

Wenn Ihre Funktions-App bereitgestellt wurde und ausgeführt wird, Mit dem folgenden Azure CLI-Befehl können Sie das Protokollstreaming in Echtzeit für eine einfache Problembehandlung von der App abrufen:

az webapp log tail -n <function app name> -g <resource group name>

Der Datenverkehr zu Ihrer Function-App kann ein Streamingprotokoll wie in diesem Beispiel erzeugen:

Image showing Log Streaming from Azure CLI.

Für komplexere Problembehandlungsvorgänge und Überwachungsszenarien ist Application Insights besser geeignet.

Was ist Application Insights?

Azure Application Insights ist ein APM-Dienst (Application Performance Management), der in Azure Monitor enthalten und mit Azure Functions integriert ist. Mithilfe von Application Insights können Entwickler:innen Livedaten zu ihren Anwendungen anzeigen und analysieren, während diese von Kund:innen verwendet werden. Application Insights bietet verschiedenste Tools, mit denen Sie Probleme analysieren können, die sich möglicherweise auf Ihre Anwendung auswirken, und auf diese reagieren können.

Application Insights unterstützt Anwendungen, die in Node.js, Java oder .NET entwickelt wurden. Es bietet Ihrem Entwicklungsteam mehr Flexibilität und Wahlmöglichkeiten bei der Struktur und Erstellung der Anwendungen für Ihr Unternehmen.

Application Insights liefert wichtige Informationen zu fehlgeschlagenen Anforderungen, zur Serverantwortzeit, zu den Serveranforderungen und zur Verfügbarkeit. Application Insights ist für Ihre Azure Functions standardmäßig aktiviert. Wenn Sie Telemetrieverfolgungspunkte in Ihren Code einschließen, kann Application Insights auch Telemetriedaten verwenden, die von Ihrer Anwendung gesendet werden.

Hinzufügen der Instrumentierung zum Java-Projekt

Aktualisieren Sie Ihr Funktionsprojekt, um Application Insights optimal zu nutzen. Es gibt zwei Änderungen, die Sie vornehmen müssen:

  • Passen Sie zunächst die Konfiguration so an, dass Application Insights und die Protokollierung unterstützt werden:

    • Aktualisieren Sie die Datei pom.xml des Projekts, damit eine Abhängigkeit für die Application Insights-Bibliothek enthalten ist.

    • Fügen Sie der Datei host.json des Projekts Parameter hinzu, die definieren, wie die Protokollierung und Application Insights für die Anwendung funktionieren.

  • Nehmen Sie dann Änderungen am Code Ihrer Anwendung vor. Hier haben Sie die Möglichkeit, die Berichterstellung Ihrer Anwendung zu optimieren:

    • Zum Implementieren der Ereignisnachverfolgung in Application Insight müssen Sie Ihrem Code einen Tracker hinzufügen.

    • Tracker werden an wichtigen Punkten bei der Ausführung des Codes hinzugefügt, zum Beispiel, wenn eine neue Seite ausgewählt wird oder bestimmte Daten in der Anwendung gespeichert werden.

Grundlegendes zu Protokollierungs- und Überwachungsoptionen

Es wird empfohlen, Application Insights in Ihren Funktions-Apps zu verwenden, um die Überwachung und Berichterstellung für Ihre Anwendung zu optimieren. Sie können jedoch auch Daten über den Betrieb Ihrer Anwendungen aus den in Azure integrierten Protokollen abrufen.

Das Protokollstreaming wird beispielsweise verfügbar, indem Sie im Menü Funktions-App die Option Protokolldatenstrom auswählen. Wählen Sie dann Dateisystemprotokolle oder App Insights-Protokolle aus.

Image showing where to find Log Streaming.