Opções de armazenamento e monitoramento de log nos Aplicativos de Contêiner do Azure

Os Aplicativos de Contêiner do Azure dão opções para armazenar e exibir seus logs de aplicativos. As opções de registro em log são configuradas em seu ambiente de Aplicativos de Contêiner, onde você seleciona o destino do log.

Os logs de aplicativos dos Aplicativos de Contêiner consistem em duas categorias diferentes:

  • Mensagens de saída do console de contêiner (stdout/stderr).
  • Logs do sistema gerados pelos Aplicativos de Contêiner do Azure.
  • Logs do console do Spring App.

Você pode escolher entre estes destinos de log:

  • Log Analytics: o Log Analytics do Azure Monitor é a opção padrão de armazenamento e exibição. Seus logs são armazenados em um workspace do Log Analytics, onde podem ser exibidos e analisados usando consultas do Log Analytics. Para saber mais sobre o Log Analytics, confira o Log Analytics do Azure Monitor.
  • Azure Monitor: o Azure Monitor roteia logs para um ou mais destinos:
    • Workspace do Log Analytics para exibição e análise.
    • Conta de Armazenamento do Azure a ser arquivada.
    • 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 parceiros do Azure, como Datadog, Elastic, Logz.io e outros. Para obter mais informações, confira Soluções de parceiros.
  • Nenhum: você pode desabilitar o armazenamento de dados de log. Quando desabilitado, você ainda pode exibir logs de contêiner em tempo real por meio do recurso de fluxo logs em seu aplicativo de contêiner. Para obter mais informações, confira Streaming de log.

Quando Nenhum ou o destino do Azure Monitor estiver selecionado, o item de menu Logs que fornece o editor de consultas do Log Analytics no portal do Azure estará desabilitado.

Configurar opções por meio do portal do Azure

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

  1. Acesse as Opções de Log na janela de ambiente dos Aplicativos de Contêiner no portal. Captura de tela dos destinos de logs.
  2. No entanto, é possível escolher uma das seguintes opções de Destino de Logs:
    • Log Analytics: com essa opção, você seleciona um workspace do Log Analytics para armazenar seus dados de log. Seus logs podem ser exibidos por meio de consultas do Log Analytics. Para saber mais sobre o Log Analytics, confira o Log Analytics do Azure Monitor.
    • Azure Monitor: o Azure Monitor roteia seus logs para um destino. Ao selecionar essa opção, você precisa selecionar Configurações de diagnóstico para concluir a configuração depois de selecionar Salvar nesta página.
    • Nenhum: essa opção desabilita o armazenamento de dados de log.
  3. Selecione Salvar. Captura de tela da página de Opções de log.
  4. Se você selecionou o Azure Monitor como seu destino de logs, precisa definir as Configurações de diagnóstico. O item Configurações de diagnóstico aparece abaixo do item de menu Opções de registro em log.

Configurações de Diagnóstico

Ao selecionar o Azure Monitor como destino de logs, você precisa configurar os detalhes de destino. Selecione Configurações de diagnóstico no menu esquerdo da janela Ambiente de Aplicativos de Contêiner no portal.

Captura de tela do item de menu Configuração de diagnóstico.

Os detalhes de destino são salvos como configurações de diagnóstico. Você pode criar até cinco configurações de diagnóstico para seu ambiente de aplicativo de contêiner. 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 configuração de diagnóstico:

  1. Selecione Adicionar configuração de diagnóstico. Captura de tela de Configuração de diagnóstico – Adicionar nova configuração de diagnóstico.

  2. Selecione um nome para sua configuração de diagnóstico. Captura de tela da caixa de diálogo Configurações de diagnóstico.

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

  4. Selecione um ou mais Detalhes do destino:

    • Enviar para o workspace do Log Analytics: selecione entre os workspaces existentes do Log Analytics. Captura de tela das configurações de diagnóstico de destino do Log Analytics.
    • Arquivar em uma conta de armazenamento: você pode escolher entre contas de armazenamento existentes. Quando as categorias de log individuais são selecionadas, você pode definir a Retenção (dias) para cada categoria. Captura de tela de destino de armazenamento de configurações de diagnóstico.
    • Transmitir para um hub de eventos: selecione entre os hubs de eventos do Azure.
      Captura de tela de Configurações de diagnóstico – destino do hub de eventos.
    • Enviar para uma solução de parceiro: selecione entre soluções de parceiros do Azure.
  5. Selecione Salvar.

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

Configurar opções usando a CLI do Azure

Configure o destino de logs para seu ambiente de Aplicativos de Contêiner usando os comandos az containerapp create e az containerapp update da CLI do Azure com o argumento --logs-destination.

Os valores de destino são: log-analytics, azure-monitor e none.

Por exemplo, para criar um ambiente de Aplicativos de Contêiner usando um workspace do Log Analytics existente como o destino dos logs, você precisa fornecer o argumento --logs-destination com o valor log-analytics e o argumento --logs-destination-id com o valor da ID do recurso do workspace do Log Analytics. Você pode obter a ID do recurso na página do workspace do Log Analytics no portal do Azure ou no comando az monitor log-analytics workspace show.

Substitua os <espaços reservados> pelos seus valores:

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

Para atualizar um ambiente de Aplicativos de Contêiner existente para usar o Azure Monitor como o destino de logs:

Substitua os <espaços reservados> pelos seus valores:

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

Quando --logs-destination estiver definido como azure-monitor, crie configurações de diagnóstico para configurar os detalhes de destino para as categorias de log com o comando az monitor diagnostics-settings.

Para enviar métricas no nível do aplicativo para o Log Analytics:

Substitua os <espaços reservados> pelos seus valores:

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

Para obter mais informações sobre os comandos de configurações de diagnóstico do Azure Monitor, confira az monitor diagnostic-settings. As categorias de log dos Aplicativos de Contêiner são ContainerAppConsoleLogs e ContainerAppSystemLogs.

Próximas etapas