Resolver problemas

Esta página contém informações de resolução de problemas para o Trace.

Este documento descreve como resolver problemas quando usa a página Explorador de rastreios ou a página Explorador de rastreios antiga:

Problemas conhecidos

Esta secção apresenta problemas conhecidos:

  • Os intervalos escritos no seu Google Cloud projeto através da API Telemetry não estão disponíveis através da página Trace Explorer antiga. Para ver estes intervalos, use a página predefinida do Explorador de rastreios.

  • Os intervalos escritos no seu Google Cloud projeto através da API Telemetry não são acessíveis à Cloud Trace API. Por exemplo, se tentar listar estes rastreios, o comando falha com um erro 404 Not Found.

Resolva problemas com a página Explorador de rastreios

Esta secção descreve como resolver problemas quando usa a página Explorador de rastreios.

Não existem dados na página Explorador de rastreios

Está a usar a página Explorador de rastreios e não consegue ver nenhum rastreio no seu Google Cloud projeto quando espera que os dados de rastreio estejam presentes.

Experimente os seguintes passos:

  1. Confirme se a API Cloud Trace está ativada e se os dados estão a ser escritos no seu projeto:

    1. Na Google Cloud consola, aceda à página APIs e serviços ativados:

      Aceda a APIs e serviços ativados

    2. Se a API Cloud Trace estiver listada, avance para o passo seguinte. Caso contrário, ative a API.

      Para ativar a API, clique em Ativar APIs e serviços, pesquise "API Cloud Trace", selecione a opção e, de seguida, clique em Ativar.

  2. Na página APIs e serviços ativados, encontre a linha etiquetada como API Cloud Trace.

  3. Se a coluna etiquetada como Erro apresentar um valor diferente de zero, significa que existem erros ao ler ou escrever dados de rastreio através da API Cloud Trace. Para obter mais informações sobre a origem dos erros, selecione API Cloud Trace, selecione o separador Métricas e, de seguida, encontre o gráfico com a etiqueta Erros por método da API:

    • Se as escritas estiverem a falhar, conceda à conta de serviço que está a fornecer as credenciais de autenticação a função de agente do Cloud Trace (roles/cloudtrace.agent). Esta função inclui a autorização cloudtrace.traces.patch, que permite que as aplicações escrevam dados de intervalos num Google Cloud projeto.

      Para mais informações, consulte o artigo Funções da IAM do Cloud Trace.

    • Se as leituras estiverem a falhar, certifique-se de que a sua função do IAM no projeto Google Cloud inclui as autorizações na função de utilizador do Cloud Trace (roles/cloutrace.user). Para ver uma lista de autorizações para esta função, consulte Funções do IAM do Cloud Trace.

  4. A coluna Pedidos apresenta o número de pedidos enviados para a API Cloud Trace. Quando esta coluna é zero, não estão a ser enviados dados de rastreio através dessa API.

    O App Engine, o Cloud Run e as funções do Cloud Run enviam dados de rastreio sem usar a Cloud Trace API. Se usar apenas estes serviços, avance para o passo seguinte.

    Se tiver uma aplicação que esteja a enviar dados de rastreio através da API Cloud Trace e a coluna de pedidos for zero, verifique as suas aplicações e proxies para confirmar se estão configurados para enviar os rastreios para o projeto correto.

  5. Na página Explorador de rastreios, verifique se o armazenamento de rastreios está inicializado:

    1. Na Google Cloud consola, aceda à página Explorador de rastreios:

      Aceda ao Explorador de rastreios

      Também pode encontrar esta página através da barra de pesquisa.

    2. Se o armazenamento de rastreios não estiver inicializado, a página Explorador de rastreios apresenta uma faixa com o seguinte texto:

      Trace storage is not initialized in this project. Enable trace storage to begin collecting trace data.
      

      Para inicializar o armazenamento de rastreios, clique em Ativar na faixa. Normalmente, a inicialização é concluída em poucos minutos.

      Quando a inicialização é bem-sucedida, é apresentado um banner de notificação. O Trace carrega dados de rastreio enviados na última hora, que foram armazenados anteriormente num buffer. Pode atualizar a página dentro de alguns minutos, à medida que os dados começam a aparecer no Explorador de rastreios.

      Se vir uma mensagem de erro que indica que a inicialização falhou, um Google Cloud membro da equipa de apoio técnico tem de resolver manualmente o problema. Clique em Apresentar um pedido para iniciar este processo.

  6. Verifique se a página Explorador de rastreios está a pesquisar dados de rastreio no seu projeto atual. Na barra de ferramentas, aceda ao elemento Âmbito, expanda o menu Refinar âmbito, selecione Projeto atual e, de seguida, selecione Aplicar.

