Protokollspeicherungs- und Überwachungsoptionen in Azure Container Apps

Azure Container Apps bietet Ihnen Möglichkeiten zum Speichern und Anzeigen Ihrer Anwendungsprotokolle. Protokollierungsoptionen werden in Ihrer Container Apps-Umgebung konfiguriert, in der Sie das Protokollziel auswählen.

Container Apps-Anwendungsprotokolle bestehen aus zwei verschiedenen Kategorien:

  • Meldungen der Containerkonsolenausgabe (stdout/stderr).
  • Von Azure Container Apps generierte Systemprotokolle.
  • Spring App-Konsolenprotokolle.

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 weiter:
    • 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.
  • Keine: Sie können die Speicherung von Protokolldaten deaktivieren. Wenn diese Option deaktiviert ist, können Sie weiterhin Echtzeitcontainerprotokolle über das Protokolldatenstromfeature in Ihrer Container-App anzeigen. Weitere Informationen finden Sie unter Protokollstreaming.

Wenn Keine 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 Optionen über das Azure-Portal

Verwenden Sie diese Schritte, um die Protokollierungsoptionen für Ihre Container Apps-Umgebung im Azure-Portal zu konfigurieren:

  1. Wechseln Sie im Portal in Ihrem Container Apps-Umgebungsfenster zu den Protokollierungsoptionen. Screenshot of logs destinations.
  2. Sie können aus den folgenden Protokollzieloptionen wählen:
    • 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.
    • Keine: Diese Option deaktiviert die Speicherung von Protokolldaten.
  3. Wählen Sie Speichern aus. Screenshot Logging options page.
  4. Wenn Sie Azure Monitor als Ihr Protokollziel ausgewählt haben, müssen Sie Diagnoseeinstellungen konfigurieren. Das Element "Diagnoseeinstellungen " wird unterhalb des Menüelements "Protokollierungsoptionen " angezeigt.

Diagnoseeinstellungen

Wenn Sie Azure Monitor als Ihr Protokollziel auswählen, müssen Sie die Zieldetails konfigurieren. Wählen Sie im Portal im linken Menü des Fensters „Container Apps-Umgebung“ Diagnoseeinstellungen aus.

Screenshot Diagnostic setting menu item.

Zieldetails werden als Diagnoseeinstellungen gespeichert. Sie können bis zu fünf Diagnoseeinstellungen für Ihre Container Apps-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

  1. Klicken Sie auf Diagnoseeinstellung hinzufügen. Screenshot Diagnostic setting Add new diagnostic setting.

  2. Geben Sie einen Namen für die Diagnoseeinstellung ein. Screenshot Diagnostics settings dialog.

  3. 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.

  4. Wählen Sie ein oder mehrere Zieldetails aus.

    • An Log Analytics-Arbeitsbereich senden: Wählen Sie unter den vorhandenen Log Analytics-Arbeitsbereichen aus. Screenshot diagnostic settings Log Analytics destination.
    • In einem Speicherkonto archivieren: Sie können unter den vorhandenen Speicherkonten auswählen. Wenn die einzelnen Protokollkategorien ausgewählt werden, können Sie die Aufbewahrung (Tage) für jede Kategorie festlegen. Screenshot Diagnostic settings storage destination.
    • An Event Hub streamen: Wählen Sie unter den Azure Event Hubs aus.
      Screenshot Diagnostic settings event hub destination.
    • An Partnerlösung senden: Wählen Sie unter den Azure-Partnerlösungen aus.
  5. Wählen Sie Speichern aus.

Weitere Informationen zu Diagnoseeinstellungen finden Sie unter Diagnoseeinstellungen in Azure Monitor.

Konfigurieren von Optionen mithilfe der Azure CLI

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.

Die Zielwerte sind: log-analytics, azure-monitor und none.

Um beispielsweise eine Container Apps-Umgebung mithilfe eines vorhandenen Log Analytics-Arbeitsbereichs als Protokollziel zu erstellen, müssen Sie das --logs-destination-Argument mit dem Wert log-analytics und das --logs-destination-id-Argument mit dem Wert der Log Analytics-Arbeitsbereichsressourcen-ID angeben. Sie finden die Ressourcen-ID auf der Seite „Log Analytics-Arbeitsbereich“ im Azure-Portal, oder können Sie mit dem Befehl az monitor log-analytics workspace show abrufen.

Ersetzen Sie <PLATZHALTER> durch Ihre Werte:

az containerapp env create \
  --name <ENVIRONMENT_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --logs-destination log-analytics \
  --logs-workspace-id <WORKSPACE_ID>

So aktualisieren Sie eine vorhandene Container Apps-Umgebung so, dass sie Azure Monitor als Protokollziel verwendet:

Ersetzen Sie <PLATZHALTER> durch Ihre Werte:

az containerapp env update \
  --name <ENVIRONMENT_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --logs-destination azure-monitor 
  

Wenn --logs-destination auf azure-monitor festgelegt ist, erstellen Sie Diagnoseeinstellungen, um die Zieldetails für die Protokollkategorien mit dem Befehl az monitor diagnostics-settings zu konfigurieren.

Weitere Informationen zu Befehlen für Azure Monitor-Diagnoseeinstellungen finden Sie unter az monitor diagnostic-settings. Container Apps-Protokollkategorien sind ContainerAppConsoleLogs und ContainerAppSystemLogs.

Nächste Schritte