Condividi tramite


Opzioni di archiviazione e monitoraggio dei log in App contenitore di Azure

Azure Container Apps offre opzioni per l'archiviazione e la visualizzazione dei log delle applicazioni. È possibile configurare le opzioni di registrazione a livello di ambiente App contenitore. Se si seleziona Monitoraggio di Azure come destinazione dei log, è possibile configurare le impostazioni di diagnostica sia a livello di ambiente che a livello di app contenitore.

I log delle applicazioni container sono costituiti da due diverse categorie.

  • Messaggi di output della console contenitore (stdout/stderr).
  • Registri di sistema generati dalle app di contenitori di Azure.
  • Log della console Spring App.

È possibile scegliere tra queste destinazioni dei registri:

  • Log Analytics: Log Analytics di Azure Monitor è l'opzione predefinita per l'archiviazione e la visualizzazione. I log vengono archiviati in un'area di lavoro Analisi dei log in cui possono essere visualizzati e analizzati usando le rispettive query. Per altre informazioni su Log Analytics, vedere Azure Monitor Log Analytics.
  • Monitoraggio di Azure: Monitoraggio di Azure instrada i log a una o più destinazioni:
    • Area di lavoro di analisi dei log per la visualizzazione e l'analisi.
    • Account di archiviazione di Azure da archiviare.
    • Hub eventi di Azure per l'inserimento dati e i servizi analitici. Per altre informazioni, vedere Hub eventi di Azure.
    • Soluzione di monitoraggio dei partner di Azure, ad esempio Datadog, Elastic, Logz.io e altri. Per altre informazioni, vedere le soluzioni dei partner.
  • Non salvare i log: è possibile disabilitare l'archiviazione dei dati di log. Se è disabilitata, è comunque possibile visualizzare i log dei contenitori in tempo reale tramite la funzionalità Flusso di log nell'app contenitore. Per altre informazioni, vedere Flusso di log.

Quando si è selezionatoNon salvare i log o la destinazione Monitoraggio di Azure, la voce di menu Log che fornisce l'editor di query di Log Analytics nel portale di Azure è disabilitata.

Configurare le opzioni di registrazione

Usare questi passaggi per configurare le opzioni di registrazione per l'ambiente nel portale di Azure:

  1. Passare all'ambiente delle App contenitore sul portale.

  2. Selezionare Monitoraggio>Opzioni di registrazione.

  3. È possibile scegliere tra le opzioni di destinazione log seguenti:

    • Azure Log Analytics: con questa opzione si seleziona un'area di lavoro Log Analytics per archiviare i dati di log. I log possono essere visualizzati tramite query di Log Analytics. Per altre informazioni su Log Analytics, vedere Azure Monitor Log Analytics.
    • Monitoraggio di Azure: Monitoraggio di Azure instrada i log a una destinazione. Quando si seleziona questa opzione, è necessario selezionare Impostazioni di diagnostica per completare la configurazione dopo aver selezionato Salva in questa pagina.
    • Non salvare i log: questa opzione disabilita l'archiviazione dei dati di log.
  4. Seleziona Salva.

Impostazioni di diagnostica

Se hai selezionato Azure Monitor come destinazione dei log, è necessario configurare le impostazioni di diagnostica. È possibile configurare le impostazioni di diagnostica sia a livello di ambiente che a livello di app contenitore.

Configurare le impostazioni di diagnostica a livello di ambiente

Usare questi passaggi per configurare le impostazioni di diagnostica per l'ambiente:

  1. Vai al tuo ambiente nel portale.

  2. Selezionare Monitoraggio>impostazioni di diagnostica. Se è stata appena impostata la destinazione dei log dell'ambiente su Monitoraggio di Azure, potrebbe essere necessario aggiornare la pagina per visualizzare questo elemento di configurazione.

I dettagli di destinazione vengono salvati come impostazioni di diagnostica. È possibile creare fino a cinque impostazioni di diagnostica per l'ambiente. È possibile configurare categorie di log diverse per ogni impostazione di diagnostica. Ad esempio, creare un'impostazione di diagnostica per inviare la categoria dei log di sistema a una destinazione e un'altra per inviare la categoria dei log della console contenitore a un'altra destinazione.

Per creare una nuova impostazione di diagnostica:

  1. Selezionare Aggiungi impostazione di diagnostica.

  2. In Nome dell'impostazione diagnostica, immettere un nome per l'impostazione di diagnostica.

  3. Selezionare il log Gruppi di categorie o Categorie che si desidera inviare a questa destinazione. È possibile selezionare una o più categorie.

  4. Per inviare metriche a livello di app, selezionare Metriche>AllMetrics.

  5. Selezionare uno o più dettagli di destinazione:

    • Inviare all'area di lavoro Log Analytics: selezionare da aree di lavoro Log Analytics esistenti.
    • Archivia su un account di archiviazione: questa opzione è deprecata.
    • Tasmettere a un hub eventi: selezionare dall’hub eventi di Azure.
    • Inviare a una soluzione partner: selezionare tra soluzioni partner di Azure.
  6. Seleziona Salva.

