Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Container Apps bietet Ihnen Möglichkeiten zum Speichern und Anzeigen Ihrer Anwendungsprotokolle. Sie können Protokollierungsoptionen auf Der Ebene der Container-Apps-Umgebung konfigurieren. Wenn Sie Azure Monitor als Ziel für Protokolle auswählen, können Sie Diagnoseeinstellungen sowohl auf Umgebungsebene als auch auf Container-App-Ebene konfigurieren.
Container Apps-Anwendungsprotokolle bestehen aus zwei verschiedenen Kategorien:
- Meldungen der Containerkonsolenausgabe (
stdout/stderr). - Von Azure Container Apps generierte Systemprotokolle.
- Protokolle der Spring App-Konsole.
Sie können zwischen diesen Protokollzielen wählen:
- Log Analytics: Azure Monitor Log Analytics ist die Standardspeicher- und -anzeigeoption. Ihre Protokolle werden in einem Log Analytics-Arbeitsbereich gespeichert, in dem sie mithilfe von Log Analytics-Abfragen angezeigt und analysiert werden können. Weitere Informationen zu Log Analytics finden Sie unter Azure Monitor Log Analytics.
-
Azure Monitor: Azure Monitor leitet Protokolle an ein oder mehrere Ziele um:
- Log Analytics-Arbeitsbereich zum Anzeigen und Analysieren.
- Azure-Speicherkonto zum Archivieren.
- Azure Event Hub für die Datenerfassungs- und -analysedienste. Weitere Informationen finden Sie unter Azure Event Hubs.
- Eine Azure-Partnerüberwachungslösung wie Datadog, Elastic, Logz.io und andere. Weitere Informationen finden Sie unter Partnerlösungen.
- Protokolle nicht speichern: Sie können die Speicherung von Protokolldaten deaktivieren. Wenn diese Option aktiviert ist, können Sie weiterhin Echtzeitcontainerprotokolle über das Feature Protokollstream in Ihrer Container-App anzeigen. Weitere Informationen finden Sie unter Protokollstreaming.
Wenn Protokolle nicht speichern oder das Ziel Azure Monitor ausgewählt ist, ist das Menüelement Protokolle, das den Log Analytics-Abfrage-Editor bereitstellt, im Azure-Portal deaktiviert.
Konfigurieren von Protokollierungsoptionen
Gehen Sie folgendermaßen vor, um die Protokollierungsoptionen für Ihre Umgebung im Azure-Portal zu konfigurieren:
Navigieren Sie im Portal zu Ihrer Container-Apps-Umgebung.
Wählen Sie Überwachung>Protokollierungsoptionen aus.
Sie können aus den folgenden Protokollzieloptionen wählen:
- Azure Log Analytics: Mit dieser Option wählen Sie einen Log Analytics-Arbeitsbereich aus, um Ihre Protokolldaten zu speichern. Ihre Protokolle können über Log Analytics-Abfragen angezeigt werden. Weitere Informationen zu Log Analytics finden Sie unter Azure Monitor Log Analytics.
- Azure Monitor: Azure Monitor leitet Ihre Protokolle an ein Ziel weiter. Wenn Sie diese Option auswählen, müssen Sie Diagnoseeinstellungen auswählen, um die Konfiguration abzuschließen, nachdem Sie auf dieser Seite Speichern ausgewählt haben.
- Protokolle nicht speichern: Diese Option deaktiviert die Speicherung von Protokolldaten.
Wählen Sie Speichern.
Diagnoseeinstellungen
Wenn Sie Azure Monitor als Ziel für Protokolle ausgewählt haben, müssen Sie auch die Diagnoseeinstellungen konfigurieren. Sie können die Diagnoseeinstellungen sowohl auf Umgebungsebene als auch auf Container-App-Ebene konfigurieren.
Konfigurieren von Diagnoseeinstellungen auf Umgebungsebene
Führen Sie die folgenden Schritte aus, um die Diagnoseeinstellungen für Ihre Umgebung zu konfigurieren:
Navigieren Sie im Portal zu Ihrer Umgebung.
Wählen Sie Überwachung>Diagnoseeinstellungen aus. Wenn Sie nur das Protokollziel Ihrer Umgebung auf Azure Monitor festgelegt haben, müssen Sie möglicherweise die Seite aktualisieren, damit dieses Konfigurationselement angezeigt wird.
Zieldetails werden als Diagnoseeinstellungen gespeichert. Sie können bis zu fünf Diagnoseeinstellungen für Ihre Umgebung erstellen. Sie können verschiedene Protokollkategorien für jede Diagnoseeinstellung konfigurieren. Erstellen Sie beispielsweise eine Diagnoseeinstellung zum Senden der Kategorie „Systemprotokolle“ an ein Ziel und eine andere, um die Kategorie „Containerkonsolenprotokolle“ an ein anderes Ziel zu senden.
So erstellen Sie eine neue Diagnoseeinstellung
Klicken Sie auf Diagnoseeinstellung hinzufügen.
Geben Sie im Namen der Diagnoseeinstellung einen Namen für Ihre Diagnoseeinstellung ein.
Wählen Sie die Kategoriegruppen oder Kategorien für Protokolle aus, die Sie an dieses Ziel senden möchten. Sie können eine oder mehrere Kategorien auswählen.
Wenn Sie Metriken auf App-Ebene senden möchten, wählen Sie "Metriken>alle Metriken" aus.
Wählen Sie ein oder mehrere Zieldetails aus.
- An Log Analytics-Arbeitsbereich senden: Wählen Sie unter den vorhandenen Log Analytics-Arbeitsbereichen aus.
- Archivieren in einem Speicherkonto: Wählen Sie aus Azure-Speicherkonten aus.
- An Event Hub streamen: Wählen Sie unter den Azure Event Hubs aus.
- An Partnerlösung senden: Wählen Sie unter den Azure-Partnerlösungen aus.
Wählen Sie Speichern.
Weitere Informationen zu Diagnoseeinstellungen finden Sie unter Diagnoseeinstellungen in Azure Monitor.
Konfigurieren von Diagnoseeinstellungen auf Container-App-Ebene
Führen Sie die folgenden Schritte aus, um die Diagnoseeinstellungen für Ihre Container-App zu konfigurieren:
Navigieren Sie im Portal zu Ihrer Container-App.
Wählen Sie Überwachung>Diagnoseeinstellungen aus. Wenn Sie gerade das Protokollziel Ihrer Container-App-Umgebung auf Azure Monitor festgelegt haben, müssen Sie möglicherweise die Seite aktualisieren, damit dieses Konfigurationselement angezeigt wird.
Klicken Sie auf Diagnoseeinstellung hinzufügen.
Geben Sie im Namen der Diagnoseeinstellung einen Namen für Ihre Diagnoseeinstellung ein.
Wählen Sie unter Metriken die Option AllMetrics aus.
Wählen Sie ein oder mehrere Zieldetails aus.
- An Log Analytics-Arbeitsbereich senden: Wählen Sie unter den vorhandenen Log Analytics-Arbeitsbereichen aus.
- Archivieren in einem Speicherkonto: Wählen Sie ein Speicherkonto aus.
- An Event Hub streamen: Wählen Sie unter den Azure Event Hubs aus.
- An Partnerlösung senden: Wählen Sie unter den Azure-Partnerlösungen aus.
Wählen Sie Speichern.
Konfigurieren von Protokollierungsoptionen
Konfigurieren Sie das Protokollziel für Ihre Container Apps-Umgebung mithilfe der Azure CLI-Befehle az containerapp create und az containerapp update mit dem --logs-destination-Argument.
Registrieren Sie zunächst den Microsoft.Insights Namespace.
az provider register --namespace Microsoft.Insights
An einen Log Analytics-Arbeitsbereich senden
Führen Sie den folgenden Befehl aus, um eine Container-Apps-Umgebung mit einem vorhandenen Log Analytics-Arbeitsbereich als Protokollziel zu erstellen. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte. Sie können die Ressourcen-ID des Log Analytics-Arbeitsbereichs über die Log Analytics-Arbeitsbereichsseite im Azure-Portal oder über den az monitor log-analytics workspace show Befehl abrufen.
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--logs-destination log-analytics \
--logs-workspace-id <LOG_ANALYTICS_WORKSPACE_ID>
Das --logs-destination Argument akzeptiert die Werte log-analytics, azure-monitorund none.
An Azure Monitor senden
Führen Sie den folgenden Befehl aus, um eine vorhandene Container-Apps-Umgebung so zu aktualisieren, dass Azure Monitor als Protokollziel verwendet wird. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte:
az containerapp env update \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--logs-destination azure-monitor
Konfigurieren von Diagnoseeinstellungen
Wenn --logs-destination auf azure-monitor gesetzt ist, müssen Sie Diagnoseeinstellungen erstellen, um die Zielinformationen für die Protokollkategorien mit dem az monitor diagnostics-settings-Befehl zu konfigurieren. Sie können diese Diagnoseeinstellungen sowohl auf Umgebungsebene als auch auf Container-App-Ebene konfigurieren.
Führen Sie den folgenden Befehl aus, um Diagnoseeinstellungen auf Umgebungsebene zu erstellen. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte. Sie können die Umgebungs-ID über die Seite "Umgebung" im Azure-Portal oder über den az containerapp env show Befehl abrufen.
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <ENVIRONMENT_ID> \
--logs '[{"categoryGroup":"allLogs","enabled":true}]' \
--metrics '[{"category":"AllMetrics","enabled":true}]' \
--workspace <LOG_ANALYTICS_RESOURCE_ID>
Stellen Sie sicher, dass in den JSON-Werten, die an die Parameter --logs und --metrics übergeben werden, keine Leerzeichen vorhanden sind.
Für den --logs Parameter können Sie angeben category oder categoryGroup, aber nicht beide gleichzeitig. Für categoryGroup, die verfügbaren Werte sind audit und allLogs. Für category, die verfügbaren Werte sind ContainerAppConsoleLogs und ContainerAppSystemLogs.
Für den --metrics Parameter ist AllMetricsdie einzige verfügbare Kategorie .
Weitere Informationen finden Sie unter LogSettings und MetricSettings.
Führen Sie den folgenden Befehl aus, um Diagnoseeinstellungen auf Container-App-Ebene zu erstellen. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte. Sie können die Container-App-ID über das Azure-Portal oder über den az containerapp show Befehl abrufen.
Beim Erstellen von Diagnoseeinstellungen auf Container-App-Ebene wird der --logs Parameter nicht unterstützt, und für den --metrics Parameter ist AllMetricsdie einzige verfügbare Kategorie.
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <CONTAINER_APP_ID> \
--metrics '[{"category":"AllMetrics","enabled":true}]' \
--workspace <LOG_ANALYTICS_RESOURCE_ID>
Weitere Informationen zu Befehlen für Azure Monitor-Diagnoseeinstellungen finden Sie unter az monitor diagnostic-settings.
Einschränkungen
Die folgenden Einschränkungen gelten beim Einrichten der Protokolloptionen.
- Privater Link: Das direkte Senden von Protokollen an einen Log Analytics-Arbeitsbereich über den privaten Link wird nicht unterstützt. Sie können jedoch Azure Monitor verwenden und Ihre Protokolle an denselben Log Analytics-Arbeitsbereich senden. Diese Indirektion ist erforderlich, um den Verlust von Systemprotokolldaten zu verhindern.