Pesquise falhas de rastreio específicas

Introduz um ID de rastreio na página Explorador de rastreios. O rastreio não é encontrado e é apresentada uma mensagem semelhante à seguinte:

The select trace with ID abcde does not exist or is older than 30 days and has been deleted per our retention policy.

Para resolver esta falha, experimente o seguinte:

  1. Verifique se a data/hora associada ao ID de rastreio está dentro do período de retenção.

  2. Identifique o Google Cloud projeto que armazena o rastreio e certifique-se de que o seletor de recursos na Google Cloud consola seleciona este projeto. Por predefinição, a página Explorador de rastreios só tem acesso aos dados de rastreio armazenados no projeto selecionado.

Dados mais antigos em falta na página Explorador de rastreios

Está a usar a página Explorador de rastreios e pode ver dados recentes, mas quando define o seletor de intervalo de tempo para 30 dias ou um valor superior, os dados mais antigos não são apresentados.

A página Explorador de rastreios não apresenta dados para períodos superiores ao período de retenção de dados do Cloud Trace, que é de 30 dias.

Se o seletor de intervalo de tempo for de 30 dias ou menos, os dados em falta indicam que a base de dados consultada pelas consultas da página Explorador de rastreio foi criada mais recentemente do que a sua definição de intervalo de tempo. Por exemplo, se definir este valor como 20 dias e só conseguir ver os 10 dias de dados mais recentes, significa que a base de dados foi criada há 10 dias. Além disso, esta base de dados só contém rastreios que foram enviados para o seu Google Cloud projeto após a criação da base de dados.

Para ver e analisar dados de rastreio mais antigos, mude para a página do Explorador de rastreios antigo. Esta página lê os dados de rastreio e intervalo de uma base de dados diferente da página do Explorador de rastreios.

Aceda ao explorador de rastreios antigo

Intervalos em falta num rastreio

Abre a página Trace Explorer e seleciona um intervalo para ver. O menu de sobreposição Detalhes mostra o rastreio, mas faltam alguns intervalos.

Os intervalos podem estar em falta pelos seguintes motivos:

  • A página Explorador de rastreios não está a pesquisar todos os Google Cloud projetos que armazenam dados de intervalo para o rastreio.

  • A sua função do IAM num projeto do Google Cloud que armazena dados de intervalo para o rastreio não contém as autorizações necessárias para ver os dados de rastreio.

  • Existe um problema de instrumentação. Por exemplo, apenas alguns intervalos num rastreio foram enviados para o seu projeto do Google Cloud .

Para resolver estes problemas, faça o seguinte:

  1. Determine se o rastreio está concluído na página do Explorador de rastreios antigo:

    1. No menu de sobreposição Detalhes do rastreio, copie o ID do rastreio para a área de transferência.

    2. Aceda à página do explorador de rastreios antigo:

      Aceda ao explorador de rastreios antigo

    3. Cole o ID de rastreio no campo ID de rastreio.

      A página Detalhes do rastreio é atualizada e apresenta os projetos que armazenam intervalos para o rastreio.

  2. Se o rastreio estiver concluído na página antiga Explorador de rastreios, regresse à página Explorador de rastreios e defina o elemento Âmbito para um âmbito de rastreio que liste todos os projetos que identificou no passo anterior. Estes são os projetos que armazenam os intervalos para o rastreio selecionado.

    Se não existir um âmbito de rastreio que inclua os projetos que identificou no passo anterior, crie ou modifique um âmbito de rastreio existente. Para mais informações, consulte o artigo Crie e faça a gestão de âmbitos de rastreio.

  3. Se o rastreio não estiver concluído na página do explorador de rastreios antigo, significa que não foram registados intervalos ou que não tem a função de utilizador do Cloud Trace (roles/cloudtrace.user) nos projetos que armazenam os dados de intervalos.