Per altre informazioni sulle impostazioni di diagnostica, vedere Impostazioni di diagnostica in Monitoraggio di Azure.

Configurare le impostazioni di diagnostica a livello di app contenitore

Usare questi passaggi per configurare le impostazioni di diagnostica per l'app contenitore:

  1. Accedi all'app contenitore attraverso il portale.

  2. Selezionare Monitoraggio>impostazioni di diagnostica. Se è stata appena impostata la destinazione dei log dell'ambiente dell'app contenitore su Monitoraggio di Azure, potrebbe essere necessario aggiornare la pagina per visualizzare questo elemento di configurazione.

  3. Selezionare Aggiungi impostazione di diagnostica.

  4. In Nome impostazione diagnostica, immettere un nome per la tua impostazione diagnostica.

  5. In Metricheselezionare AllMetrics.

  6. Selezionare uno o più dettagli di destinazione:

    • Inviare all'area di lavoro Log Analytics: selezionare da aree di lavoro Log Analytics esistenti.
    • Archivia su un account di archiviazione: questa opzione è deprecata.
    • Tasmettere a un hub eventi: selezionare dall’hub eventi di Azure.
    • Inviare a una soluzione partner: selezionare tra soluzioni partner di Azure.
  7. Seleziona Salva.

Configurare le opzioni di registrazione

Configurare la destinazione dei log per l'ambiente app contenitore usando l'interfaccia della riga di comando di Azure az containerapp create e az containerapp updatei comandi con l'argomento --logs-destination.

Prima di tutto, registrare lo Microsoft.Insights spazio dei nomi.

az provider register --namespace Microsoft.Insights

Inviare a un'area di lavoro Log Analytics

Per creare un ambiente di App contenitore usando un'area di lavoro Log Analytics esistente come destinazione dei log, eseguire il comando seguente. Sostituire con i <PLACEHOLDERS> valori. È possibile ottenere l'ID risorsa dell'area di lavoro Log Analytics dalla pagina dell'area di lavoro Log Analytics nel portale di Azure o dal az monitor log-analytics workspace show comando .

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

L'argomento --logs-destination accetta i valori log-analytics, azure-monitore none.

Inviare a Monitoraggio di Azure

Per aggiornare un ambiente di App contenitore esistente per usare Monitoraggio di Azure come destinazione dei log, eseguire il comando seguente. Sostituire con i <PLACEHOLDERS> valori:

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

Configurare le impostazioni di diagnostica

Quando --logs-destination è impostato su azure-monitor, è necessario creare le impostazioni di diagnostica per configurare i dettagli di destinazione per le categorie di log con il az monitor diagnostics-settings comando . È possibile configurare queste impostazioni di diagnostica sia a livello di ambiente che a livello di app contenitore.

Per creare impostazioni di diagnostica a livello di ambiente, eseguire il comando seguente. Sostituire con i <PLACEHOLDERS> valori. È possibile ottenere l'ID ambiente dalla pagina Ambiente nel portale di Azure o dal az containerapp env show comando .

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>

Assicurarsi che non siano presenti spazi nei valori JSON forniti ai --logs parametri e --metrics .

Per il --logs parametro è possibile specificare category o categoryGroup, ma non entrambi contemporaneamente. Per categoryGroup, i valori disponibili sono audit e allLogs. Per category, i valori disponibili sono ContainerAppConsoleLogs e ContainerAppSystemLogs.

Per il --metrics parametro , l'unica categoria disponibile è AllMetrics.

Per altre informazioni, vedere LogSettings e MetricSettings.

Per creare impostazioni di diagnostica a livello di app contenitore, eseguire il comando seguente. Sostituire con i <PLACEHOLDERS> valori. È possibile ottenere l'ID dell'app contenitore dal portale di Azure o dal az containerapp show comando .

Quando si creano impostazioni di diagnostica a livello di app contenitore, il --logs parametro non è supportato e per il --metrics parametro l'unica categoria disponibile è AllMetrics.

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

Per altre informazioni sui comandi delle impostazioni di diagnostica di Monitoraggio di Azure, vedere Impostazioni di diagnostica in Monitoraggio di Azure.

Limitazioni

Le limitazioni seguenti si applicano durante la configurazione delle opzioni di log.

  • Collegamento privato: l'invio di log direttamente a un'area di lavoro Log Analytics tramite collegamento privato non è supportato. Tuttavia, è possibile usare Monitoraggio di Azure e inviare i log alla stessa area di lavoro Log Analytics. Questo riferimento indiretto è necessario per evitare la perdita di dati del log di sistema.

Passaggi successivi