Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo ajuda você a identificar e resolver cenários de falha de implantação que mais frequentemente exigem escalonamento de suporte em Aplicativos de Contêiner do Azure. Cada cenário inclui sintomas, etapas de diagnóstico do portal e da CLI e resoluções.
Localize o sintoma na tabela de referência rápida e siga o link para o cenário de correspondência.
Referência rápida de sintomas
| Sintoma | Scenario |
|---|---|
| A implantação falha com o erro de provisionamento, nenhuma revisão criada | Falhas ao baixar imagens |
Revisão criada, mas o status é Failed ou Degraded |
Falhas na inicialização e de contêiner |
| A variável de ambiente ou segredo está vazia ou ausente no runtime | Problemas de acesso secreto |
| A referência do Key Vault falha na implantação ou em tempo de execução | Falhas de referência ao Key Vault |
| Chamadas de identidade gerenciadas retornam 401 ou 403 | Configuração incorreta de identidade gerenciada |
| O contêiner de inicialização trava ou falha, o aplicativo nunca é iniciado | Problemas de tempo de inicialização |
A revisão foi provisionada, mas marcada com Degraded |
Falhas na investigação de integridade |
| O aplicativo está íntegro, mas as solicitações retornam erros ou nenhuma resposta | Problemas de entrada e roteamento de tráfego |
| Falha na autenticação do registro (401 ou UNAUTHORIZED) | Autenticação do Registro de Contêiner |
Onde procurar: superfícies de diagnóstico
Use as superfícies de diagnóstico a seguir para investigar falhas de implantação.
| Superfície | O que ele mostra | Como acessar |
|---|---|---|
| Diagnosticar e resolver problemas | Detectores automatizados para problemas comuns, categorias de solução de problemas e análise guiada. | No portal Azure, acesse seu aplicativo de contêiner e selecione Diagnosticar e resolver problemas. |
| Logs do sistema | Eventos no nível da plataforma: status de extração da imagem, resultados da investigação, erros de identidade, resultados de sincronização secreta. | Tabela az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type system --tail 50 ou Log AnalyticsContainerAppSystemLogs_CL. |
| Logs do Console | stdout/stderr do aplicativo: rastreamentos de pilha, mensagens de inicialização, erros de runtime. |
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --tail 100 ou painel da transmissão de logs do portal. |
| Logs de HTTP | Logs de solicitações da camada de ingresso: códigos de status, latência, caminhos, novas tentativas, detalhes da resposta. Ative por meio das configurações de diagnóstico do Azure Monitor no ambiente. | Tabela do Log Analytics ContainerAppHTTPLogs. |
| Propriedades de detalhes da revisão |
provisioningState, provisioningError, healthState, runningState, runningStateDetails. |
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> -o json ou painel Revisões do portal. |
| Erros durante a implantação | Nível do aplicativo provisioningState e provisioningError quando nenhuma revisão é criada. |
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> -o json |
Falhas na extração de imagem
Falhas ao baixar a imagem são uma das causas mais comuns de erros de implantação. Eles geralmente ocorrem antes que Aplicativos de Contêiner do Azure possa criar uma revisão utilizável.
Symptoms
- Nenhuma revisão criada.
-
provisioningStateéFailed. - A mensagem de erro menciona
ImagePullBackOff,UNAUTHORIZEDoumanifest unknown.
Onde procurar: diagnóstico de extração de imagens
No portal do Azure, vá para Aplicativo de Contêiner>Revisões (a lista está vazia ou mostra uma entrada com falha) >Diagnosticar e resolver problemas e pesquise por "imagem".
# Check app-level provisioning state and error
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> \
--query "{provisioning:properties.provisioningState, error:properties.provisioningError, latestRevision:properties.latestRevisionName}" -o json
# List revisions (expect empty or failed)
az containerapp revision list -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> \
--query "[].{name:name, health:properties.healthState, provisioning:properties.provisioningState}" -o table
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| A tag da imagem não existe |
manifest unknown, tag not found |
Verifique se a marca exata existe no registro: az acr repository show-tags --name <AZURE_CONTAINER_REGISTRY_NAME> --repository <REPOSITORY_NAME> |
| Registro requer autenticação | UNAUTHORIZED: authentication required |
Configure as credenciais de registro no aplicativo de contêiner. Use credenciais de administrador ou identidade gerenciada para pull do ACR. Consulte a autenticação do registro de contêineres. |
| Nome de host do registro incorreto |
name unknown, falha de resolução de DNS |
Verifique se o --image valor usa o nome do host correto <REGISTRY>.azurecr.io . |
| Firewall ou NSG bloqueia o acesso ao registro | Tempo de espera da conexão esgotado | Se você estiver usando uma VNet personalizada, verifique o acesso de saída ao Registro. Adicione a tag de serviço AzureContainerRegistry ou as regras de FQDN. |
Falhas na inicialização e de contêiner
Use esta seção quando uma revisão é criada, mas a carga de trabalho não inicia ou não continua em execução.
Symptoms
- A revisão foi criada, mas
healthStateéUnhealthy. -
runningStateéFailed. - Os logs do console podem estar vazios (o contêiner é encerrado antes de registrar a saída).
Onde procurar: falha e diagnóstico de inicialização
No portal do Azure, vá para Aplicativo de Contêineres>Revisões, selecione a revisão com falha e abra a guia Eventos. Verifique se há eventos BackOff ou CrashLoopBackOff.
# Inspect revision detail
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> \
--query "{health:properties.healthState, running:properties.runningState, details:properties.runningStateDetails, error:properties.provisioningError}" -o json
# Pull console logs (if any output was written)
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --tail 100
# Pull system logs for platform-level events
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type system --tail 50
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| O aplicativo trava na inicialização | Rastreamento de pilha em logs de console | Corrija o erro do aplicativo. Se os logs estiverem vazios, a falha acontecerá antes da liberação de stdout. Adicione o registro em log antecipado ou defina o runtime para desabilitar o buffer de saída (por exemplo, PYTHONUNBUFFERED=1). |
| Comando ou ponto de entrada inválido |
exec format error, executable file not found |
Verifique se o command e o args do contêiner correspondem ao que a imagem espera. Verifique az containerapp revision show em busca de properties.template.containers[].command. |
| Variável de ambiente ausente |
KeyError, undefined, referência nula |
Verifique se todas as variáveis de ambiente necessárias estão definidas. Consulte problemas de acesso secreto. |
| Recursos insuficientes | OOMKilled |
Aumente os limites de memória e CPU no contêiner: az containerapp update -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --cpu 1.0 --memory 2.0Gi. |
Problemas de acesso secreto
Use esta seção para solucionar problemas de valores secretos ausentes ou vazios que interrompem a configuração do aplicativo em runtime.
Symptoms
- O contêiner é iniciado, mas o aplicativo falha porque um valor de configuração esperado está vazio ou ausente.
- Variáveis de ambiente que fazem referência a segredos não têm valor.
Onde procurar: diagnósticos de referência secreta
No portal do Azure, acesse Aplicativo de Contêiner>Configurações>Segredos para verificar se o segredo existe. Em seguida, vá paraRevisões de > de Contêiner, selecione a revisão e verifique os detalhes> do contêinerVariáveis de ambiente para verificar se a referência está correta.
# List secrets defined on the app
az containerapp secret list -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> -o table
# Show the revision template to verify env var references
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> \
--query "properties.template.containers[].env" -o json
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| Incompatibilidade de nome do segredo | O valor de env var está vazio | O secretRef na variável de ambiente deve corresponder exatamente ao nome do segredo (diferencia maiúsculas de minúsculas). |
| Segredo não definido | Erro de implantação referenciando segredo desconhecido | Defina o segredo antes de implantar: az containerapp secret set -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --secrets mysecret=myvalue. |
| Segredo atualizado, mas a revisão não foi reiniciada | O valor antigo persiste | Implante uma nova revisão ou reinicie a existente: az containerapp revision restart -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV>. Atualizar um segredo sozinho não dispara uma nova revisão. |
| Segredo excluído enquanto a revisão faz referência a ele | Falha ao iniciar o contêiner | Implante uma nova revisão que remova a referência ao segredo excluído e, em seguida, desative as revisões antigas. |
Importante
Em Aplicativos de Contêiner, os segredos estão no escopo do aplicativo, mas as referências a variáveis de ambiente estão no escopo da revisão. Alterar um valor secreto não se propaga automaticamente para revisões em execução. Você deve criar uma nova revisão ou reiniciar a existente para que o valor atualizado entre em vigor.
Falhas de referência do Key Vault
Use esta seção quando os segredos com suporte Key Vault não forem resolvidos durante a implantação ou enquanto o aplicativo estiver em execução.
Symptoms
- A implantação falha ou o valor do segredo não está disponível.
- Os logs do sistema fazem referência a erros de acesso ao Key Vault.
-
provisioningErrormenciona falha de autenticação ou autorização no Key Vault.
Onde procurar: diagnóstico de acesso ao Key Vault
No portal do Azure, vá para Aplicativo de Contêiner>Configurações>Segredos (procure um ícone de aviso na referência do Key Vault). Em seguida, vá para Aplicativo de Contêiner>Diagnosticar e solucionar problemas e procure por "Key Vault".
# List secrets and check for Key Vault reference status
az containerapp secret list -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> -o json
# Verify managed identity is assigned
az containerapp identity show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| Identidade gerenciada não habilitada | Managed identity not configured |
Habilite a identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário: az containerapp identity assign -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --system-assigned. |
| Função RBAC não encontrada |
Authorization failed, Access denied |
Conceda a função Key Vault Secrets User à identidade gerenciada no Key Vault: az role assignment create --role "Key Vault Secrets User" --assignee <IDENTITY_PRINCIPAL_ID> --scope <KEYVAULT_RESOURCE_ID>. |
| Key Vault firewall bloqueia o acesso | Tempo limite de conexão, ForbiddenByFirewall |
Adicione os IPs de saída do ambiente de Aplicativos de Contêiner ao firewall de Key Vault ou configure um ponto de extremidade privado. Adicione também a AzureKeyVault tag de serviço e o login.microsoft.com FQDN se estiver usando UDR com Firewall do Azure. |
| O segredo está desabilitado no Key Vault | SecretDisabled |
Habilite o segredo em Key Vault: Azure portal > Key Vault > Segredos > selecione o segredo > Habilitar. |
| URI de Key Vault malformado |
SecretNotFound, InvalidUri |
Verifique o formato de URI: https://<vault>.vault.azure.net/secrets/<secret-name> ou https://<vault>.vault.azure.net/secrets/<secret-name>/<version>. |
| Atraso na propagação da função RBAC | Funciona após cerca de 5 minutos | As alterações de RBAC podem levar até 10 minutos para serem propagadas. O cache de token de identidade pode persistir por até 24 horas. Aguarde e tente novamente ou implante uma nova revisão. |
Configuração incorreta de identidade gerenciada
Use esta seção quando a autenticação nos serviços do Azure falhar, mesmo que seu aplicativo esteja configurado para usar identidade gerenciada.
Symptoms
- O código do aplicativo recebe 401 (não autorizado) ou 403 (proibido) ao chamar serviços Azure.
- Falha na aquisição do token de identidade gerenciada.
Onde procurar: diagnósticos de identidade e autorização
No portal do Azure, vá para Aplicativo de Contêiner>Configurações>Identidade (verifique se a identidade atribuída pelo sistema está On ou se as identidades atribuídas pelo usuário estão listadas). Em seguida, verifique o painel IAM/Controle de acesso do recurso de destino para verificar as atribuições de função.
# Verify identity configuration
az containerapp identity show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>
# Check role assignments for the identity's principal ID
az role assignment list --assignee <PRINCIPAL_ID> --all -o table
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| Nenhuma identidade atribuída | O SDK gera ManagedIdentityCredential erro |
Atribuir uma identidade: az containerapp identity assign -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --system-assigned. |
| Identidade incorreta usada (sistema versus atribuído pelo usuário) | 403 no recurso de destino | Se estiver usando a identidade atribuída pelo usuário, especifique a ID do cliente em seu código: DefaultAzureCredential(managed_identity_client_id="<CLIENT_ID>"). |
| Falta atribuição de função no recurso de destino | 403 | Atribua a função necessária no recurso de destino (por exemplo, Colaborador de Dados de Blobs de Armazenamento em uma conta de armazenamento). |
| O contêiner do Init precisa de identidade, mas não está disponível | O contêiner de inicialização falha com o erro de autenticação | Em ambientes com perfil de carga de trabalho somente para consumo e dedicado, os contêineres de inicialização não podem usar identidade gerenciada. Mova a lógica que depende da identidade para o contêiner principal ou use um ambiente de consumo com perfil de carga de trabalho e defina lifecycle: Init na identidade. |
| Cache de token obsoleto após alteração de função | 403 persiste por minutos após a correção | O cache de token de identidade pode persistir até 24 horas. Implante uma nova revisão para forçar a atualização do token. |
Dica
O Container Apps disponibiliza um endpoint REST acessível internamente para obter tokens de identidade gerenciada. Em vez de chamar esse ponto de extremidade diretamente, use o SDK de Identidade do Azure (DefaultAzureCredential) para uma experiência consistente entre ambientes.
Problemas de tempo de inicialização
Use esta seção quando os contêineres de inicialização bloquearem a inicialização ou falharem antes que o contêiner principal possa começar a atender ao tráfego.
Symptoms
- O aplicativo nunca atinge um estado em execução.
- Os contêineres de inicialização aparecem presos ou falham.
- Os logs do sistema mostram o contêiner de inicialização em execução, mas nunca concluído.
Onde procurar: diagnóstico do contêiner de inicialização
No portal do Azure, vá para Aplicativo de Contêiner > Revisões, selecione a revisão e abra a guia Eventos. Procure eventos de contêiner de inicialização.
# Check revision running state
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> \
--query "{running:properties.runningState, details:properties.runningStateDetails}" -o json
# Check init container logs
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --container <INIT_CONTAINER_NAME> --tail 100
# System logs for platform events
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type system --tail 50
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| O contêiner de inicialização depende de um serviço ainda não disponível | Conexão recusada ou expiração do tempo limite nos logs do contêiner de inicialização | Adicione uma lógica de repetição ou uma verificação de preparação no contêiner de inicialização. Não suponha que os serviços dependentes estejam disponíveis no momento da inicialização. |
| O contêiner de inicialização jamais é fechado | A revisão continua em Provisioning |
Verifique se o contêiner de inicialização executa um comando finito e sai com o código 0. Contêineres de inicialização que são executados indefinidamente impedem o início do contêiner principal. |
| O contêiner de init precisa de identidade gerenciada | 401 ou 403 do contêiner de inicialização | Em ambientes apenas de consumo e com perfil de carga de trabalho dedicado, a identidade gerenciada não está disponível para contêineres de inicialização. Use um ambiente de consumo do perfil de carga de trabalho ou mova a carga de trabalho dependente de identidade para o contêiner principal. |
| Falha ao fazer download da imagem do contêiner de inicialização | Os mesmos sintomas de Falhas na extração de imagens | Aplique as mesmas verificações de autenticação do registro e da tag da imagem. |
| Ordem das operações: segredo ainda não sincronizado | O contêiner de inicialização lê o segredo vazio | A sincronização de segredos do Key Vault ocorre de forma assíncrona. Se o contêiner de inicialização depender de um segredo referenciado por Key Vault, talvez o valor ainda não esteja disponível. Use segredos diretos em dependências de inicialização ou adicione lógica de nova tentativa. |
Falhas de sondas de saúde
Use esta seção quando as revisões forem implantadas com êxito, mas estiverem marcadas como não íntegras ou forem afetadas por verificações de investigação.
Symptoms
- A revisão é provisionada, mas o status de execução é
Degraded. - Os registros do sistema mostram eventos
Unhealthycom detalhes de falha da sonda. - O aplicativo funciona localmente, mas falha nas verificações de integridade na ACA.
Onde procurar: diagnóstico de integridade da investigação
No portal do Azure, vá para Aplicativo de Contêiner>Aplicativo>Contêineres>Sondas de integridade (verifique a configuração da sonda). Em seguida, vá para Aplicativo de Contêiner>Revisões, selecione a revisão e abra Eventos.
# Check the revision's probe configuration
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> \
--query "properties.template.containers[].probes" -o json
# System logs for probe failure events
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type system --tail 50
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| A porta da probe não corresponde à porta do aplicativo | A investigação retorna conexão recusada | Defina a porta da investigação de acordo com a porta de escuta do aplicativo e a entrada targetPort. |
| O aplicativo leva muito tempo para ser iniciado | A investigação falha antes de o aplicativo estar pronto, e a revisão fica Degraded |
Aumente initialDelaySeconds em investigações de preparação e de disponibilidade. Comum com aplicativos Java. |
| Caminho da investigação retorna status diferente de 200 | A sonda falha com erro HTTP | Verifique se o ponto de extremidade da integridade retorna 200. Para sondas HTTP, verifique se o caminho existe e responde corretamente. |
| Sonda TCP quando o aplicativo só se vincula após a inicialização | A investigação se conecta antes que o aplicativo esteja escutando | Use uma investigação de inicialização com failureThreshold mais alto a fim de dar tempo para o aplicativo se vincular à porta. |
Valores padrão da sonda
Quando você habilita o ingresso e não configura sondas, a ACA aplica estes valores padrão:
| Property | Startup | Vivacidade | Preparação |
|---|---|---|---|
| Protocol | TCP | TCP | TCP |
| Porto | Porta de destino de entrada | Porta de destino de entrada | Porta de destino de entrada |
| Atraso inicial | 1s | 1s | 3s |
| Período | 1s | 1s | 5 s |
| Limite de falhas | 240 | 48 | N/A |
Problemas na entrada e no roteamento de tráfego
Use esta seção quando o aplicativo estiver em execução, mas as solicitações falharem porque as configurações de tráfego de entrada ou revisão estão incorretas.
Symptoms
- O aplicativo está em execução e íntegro, mas as solicitações HTTP retornam erros (404, 502) ou nenhuma resposta.
- O aplicativo funciona por meio
az containerapp exec, mas não por meio da URL pública.
Onde procurar: diagnóstico de entrada e tráfego
No portal do Azure, vá para Aplicativo de Contêiner>Configurações>Entrada. Em seguida, vá para Aplicativo de Contêiner>Aplicativo>Revisões (verifique a divisão de tráfego).
# Check ingress configuration and traffic split
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> \
--query "{ingress:properties.configuration.ingress, latestReady:properties.latestReadyRevisionName}" -o json
# Verify the FQDN
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --query "properties.configuration.ingress.fqdn" -o tsv
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| Entrada não habilitada | Nenhum FQDN atribuído, não é possível acessar o aplicativo | Habilitar entrada: az containerapp ingress enable -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type external --target-port 8080 --transport auto. |
| Incompatibilidade de porta de destino | 502 Bad Gateway | Defina targetPort para corresponder à porta em que seu aplicativo está escutando. |
| Peso do tráfego: 0% na revisão mais recente | A revisão anterior serve tráfego | Atualizar divisão de tráfego: az containerapp ingress traffic set -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision-weight latest=100. |
| A restrição de IP bloqueia o cliente | 403 | Verifique as restrições de segurança de IP nas configurações de entrada. |
| Transporte incorreto (HTTP vs TCP) | Erros de conexão | Verifique se o tipo de entrada corresponde ao protocolo do aplicativo. |
Autenticação do Registro de Contêiner
Use esta seção quando as extrações de imagem falharem porque o aplicativo não consegue se autenticar no registro de contêiner.
Symptoms
- A implantação falha em
UNAUTHORIZED: authentication required. - Esse erro geralmente mascara outros problemas (como uma marca de imagem incorreta) porque o Registro rejeita a solicitação antes de poder verificar a marca.
Onde procurar: diagnósticos de autenticação do registro
No portal do Azure, vá para Aplicativo de Contêiner>Configurações>Contêiner (verifique as configurações do registro). Em seguida, vá até Aplicativo de Contêiner>Diagnosticar e solucionar problemas e procure "registro".
# Check configured registries
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> \
--query "properties.configuration.registries" -o json
# Verify ACR credentials work
az acr login --name <AZURE_CONTAINER_REGISTRY_NAME>
docker pull <AZURE_CONTAINER_REGISTRY_NAME>.azurecr.io/<REPOSITORY_NAME>:<TAG>
Causas e resoluções comuns
| Cause | Sinal de erro | Solução |
|---|---|---|
| Nenhuma credencial do Registro configurada | UNAUTHORIZED |
Adicionar credenciais do Registro: az containerapp registry set -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --server <AZURE_CONTAINER_REGISTRY_NAME>.azurecr.io --identity system. |
| Credenciais de administrador desabilitadas no ACR |
UNAUTHORIZED com usuário administrador |
Habilite o usuário administrador: az acr update -n <AZURE_CONTAINER_REGISTRY_NAME> --admin-enabled true.
Preferido: use a identidade gerenciada para extração de ACR. |
| A identidade gerenciada não possui a função AcrPull | UNAUTHORIZED |
Atribua a função AcrPull : az role assignment create --role AcrPull --assignee <PRINCIPAL_ID> --scope <ACR_RESOURCE_ID>. |
| Nome do host do servidor incorreto | name unknown |
Verifique se o servidor do registro corresponde ao seu ACR: <your-acr>.azurecr.io. |
Resumo do fluxo de trabalho de diagnóstico
Use esta sequência quando não tiver certeza do que falhou:
Execute
az containerapp show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> -o json. VerifiqueprovisioningState,provisioningErrorelatestRevisionName.Execute
az containerapp revision list -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> -o table. Se a lista estiver vazia, a falha será um problema de extração de imagem ou de validação do modelo (falhas de extração de imagem e autenticação do Registro de Contêiner). Se houver uma revisão, continue na etapa 3.Execute
az containerapp revision show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --revision <REV> -o json. VerifiquehealthState,runningState,runningStateDetailseprovisioningError.Execute
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --type system --tail 50para exibir eventos no nível da plataforma, como falhas de investigação, erros de identidade e problemas de sincronização secreta.Execute
az containerapp logs show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --tail 100para exibir o stdout/stderr do aplicativo, incluindo rastreamentos de pilha, erros de configuração e falhas de conexão.Execute
az containerapp identity show -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>para verificar a configuração de identidade se erros relacionados à autenticação apareceram nas etapas anteriores.
Use a opção Diagnosticar e resolver problemas no portal
O portal de Aplicativos de Contêiner inclui uma folha Diagnosticar e resolver problemas com diagnóstico automatizado:
- Acesse seu aplicativo de contêiner no portal do Azure.
- Selecione Diagnosticar e resolver problemas da navegação à esquerda.
- Use a caixa de pesquisa para encontrar diagnósticos específicos (por exemplo, "extração da imagem", "investigação de integridade" ou "entrada").
- Selecione um bloco de categoria de solução de problemas para análise guiada.
Este painel é o ponto de partida recomendado para diagnósticos guiados. Ele pode não abranger todos os cenários deste artigo, mas fornece verificações automatizadas para problemas comuns.
Consultas do Log Analytics para uma investigação mais aprofundada
Se a saída da CLI e o diagnóstico do portal não forem suficientes, consulte os logs subjacentes diretamente no Log Analytics. As duas consultas a seguir abrangem os pontos de partida mais comuns para falhas no nível da plataforma e erros HTTP no nível de entrada.
Localizar falhas no nível do sistema
ContainerAppSystemLogs_CL
| where RevisionName_s == "<REV>"
| where Log_s contains "BackOff" or Log_s contains "Failed" or Log_s contains "Error"
or Reason_s == "Unhealthy"
| project TimeGenerated, Reason_s, Log_s
| order by TimeGenerated desc
| take 50
Esta consulta mostra erros ao extrair imagem, falhas de sondagem, erros de provisionamento e outros eventos da plataforma.
Localizar erros HTTP (requer que os logs de HTTP estejam habilitados)
A camada de entrada gera logs HTTP, e você aceita recebê-los. Habilite esses logs por meio das configurações de diagnóstico do Azure Monitor no ambiente gerenciado do Container Apps. Depois de habilitá-los, a tabela ContainerAppHTTPLogs aparece no Log Analytics. Pode levar vários minutos para que a tabela apareça.
ContainerAppHTTPLogs
| where TimeGenerated > ago(1h)
| where StatusCode >= 400
| project TimeGenerated, ContainerAppName, RevisionName, Method, Path,
StatusCode, ResponseCodeDetails, RequestDuration, RequestId
| order by TimeGenerated desc
| take 100
Essa consulta filtra os logs HTTP da camada de entrada para mostrar apenas solicitações com falha (código de status 400 ou superior) da última hora. Ele retorna o carimbo de data/hora, o nome do aplicativo e da revisão, o método HTTP e o caminho, o código de status do erro, um ResponseCodeDetails campo que indica se o erro se originou do contêiner (via_upstream) ou da plataforma (route_not_found, connection_timeout), a duração da solicitação e uma ID de solicitação exclusiva que você pode usar para correlacionar com os logs do aplicativo.
Para mais consultas, inclusive análise de solicitações lentas, taxa de erros por revisão, rastreamento de solicitações individuais e pontos de extremidade com mais falhas, consulte Monitorar logs em Aplicativos de Contêiner do Azure com o Log Analytics.
Conteúdo relacionado
- Solucionar problemas de um aplicativo de contêiner
- Gerencie segredos em Aplicativos de Contêiner do Azure
- Identidades gerenciadas nos Aplicativos de Contêiner do Azure
- Sondagens de saúde em Aplicativos de Contêiner do Azure
- Entrada nos Aplicativos de Contêiner do Azure
- Monitorar logs nos Aplicativos de Contêiner do Azure com o Log Analytics