Não tem as autorizações necessárias para ver os dados de rastreio

Está a ver a página Explorador de rastreios e vê a seguinte notificação:

You don't have the required permissions to view trace data for one or more projects listed in the trace scope.

Para resolver esta mensagem, na barra de ferramentas, faça o seguinte:

  1. Expanda o elemento Âmbito e identifique o âmbito do rastreio selecionado.
  2. No menu de sobreposição Refinar âmbito, selecione Gerir âmbitos.
  3. Localize o âmbito do rastreio que identificou no primeiro passo e, em seguida, expanda os detalhes para ver a lista de Google Cloud projetos.
  4. Para cada Google Cloud projeto no âmbito do rastreio, verifique se tem a função de utilizador do Cloud Trace (roles/cloudtrace.user). Se não tiver essa função num projeto, peça a um administrador ou proprietário do projeto que lhe conceda essa função.

A inicialização do armazenamento de rastreios falha

Tenta inicializar o armazenamento de rastreios clicando em Ativar na faixa apresentada no Explorador de rastreios e vê o seguinte erro:

Initializing trace storage has failed for an unexpected reason. Please file a support ticket for assistance.

Se a inicialização do armazenamento falhar, um Google Cloud membro da equipa de apoio técnico tem de resolver manualmente o problema. Para contactar o apoio técnico, clique em Registar um pedido.

Resolva problemas com a página antiga do explorador de rastreios

Esta secção descreve como resolver problemas quando usa a página do explorador de rastreios antigo.

Não existem dados na interface antiga

Está a usar a página do explorador de rastreios antigo e não consegue ver nenhum rastreio no seu Google Cloud projeto quando espera que existam dados de rastreio.

Para resolver esta falha, experimente os seguintes passos:

  1. Enable the Cloud Trace API.

    Enable the API

  2. Na Google Cloud consola, aceda à página APIs e serviços:

    Aceda a APIs e serviços

    Depois de encontrar a linha com a etiqueta Cloud Trace API, experimente o seguinte:

    • Se a coluna etiquetada como Pedidos não apresentar informações numéricas, significa que não estão a ser enviados dados de rastreio para o seu Google Cloud projeto.

      Para resolver este caso, verifique as suas aplicações e proxies para garantir que estão configurados para enviar os rastreios para o projeto correto.

    • Selecione Cloud Trace API, selecione o separador Métricas e, de seguida, encontre o gráfico com a etiqueta Erros por método da API:

      • Se as escritas estiverem a falhar, conceda à conta de serviço que está a fornecer as credenciais de autenticação a função de agente do Cloud Trace (roles/cloudtrace.agent). Esta função inclui a autorização cloudtrace.traces.patch, que permite que as aplicações escrevam dados de intervalos num Google Cloud projeto.

        Para mais informações, consulte o artigo Funções da IAM do Cloud Trace.

      • Se as leituras estiverem a falhar, certifique-se de que a sua função de IAM no projeto inclui as autorizações na função Utilizador do Cloud Trace (roles/cloutrace.user). Para ver uma lista de autorizações para esta função, consulte as funções de IAM do Cloud Trace. Google Cloud

Não existem dados de rastreio para a app implementada na interface antiga

Implementou uma app que envia dados para o seu projeto Google Cloud através da API Cloud Trace, mas os dados de rastreio não são recolhidos.

