Esta página descreve as estratégias comuns de solução de problemas para erros do Cloud Run. O Personalized Service Health publica todos os incidentes do Cloud Run que vêm da infraestrutura Google Cloud para identificar Google Cloud interrupções de serviço que afetam seus projetos. Também é recomendável configurar alertas em eventos do Personalized Service Health. Para informações sobre incidentes que afetam todos os Google Cloud serviços, consulte o painel Google Cloud Service Health.
Consulte as seções a seguir no guia de solução de problemas do Cloud Run para resolver problemas relacionados ao seu recurso do Cloud Run:
Estratégias para solução de problemas do Cloud Run
As seções a seguir explicam como aplicar estratégias gerais de solução de problemas para resolver o erro. Se você continuar encontrando erros mesmo depois de seguir as etapas no guia de solução de problemas, entre em contato com o suporte.
Gerar bons registros usando o Cloud Logging
É mais fácil resolver problemas no recurso do Cloud Run se você tiver bons registros para depuração. Você precisa gravar os registros de uma maneira que correlacione os registros do contêiner com um registro de solicitação.
Com os registros correlacionados, é possível identificar a solicitação que precisa de mais análises, encontrar o trace da solicitação e analisar a causa raiz do problema. Para mais informações sobre como gravar registros, consulte Gravar registros de contêiner.
Investigar instâncias usando a Análise de registros
Cada registro de solicitação no Cloud Run contém um campo instanceId
que identifica uma instância que processa sua solicitação. Dependendo do valor de simultaneidade especificado, uma única instância pode processar várias solicitações ao mesmo tempo.
Quando você tem várias instâncias emitindo registros de uma só vez, é necessário filtrar as instâncias para identificar as solicitações sequenciais que levam a uma falha de instância.
A filtragem de uma instância permite depurar problemas de desempenho específicos relacionados a inicializações a frio ou aumento de latência. Esses problemas também podem ser vinculados a variáveis declaradas em um escopo global, quando o valor é reutilizado em solicitações simultâneas. Um exemplo disso é quando você cria um único objeto global de pool de conexões para a instância e o usa em várias solicitações.
Para filtrar uma instância específica no Logs Explorer, siga estas etapas:
No console do Google Cloud, acesse a página do Explorador de registros:
Selecione um projeto Google Cloud atual na parte de cima da página ou crie um novo.
Selecione o recurso Revisão do Cloud Run para um serviço ou Job do Cloud Run para um job.
Expanda uma entrada de registro para filtrar por uma instância específica.
Clique no valor do ID da instância e selecione Mostrar entradas correspondentes.
Resolver latências de solicitações inesperadas
Se você tiver problemas com a latência, faça o seguinte:
Verifique se a latência está afetando todas as solicitações para seu recurso do Cloud Run ou apenas uma pequena porcentagem. O Cloud Run é integrado automaticamente ao Cloud Monitoring sem necessidade de configuração.
Para conferir as métricas de latência de solicitações individuais, siga estas etapas:
No console do Google Cloud, acesse a página do Cloud Run:
Selecione o serviço ou os trabalhos na lista.
Clique na guia MÉTRICAS para mostrar o painel Latências de solicitação.
Para visualizar as métricas de latência no Cloud Monitoring, selecione na lista Métricas, Revisão do Cloud Run > Latências de solicitação > Latência de solicitação.
Para conferir uma lista de todas as métricas do Cloud Run disponíveis e mais detalhes, consulte métricasGoogle Cloud no Cloud Monitoring.
Identifique a solicitação com alta latência para entender a origem dela. Use o Cloud Trace ou o Cloud Logging para entender quanto tempo uma solicitação específica levou.
Para identificar solicitações com alta latência usando o Cloud Logging, aplique o filtro
traceSampled=true
para correlacionar os registros no Cloud Logging com os rastros no Cloud Trace. Para mais informações, consulte Integrar com o Cloud Logging.Às vezes, dependências, como solicitações para outros serviços, podem causar problemas de latência. Para identificar essas solicitações, você precisa ter um registro explícito que as vise. Se você não gerar esses registros, eles poderão aparecer como um problema de latência originado de um serviço do Cloud Run.
Além disso, avalie os picos de latência no contexto do intervalo de tempo escolhido. A importância de um pico é relativa. Um pico grande em uma janela pequena pode ser insignificante em uma janela maior e vice-versa. Portanto, a janela de tempo afeta significativamente a interpretação dos dados de latência.
Aumente o número de instâncias mínimas para reduzir a latência das solicitações recebidas e evitar inicializações a frio. Também é recomendável modificar o código-fonte e ajustar as configurações de escalonamento para limitar o número de conexões a um serviço de suporte.
Para mais informações, consulte Como otimizar o desempenho.