Protokollierung, Metriken und Warnungen in Azure
Um zu verstehen, wie Ihr Azure-Dienst funktioniert, müssen Sie verstehen, welche Protokollierung, Metriken und Warnungen verfügbar sind und wie sie verwendet werden.
Gründe für die Verwendung von Protokollierung, Metriken und Warnungen?
Verwenden Sie die folgende Tabelle, um zu verstehen, welche Informationen Sie zu Ihren Azure-Ressourcen erhalten können.
Typ
Beispielfragen
Azure-Hosting
Hostingdienste wie Azure-App Service und Azure Function bieten verschiedene Arten von Feedback, um Fragen zu beantworten, z. B.:
- Hat meine Anwendung (oder mein Container) erfolgreich bereitgestellt?
- Wurde meine Anwendung (oder mein Container) erfolgreich gestartet?
- Wird meine Anwendung (oder mein Container) erfolgreich ausgeführt?
Azure-Dienst
Azure bietet Metriken für Dienste, mit denen Sie Antworten erhalten können, z. B.:
- Wie ausgelastet ist der Dienst?
- Welche Fehler erzeugt der Dienst?
- Ist mein Dienst so ausgelastet, dass er nicht mit nachfragen kann?
- Habe ich mein Preisniveau-Transaktionskontingent erreicht?
Azure SDK
Das Azure SDK bietet Zugriff auf Azure aus vielen Programmiersprachen. Die SDKs bieten Protokollierung, damit Sie Fragen stellen können, z. B.:
- Was tut das SDK selbst?
- Was tut mein Code?
Code oder Container
Um zu verstehen, wie Ihr eigener Code oder Container funktioniert, integrieren Sie Application Insights aus Azure Monitor. Application Insights ermöglicht es Ihnen, Protokolle über Dienste hinweg für eine einzelne Anwendung zu erfassen, um Fragen zu stellen, z. B.:
- Welche Ausnahmen löst Ihr Code aus?
- Welche Ereignisse werden vom Code ausgelöst?
- Wie interagiert Ihr Code mit Abhängigkeiten?
Was wird für Protokollierung, Metriken und Warnungen bereitgestellt?
Typ | Verfügbarkeit | Beschreibung |
---|---|---|
Metriken | Ohne Konfiguration bereitgestellt | Beginnen Sie mit Metriken, da jeder Azure-Dienst einige Metriken enthält, damit Sie sehen können, wie er ausgeführt wird. |
Warnungen | Variantenkonfigurator verwenden | Konfigurieren Sie Warnungen, die benachrichtigt werden sollen, wenn negative oder ablaufende Verhaltensweisen auftreten. |
Protokollierung | Variantenkonfigurator verwenden | Einige Dienste, z. B. Hostingdienste, haben Protokollierung, damit Sie verstehen können, wie Sich Ihr Code oder Container verhält. Möglicherweise müssen Sie die Protokollierung konfigurieren, bevor Protokolldateien angezeigt werden. |
Benutzerdefinierte Protokollierung | Konfigurierbar über Code | Aus Ihrem eigenen Code können Sie sich mit dem Application Insights SDK für Server und Clientanwendung bei Azure Monitor anmelden. Der Code muss nicht in Azure gehostet werden, um sich bei Azure Monitor anzumelden. |
Anzeigen von Metriken im Azure-Portal
Anzeigen von Metriken für Ihre Ressource auf geplanter Basis im Azure-Portal im Abschnitt "Überwachung –> Metriken".
Anzeigen von Warnungen in Azure-Portal
Legen Sie im Azure-Portal Warnungen für die einzelnen Ressourcen fest. Warnungen können bestimmte Metriken, Kommunikationsdatenströme (z. B. E-Mail) und die Häufigkeit enthalten. Zu den gängigen Warnungen zählen folgende:
- Requests
- Antwortzeit
- HTTP-Serverfehler (in Hostingumgebungen)
Anzeigen der Protokollierung des gehosteten Diensts in Azure-Portal
Gehostete Anwendungen und Container können so konfiguriert werden, dass Informationen zu folgenden Themen protokolliert werden:
- deployment
- Start-up
- Laufzeit
Aktivieren Sie diese Protokolle, um zu verstehen, wie sich Ihre gehostete Anwendung verhält. Diese Protokolle sind wahrscheinlich der erste Ort, an dem Sie erfahren, dass Ihre Bereitstellung fehlgeschlagen ist, oder Ihre Startkonfiguration ist falsch konfiguriert oder fehlende Abhängigkeiten.
Protokollierung bei Stdout und Stderr
Die benutzerdefinierte Protokollierung wird automatisch von Azure Web Apps und Azure-Funktionen bereitgestellt, wenn Sie die richtigen Protokollierungsfunktionen verwenden:
- Web-Apps verwenden
console.log('your message here')
. - Funktions-Apps verwenden
context.log('your message here')
.
Benutzerdefinierte Protokollierung in Azure
Sie können eine umfangreichere benutzerdefinierte Protokollierung mit Azure Monitor Application Insights hinzufügen, die Serverszenarien (Node.js) und Client (Browser) bietet:
- Hinzufügen des Application Insights SDK zu Ihrem Quellcode
- Server: Protokollierung über Node.js mit Application Insights - npm-Paket
- Client: Protokollierung über Ihren Clientcode: npm-Paket
- Container und virtuelle Computer: Protokollierung über Ihren Kubernetes-Cluster oder über Azure Virtual Machines
Aktivieren der Anwendungsprotokollierung mit Application Insights
Ihre beste und konfigurierbarste Protokollierungsauswahl ist Application Insights, die Folgendes bieten kann:
- Standardprotokollierung
- im Azure-Dienst
- in Ihrem Quellcode abhängig von der Initialisierung
- Benutzerdefinierte Protokollierung
- aus Ihrer Bereitstellungspipeline
- in Ihrem Quellcode
Aktivieren der Anwendungsprotokollierung für App Service
So aktivieren Sie die Anwendungshostprotokollierung im Azure-Portal:
- Wechseln Sie zu Überwachung –> App Service-Protokolle, aktivieren Sie die Anwendungsprotokollierung für das Dateisystem.
- Konfigurieren Sie das Kontingent (MB). Der Standardwert ist 35.
- Legen Sie den Wert für den Aufbewahrungszeitraum (Tage) auf einen Standardwert fest, z. B. 3 oder 7 Tage.
- Wählen Sie " Speichern" aus, um mit der Erfassung von Hostprotokollen zu beginnen.
Anzeigen von Anwendungsprotokollen für App Service
Wenn Sie Anwendungsprotokolle aktivieren, werden die Protokolle im Protokollordner Ihres Web App-Hosts gespeichert. Zeigen Sie die Protokolle entweder aus dem Azure-Portal oder der Visual Studio Code-Erweiterung für App Service an.
Zu den Protokolldateiformaten gehören:
- Bereitstellung:
{DATE-TIME}_{RANDOM-CHARS}_{docker}.log
- Start und Laufzeit:
{DATE-TIME}_{RANDOM-CHARS}_default_docker.log
Streamprotokolle für App Service
Verwenden Sie für App Service die folgende Tabelle, um weitere Informationen zum Streamen von Protokollen zu erhalten:
Methode | Beschreibung |
---|---|
Azure CLI | az webapp log tail |
App Service-Erweiterung für VSCode | Klicken Sie mit der rechten Maustaste auf die Ressource, und wählen Sie Start Streaming Logs (Streamen der Protokolle starten) aus. |
Aktivieren der Anwendungsprotokollierung für Azure-Funktionen (Plan)
Siehe die Schritte zum Aktivieren der Hostprotokollierung für App Service
Aktivieren der Anwendungsprotokollierung für Azure-Funktionen (Verbrauch)
Wenn Sie die vom Kontextobjekt in Ihrem Quellcode bereitgestellte Protokollierung verwenden, werden diese Protokolle mit einer verbrauchsbasierten Funktionen-App im Abschnitt "Monitor" der einzelnen Funktionen bereitgestellt. Mit dem Azure-Portal können Sie die Protokolle auch streamen, wenn Anforderungen in die Funktion gelangen.
Abfragen Ihrer Application Insights-Protokolle mit der Kusto-Abfragesprache
Wenn Sie context.log
in einer Funktions-App oder console.log
in einer Web-App verwenden und Application Insights aktiviert ist, werden diese benutzerdefinierten Protokolle Ihrer Application Insights-Ressource in der Ablaufverfolgungstabelle hinzugefügt. Wenn Sie dem benutzerdefinierten Protokoll eine bestimmte Zeichenfolge (etwa JavaScript
) voranstellen, können Sie in der Ablaufverfolgungstabelle nach allen Nachrichten mit diesem Präfix suchen, wenn Sie das Protokoll auf diese benutzerdefinierten Einträge reduzieren möchten. Dazu können Sie die Kusto-Abfragesprache verwenden.
traces
| where message contains "JavaScript"
Lokale Entwicklung mit Application Insights
Wenn Sie Application Insights ausprobieren, indem Sie Code lokal ausführen, der eines der Application Insights npm-Pakete verwendet, stellen Sie sicher, dass Sie die flush()
Methode aufrufen, damit die Protokollierung sofort an Application Insights gesendet wird. Beachten Sie beim Anzeigen der Protokolle, dass es noch einige Minuten dauern kann, bis Ihre benutzerdefinierten Protokolle in Application Insights verfügbar sind.
Anzeigen von App-Fehlerdaten in Application Insights
Anzeigen von Fehlern für von Application Insights überwachte Ressourcen
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für