Experimente o seguinte:

  • Se não estiver a ver dados na página do explorador de rastreios antigo da consola, siga os passos na secção intitulada Sem dados na interface de rastreio antiga. Google Cloud

  • Se a app não estiver implementada no Google Cloud ou se usar uma conta de serviço para fornecer credenciais de autenticação, certifique-se de que à conta de serviço foi atribuída a função Agente do Cloud Trace (roles/cloudtrace.agent).

    Esta função inclui a autorização cloudtrace.traces.patch, que permite que as aplicações escrevam dados de intervalos num projeto Google Cloud .

  • Se a app depender do OpenTelemetry, faça o seguinte:

    • Para o serviço raiz, experimente atualizar as variáveis de ambiente para que o OpenTelemetry use o amostrador com uma taxa de amostragem de 0.5:traceidratio

      export OTEL_TRACES_SAMPLER="traceidratio"
      export OTEL_TRACES_SAMPLER_ARG="0.5"
      
    • Para todos os outros serviços, deixe a variável de ambiente OTEL_TRACES_SAMPLER por definir para usar o amostragem predefinido, que é parentbased_always_on. A definição predefinida significa que a decisão de amostragem para um intervalo é herdada do intervalo principal, se existir. Se não existir um intervalo principal, o intervalo é amostrado.

    A menos que a sua aplicação faça sempre a amostragem de cada intervalo, não é possível, em geral, forçar o rastreio integral de um pedido, porque cada componente num pedido integral toma a sua própria decisão de amostragem. No entanto, pode influenciar a decisão adicionando ao cabeçalho de rastreio uma flag sampled, com esta flag definida como true. Esta definição é uma sugestão para os componentes secundários para amostrar o pedido. Para mais informações sobre os cabeçalhos de rastreio, consulte o artigo Protocolos para propagação de contexto.

Mensagem de ID de intervalo em falta no rastreio

O seu rastreio contém uma mensagem "Missing span ID" (ID de intervalo em falta).

Nos sistemas de rastreio distribuído, são esperados rastreios incompletos. Um rastreio está incompleto quando um intervalo de amostragem contém uma referência a outro intervalo que não foi recebido. A referência não resolvida pode ocorrer pelos seguintes motivos:

  • O intervalo referenciado não foi amostrado.
  • O intervalo referenciado foi amostrado, mas ainda não foi recebido pelo Cloud Trace ou o intervalo foi recebido, mas não armazenado.

Quando está a ver um rastreio incompleto, o Cloud Trace apresenta a mensagem "Missing span ID" no painel de detalhes do rastreio.

Se vir sempre a mensagem "Missing span ID", experimente o seguinte:

  • Para os componentes que gere, certifique-se de que respeitam e propagam a flag sampled da propriedade do cabeçalho quando este campo está presente. Esta definição é uma sugestão para os componentes secundários para fazerem uma amostragem do pedido. Para mais informações sobre os cabeçalhos de rastreio, consulte o artigo Protocolos para propagação de contexto.

    Os serviçosGoogle Cloud respeitam normalmente esta sugestão. No entanto, também limitam a taxa à qual escrevem dados de rastreio.

  • Se estiver a usar a Cloud Service Mesh, certifique-se de que segue as orientações para propagar o contexto de rastreio para essas configurações. Para orientações sobre a malha de serviços na nuvem, consulte o artigo Propagação do contexto de rastreio.

Não existem dados de rastreio após a atualização da app Go para usar o OpenTelemetry

A sua aplicação depende da biblioteca cliente para capturar rastreios e, depois de atualizar a aplicação para usar o OpenTelemetry, já não vê dados do Cloud Trace.

Uma vez que algumas bibliotecas cliente da nuvem para Go estão integradas com o OpenCensus, tem de usar uma ponte do OpenCensus. Para mais informações sobre o problema resolvido pela ponte, consulte o artigo Ponte OpenCensus.

Para ver informações sobre a atualização das bibliotecas cliente da Google Cloud para Go, consulte o problema n.º 4237.