Partilhar via


Opções de armazenamento e monitorização de registos no Azure Container Apps

O Azure Container Apps oferece opções para armazenar e ver os registos das aplicações. Você pode configurar as opções de registro em log no nível do ambiente Aplicativos de Contêiner. Se você selecionar o Azure Monitor como seu destino de logs, poderá definir as configurações de diagnóstico no nível do ambiente e no nível do aplicativo de contêiner.

Os logs de aplicativos de contêiner consistem em duas categorias diferentes:

  • Mensagens de saída (stdout/stderr) do console do contêiner.
  • Registos do sistema gerados pelas Aplicações de Contentor do Azure.
  • Logs do console da aplicação Spring.

Pode escolher entre estes destinos de registos:

  • Log Analytics: o Azure Monitor Log Analytics é a opção padrão de armazenamento e visualização. Os registos são armazenados numa área de trabalho do Log Analytics, onde podem ser visualizados e analisados através de consultas do Log Analytics. Para saber mais sobre o Log Analytics, consulte Azure Monitor Log Analytics.
  • Azure Monitor: Azure Monitor encaminha logs para um ou mais destinos:
    • Área de trabalho do Log Analytics para visualização e análise.
    • Conta de armazenamento do Azure para arquivar.
    • Hub de eventos do Azure para ingestão de dados e serviços analíticos. Para obter mais informações, consulte Hubs de Eventos do Azure.
    • Uma solução de monitoramento de parceiro do Azure, como Datadog, Elastic, Logz.io e outros. Para obter mais informações, consulte Soluções de parceiros.
  • Não salvar logs: você pode desativar o armazenamento de dados de log. Quando desativado, ainda pode visualizar logs de contêiner em tempo real por meio do Fluxo de logs no seu aplicativo de contêiner. Para obter mais informações, consulte Log streaming.

Quando Não salvar logs ou o destino do Azure Monitor é selecionado, o item de menu Logs que fornece o editor de consultas do Log Analytics no portal do Azure é desabilitado.

Configurar opções de registro em log

Use estas etapas para configurar as opções de log para seu ambiente no portal do Azure:

  1. Navegue até o ambiente do Container Apps no portal.

  2. Selecione Monitorização>Opções de registo.

  3. Você pode escolher entre as seguintes opções de destino de logs :

    • Azure Log Analytics: com esta opção, você seleciona um espaço de trabalho do Log Analytics para armazenar seus dados de log. Os seus registos podem ser visualizados através de consultas do Log Analytics. Para saber mais sobre o Log Analytics, consulte Azure Monitor Log Analytics.
    • Azure Monitor: o Azure Monitor roteia seus logs para um destino. Ao selecionar essa opção, você deve selecionar Configurações de diagnóstico para concluir a configuração depois de selecionar Salvar nesta página.
    • Não guardar registos: esta opção desativa o armazenamento de dados de registo.
  4. Selecione Guardar.

Definições de diagnóstico

Se você selecionou o Azure Monitor como seu destino de logs, também deverá definir as configurações de diagnóstico. Você pode definir as configurações de diagnóstico no nível do ambiente e no nível do aplicativo de contêiner.

Definir configurações de diagnóstico no nível do ambiente

Use estas etapas para definir as configurações de diagnóstico para seu ambiente:

  1. Navegue até o seu ambiente no portal.

  2. Selecione Configurações de diagnóstico de monitoramento>. Se você acabou de definir o destino dos logs do seu ambiente para o Azure Monitor, talvez seja necessário atualizar a página para que esse item de configuração apareça.

Os detalhes do destino são salvos como configurações de diagnóstico. Você pode criar até cinco configurações de diagnóstico para seu ambiente. Você pode configurar diferentes categorias de log para cada configuração de diagnóstico. Por exemplo, crie uma configuração de diagnóstico para enviar a categoria de logs do sistema para um destino e outra para enviar a categoria de logs do console de contêiner para outro destino.

Para criar uma nova configuração de diagnóstico:

  1. Selecione Adicionar definição de diagnóstico.

  2. Em Nome da configuração de diagnóstico, insira um nome para a configuração de diagnóstico.

  3. Selecione os grupos de Categorias ou Categorias de log que deseja enviar para este destino. Você pode selecionar uma ou mais categorias.

  4. Se você quiser enviar métricas no nível do aplicativo, selecione Métricas>AllMetrics.

  5. Selecione um ou mais detalhes do destino:

    • Enviar para o espaço de trabalho do Log Analytics: selecione entre os espaços de trabalho existentes do Log Analytics.
    • Arquivar numa conta de armazenamento: selecionar entre contas de armazenamento do Azure.
    • Transmitir para um hub de eventos: selecione entre os hubs de eventos do Azure.
    • Enviar para uma solução de parceiro: selecione a partir de soluções de parceiros do Azure.
  6. Selecione Guardar.

