Introdução à resolução de problemas do Cloud Run

Esta página descreve as estratégias de resolução de problemas comuns para erros do Cloud Run. O Personalized Service Health publica todos os incidentes do Cloud Run que resultam da infraestrutura Cloud de Confiance by S3NS subjacente para identificar Cloud de Confiance by S3NS interrupções do serviço que afetam os seus projetos. Também deve considerar configurar alertas sobre eventos do Personalized Service Health. Para ver informações sobre incidentes que afetam todos os Cloud de Confiance by S3NS serviços, consulte o painel de controlo Cloud de Confiance by S3NS Service Health.

Consulte as secções seguintes no guia de resolução de problemas do Cloud Run para resolver problemas relacionados com o seu recurso do Cloud Run:

Estratégias de resolução de problemas do Cloud Run

As secções seguintes explicam como pode aplicar estratégias gerais de resolução de problemas para resolver o erro. Se continuar a encontrar erros mesmo depois de seguir os passos no guia de resolução de problemas, consulte a secção O que fazer a seguir.

Produza bons registos através do Cloud Logging

A resolução de problemas do recurso do Cloud Run é mais fácil se tiver bons registos para a depuração. Deve escrever os registos de forma a correlacionar os registos do contentor com um registo de pedidos.

Com os registos correlacionados, pode identificar o pedido que precisa de análise adicional, encontrar o rastreio do pedido e analisar a causa principal do problema. Para mais informações sobre como escrever registos, consulte o artigo Escreva registos do contentor.

Investigue instâncias com o Explorador de registos

Cada registo de pedidos no Cloud Run contém um campo instanceId que identifica uma instância que processa o seu pedido. Consoante o valor de simultaneidade que especificar, uma única instância pode processar vários pedidos em simultâneo.

Quando tem várias instâncias a emitir registos em simultâneo, deve filtrar as instâncias para identificar os pedidos sequenciais que levam a uma falha de sistema de uma instância.

A filtragem de uma instância permite depurar problemas de desempenho específicos relacionados com inícios a frio ou latências aumentadas. Estes problemas também podem estar associados a variáveis declaradas num âmbito global, quando o valor é reutilizado em pedidos concorrentes subsequentes. Um exemplo disto é quando cria um objeto global de pool de ligações único para a instância e, em seguida, o usa em vários pedidos.

Para filtrar uma instância específica no Explorador de registos, siga estes passos:

  1. Na Cloud de Confiance consola, aceda à página Explorador de registos:

    Aceda ao Explorador de registos

  2. Selecione um Cloud de Confiance by S3NS projeto existente na parte superior da página ou crie um novo projeto.

  3. Selecione o recurso Revisão do Cloud Run para um serviço ou Tarefa do Cloud Run para uma tarefa.

  4. Expanda uma entrada do registo para filtrar por uma instância específica.

  5. Clique no valor do ID da instância e selecione Mostrar entradas correspondentes.

Enquanto investiga instâncias, pode usar as investigações do Gemini Cloud Assist para obter estatísticas adicionais sobre os seus registos. Para mais informações sobre as diferentes formas de iniciar uma investigação através do Logs Explorer, consulte o artigo Resolva problemas com as investigações do Gemini Cloud Assist na documentação do Gemini.

Resolva latências de pedidos inesperadas

Se tiver problemas com a latência, faça o seguinte:

  1. Verifique se a latência está a afetar todos os pedidos ao seu recurso do Cloud Run ou apenas uma pequena percentagem. O Cloud Run está integrado automaticamente com o Cloud Monitoring sem necessidade de configuração.

    Para ver as métricas de latência de pedidos individuais, siga estes passos:

    1. Na Cloud de Confiance consola, aceda à página do Cloud Run:

      Aceda ao Cloud Run

    2. Selecione um serviço ou uma tarefa nas listas disponíveis na navegação à esquerda.

    3. Clique no separador MÉTRICAS para mostrar o painel de controlo Latências de pedidos.

    Para ver métricas de latência na Cloud Monitoring, selecione na lista Métricas, Revisão do Cloud Run > Request_latencies > Latência do pedido.

    Para ver uma lista de todas as métricas do Cloud Run disponíveis e detalhes mais detalhados, consulte as Cloud de Confiance by S3NS métricas no Cloud Monitoring.

  2. Identifique o pedido com latência elevada para compreender a origem da latência. Pode usar o Cloud Trace ou o Cloud Logging para compreender quanto tempo demorou um pedido específico.

    Para identificar pedidos com latência elevada através do Cloud Logging, aplique o filtro traceSampled=true para correlacionar registos no Cloud Logging com rastreios no Cloud Trace. Para mais informações, consulte o artigo Integre com o Cloud Logging.

    Por vezes, as dependências, como os pedidos a outros serviços, podem causar problemas de latência. Para identificar esses pedidos, deve ter registos explícitos de segmentação dos pedidos. Se não gerar esses registos, pode parecer um problema de latência originário de um serviço do Cloud Run.

    Além disso, deve considerar avaliar os picos de latência no contexto do período escolhido. A importância de um pico é relativa. Um pico grande num período pequeno pode ser insignificante num período maior e vice-versa. Por conseguinte, o período afeta significativamente a interpretação dos dados de latência.

  3. Experimente aumentar o número de instâncias mínimas para reduzir a latência dos pedidos recebidos e evitar inícios a frio. Também deve considerar modificar o código fonte e ajustar as definições de dimensionamento para limitar o número de ligações a um serviço de apoio.

    Para mais informações, consulte o artigo Otimizar o desempenho.

Resolva problemas de conetividade

Se o seu serviço do Cloud Run estiver a ter problemas de conetividade, considere estas estratégias e ferramentas para diagnosticar o problema:

  • PCAP sidecar: para uma análise mais detalhada ao nível da rede, implemente um PCAP sidecar juntamente com o seu serviço do Cloud Run. Este contentor sidecar executa uma captura de pacotes usando tcpdump no mesmo namespace de rede. O sidecar desassocia-se do contentor de entrada principal e não requer modificações para efetuar uma captura de pacotes. Os sidecars também usam os seus próprios recursos, o que impede que o tcpdump concorra com os recursos que atribui ao serviço principal.

  • Inteligência de rede e testes de conetividade para revisões do Cloud Run e funções do Cloud Run: faça verificações automáticas no caminho de rede entre o seu recurso do Cloud Run e um ponto final. Isto ajuda a encontrar configurações incorretas que podem bloquear o tráfego para ou a partir do seu recurso do Cloud Run quando se liga a uma instância de VM, a um endereço IP ou a um serviço gerido pela Google.

  • Reveja os registos do seu recurso do Cloud Run: os registos mostram mensagens de erro sobre problemas de ligação, como falhas, tempos limite ou ligações recusadas. Estes registos revelam frequentemente se o problema de ligação está relacionado com a sua aplicação ou com a rede.

O que se segue?

Se não conseguir encontrar uma solução para o seu problema na documentação do Cloud Run, siga estes passos: