Compartilhar via


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. Você pode configurar opções de registro em log no nível do ambiente dos 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 do Container Apps 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:
    • Espaço de trabalho 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.
  • Não salvar logs: É possível desativar o armazenamento de dados de log. Quando desabilitado, você ainda pode visualizar logs de contêiner em tempo real por meio do recurso fluxo de logs no seu aplicativo de contêiner. Para obter mais informações, confira Transmissão de Log.

Quando Não salvar logs 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 de registo

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

  1. Navegue até o ambiente dos Aplicativos de Contêiner no portal.

  2. Selecione Monitoramento>Opções de Registro.

  3. Você pode escolher entre as seguintes opções de Destino de Logs :

    • Azure 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.
    • Não salve logs: essa opção desabilita o armazenamento de dados de log.
  4. Selecione Salvar.

Configuraçõ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 Monitoramento>Configurações de Diagnóstico. Se você acabou de definir o destino de 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 de 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 configuração de diagnóstico:

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

  2. No 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 você 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 workspace do Log Analytics: selecione entre os workspaces do Log Analytics disponíveis.
    • Arquivar em uma conta de armazenamento: selecione entre as 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 entre soluções de parceiros do Azure.
  6. Selecione Salvar.

Para obter mais informações sobre as configurações de diagnóstico, confira 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é o seu aplicativo de contêiner no portal.

  2. Selecione Monitoramento>Configurações de Diagnóstico. Se você acabou de definir o destino de logs do seu ambiente de aplicativo de 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 configuração de diagnóstico.

  4. No 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 workspace do Log Analytics: selecione entre os workspaces do Log Analytics disponíveis.
    • Arquivar em uma conta de armazenamento: essa opção foi preterida.
    • Transmitir para um hub de eventos: selecione entre os hubs de eventos do Azure.
    • Enviar para uma solução de parceiro: selecione entre soluções de parceiros do Azure.
  7. Selecione Salvar.

Configurar opções de registo

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.

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 do Log Analytics existente como destino dos logs, execute o seguinte comando. Substitua os valores de <PLACEHOLDERS> pelos seus valores. Você pode obter a ID do recurso da área de trabalho do Log Analytics na página do Log Analytics no portal do Azure ou no 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-analyticse azure-monitornone.

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 comando a seguir. Substitua o <PLACEHOLDERS> pelos seus valores:

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

Definir configuraçõ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 comando a seguir. Substitua os valores de <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>

Verifique se não há espaços nos valores JSON fornecidos para os parâmetros --logs 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 de contêiner, execute o comando a seguir. Substitua os valores de <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 de contêiner, não há suporte para o --logs parâmetro 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, confira 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 enviar logs diretamente para um Workspace do Log Analytics por meio do Link Privado. No entanto, você pode usar o Azure Monitor e enviar seus logs para o mesmo workspace do Log Analytics. Essa indireção é necessária para evitar a perda de dados do log do sistema.

Próximas etapas