Para obter mais informações sobre configurações de diagnóstico, consulte Configurações de diagnóstico no Azure Monitor.

Definir configurações de diagnóstico no nível do aplicativo de contêiner

Use estas etapas para definir as configurações de diagnóstico para seu aplicativo de contêiner:

  1. Navegue até seu aplicativo de contêiner no portal.

  2. Selecione Configurações de diagnóstico de monitoramento>. Se você acabou de definir o destino dos logs do ambiente do aplicativo contêiner para o Azure Monitor, talvez seja necessário atualizar a página para que esse item de configuração apareça.

  3. Selecione Adicionar definição de diagnóstico.

  4. Em Nome da configuração de diagnóstico, insira um nome para a configuração de diagnóstico.

  5. Em Métricas, selecione AllMetrics.

  6. Selecione um ou mais detalhes do destino:

    • Enviar para o espaço de trabalho do Log Analytics: selecione entre os espaços de trabalho existentes do Log Analytics.
    • Arquivar em uma conta de armazenamento: selecione uma conta de armazenamento.
    • Transmitir para um hub de eventos: selecione entre os hubs de eventos do Azure.
    • Enviar para uma solução de parceiro: selecione a partir de soluções de parceiros do Azure.
  7. Selecione Guardar.

Configurar opções de registro em log

Configure o destino dos logs para o seu ambiente de Aplicações de Contentores usando a CLI do Azure az containerapp create e os comandos az containerapp update com o argumento --logs-destination.

Primeiro, registre o Microsoft.Insights namespace.

az provider register --namespace Microsoft.Insights

Enviar para um espaço de trabalho do Log Analytics

Para criar um ambiente de Aplicativos de Contêiner usando um espaço de trabalho existente do Log Analytics como destino de logs, execute o seguinte comando. Substitua o <PLACEHOLDERS> pelos seus valores. Você pode obter a ID do recurso do espaço de trabalho do Log Analytics na página do espaço de trabalho do Log Analytics no portal do Azure ou através do comando az monitor log-analytics workspace show.

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

O --logs-destination argumento aceita os valores log-analytics, azure-monitore none.

Enviar para o Azure Monitor

Para atualizar um ambiente de Aplicativos de Contêiner existente para usar o Azure Monitor como destino de logs, execute o seguinte comando. Substitua o <PLACEHOLDERS> pelos seus valores:

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

Configurar definições de diagnóstico

Quando --logs-destination estiver definido como azure-monitor, você deve criar configurações de diagnóstico para configurar os detalhes de destino para as categorias de log com o az monitor diagnostics-settings comando. Você pode definir essas configurações de diagnóstico no nível do ambiente e no nível do aplicativo de contêiner.

Para criar configurações de diagnóstico no nível do ambiente, execute o seguinte comando. Substitua o <PLACEHOLDERS> pelos seus valores. Você pode obter a ID do ambiente na página Ambiente no portal do Azure ou no 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>

Certifique-se de que não há espaços nos valores JSON fornecidos para os --logs parâmetros e --metrics .

Para o --logs parâmetro, você pode especificar category ou categoryGroup, mas não ambos ao mesmo tempo. Para categoryGroup, os valores disponíveis são audit e allLogs. Para category, os valores disponíveis são ContainerAppConsoleLogs e ContainerAppSystemLogs.

Para o --metrics parâmetro, a única categoria disponível é AllMetrics.

Para obter mais informações, consulte LogSettings e MetricSettings.

Para criar configurações de diagnóstico no nível do aplicativo contêiner, execute o seguinte comando. Substitua o <PLACEHOLDERS> pelos seus valores. Você pode obter a ID do aplicativo de contêiner no portal do Azure ou no az containerapp show comando.

Ao criar configurações de diagnóstico no nível do aplicativo contêiner, o --logs parâmetro não é suportado e, para o --metrics parâmetro, a única categoria disponível é AllMetrics.

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

Para obter mais informações sobre os comandos de configurações de diagnóstico do Azure Monitor, consulte az monitor diagnostic-settings.

Limitações

As limitações a seguir se aplicam à medida que você configura suas opções de log.

  • Link privado: não há suporte para o envio de logs diretamente para um espaço de trabalho do Log Analytics por meio do Private Link. No entanto, você pode usar o Azure Monitor e enviar seus logs para o mesmo espaço de trabalho do Log Analytics. Essa indireção é necessária para evitar a perda de dados de log do sistema.

Próximos passos