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.
  • 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.
  • Keine: 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 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 von Protokollzielen.
  2. Sie können zwischen den folgenden Optionen für Protokollziele 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. Screenshot der Seite „Protokollierungsoptionen“.
  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 des Menüelements „Diagnoseeinstellungen“.

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 von „Neue Diagnoseeinstellung hinzufügen“ in „Diagnoseeinstellungen“.

  2. Geben Sie einen Namen für die Diagnoseeinstellung ein. Screenshot des Dialogfelds „Diagnoseeinstellungen“.

  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 des Ziels „Log Analytics“ in den „Diagnoseeinstellungen“.
    • 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 des Speicherziels in den „Diagnoseeinstellungen“.
    • An Event Hub streamen: Wählen Sie unter den Azure Event Hubs aus.
      Screenshot des Ziels „Event Hub“ in den „Diagnoseeinstellungen“.
    • An Partnerlösung senden: Wählen Sie unter den Azure-Partnerlösungen aus.
  5. Wählen Sie Speichern.

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.

So senden Sie Metriken auf App-Ebene an Log Analytics:

Ersetzen Sie <PLATZHALTER> durch Ihre Werte:

az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <APP_ARM_RESOURCE_ID> \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace <LOG_ANALYTICS_ARM_RESOURCE_ID>

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