Resolver problemas

Esta página contém informações sobre solução de problemas do Trace.

Problemas conhecidos

Esta seção lista os problemas conhecidos:

  • Os períodos gravados no seu Google Cloud projeto usando a API Telemetry não estão acessíveis à API Cloud Trace. Por exemplo, se você tentar listar esses traces, o comando falhará com um erro 404 Not Found.

Resolver problemas da Análise de registros

Esta seção descreve como resolver falhas que podem aparecer ao usar a Análise de registros para consultar os dados de trace.

Mensagem de erro informando que uma visualização não existe

Você insere uma consulta SQL no painel de consultas da página Análise de registros , mas o analisador SQL mostra o seguinte erro:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/views/OBS_VIEW_ID does not exist

O erro anterior é informado quando a visualização especificada na instrução FROM não pode ser encontrada.

Para resolver esse erro, verifique se a visualização tem a sintaxe adequada:

  • Verifique se o nome totalmente qualificado da visualização segue a sintaxe exigida pelo esquema de nomenclatura da Análise de registros. Para encontrar a sintaxe necessária de uma visualização, mostre a consulta padrão dela.

  • Se o Google Cloud ID do projeto, local, ID do bucket, ID do conjunto de dados ou ID da visualização contiver caracteres de ponto, (.), verifique se o campo está entre crases simples, (`).

    Por exemplo, se o ID do seu Google Cloud projeto for example.com:bluebird, a instrução FROM será a seguinte:

    FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
    

A mensagem "Comece a usar a Análise de registros" é mostrada

Você abre a página Análise de registros e ela mostra uma janela com uma mensagem semelhante a esta:

Get started with Log Analytics

Para usar a Análise de registros, clique em Fechar na janela.

A mensagem anterior é mostrada quando você não tem buckets de registros atualizados para usar a Análise de registros. No entanto, os dados de trace não são armazenados em um bucket de registros.

A união de várias visualizações falha

Você escreve uma consulta que une várias visualizações, mas ela é marcada como inválida.

Nem todas as visualizações podem ser unidas.

Para unir visualizações, as seguintes restrições se aplicam:

  1. Os locais das visualizações atendem a um dos seguintes requisitos:

    • Todas as visualizações têm o mesmo local.
    • Todas as visualizações estão no local global ou us.
  2. Quando os recursos de armazenamento usam chaves de criptografia gerenciadas pelo cliente (CMEK), uma das seguintes condições é verdadeira:

    • Os recursos de armazenamento que usam CMEK usam a mesma chave do Cloud KMS.
    • Os recursos de armazenamento que usam CMEK têm um ancestral comum, e esse ancestral especifica uma chave padrão Cloud KMS que está no mesmo local que os recursos de armazenamento.

    Quando um ou mais recursos de armazenamento usam CMEK, o sistema criptografa os dados temporários gerados por a união com a chave comum do Cloud KMS ou a chave padrão do ancestral.

Por exemplo, suponha que você tenha duas visualizações que residem no mesmo local. É possível unir essas visualizações quando uma das seguintes condições for verdadeira:

  • Os recursos de armazenamento não usam CMEK.
  • Um recurso de armazenamento usa CMEK e o outro não.
  • Os dois recursos de armazenamento usam CMEK e a mesma chave do Cloud KMS.
  • Os dois recursos de armazenamento usam CMEK, mas chaves diferentes. No entanto, os recursos compartilham um ancestral que especifica uma chave padrão do Cloud KMS que está no mesmo local que os recursos de armazenamento.

    Por exemplo, suponha que a hierarquia de recursos de um bucket de registros e um bucket de observabilidade inclua a mesma organização. É possível unir visualizações nesses buckets quando, para essa organização, você tiver configurado as configurações de recursos padrão para o Cloud Logging e para buckets de observabilidade com a mesma chave padrão do Cloud KMS para o local de armazenamento.

Não há dados na página Explorador de traces

Você tem um aplicativo que está enviando dados de trace para seu Google Cloud projeto. No entanto, quando você abre a página Explorador de traces, nenhum dado é mostrado.

Há vários motivos possíveis para você não conseguir visualizar os dados de trace:

  • Você não tem as permissões necessárias para visualizar os dados.
  • Os períodos de trace não foram enviados ao seu projeto.
  • Seu aplicativo não tem as permissões necessárias para gravar dados de trace.
  • Os períodos de trace não estão sendo armazenados.

As subseções a seguir fornecem informações sobre como solucionar os cenários de falha listados.

Verificar se você tem permissão para visualizar dados de trace

Para visualizar dados de trace, verifique se você recebeu o papel Usuário do Cloud Trace (roles/cloudtrace.user).

Verificar se os períodos de trace são enviados ao seu projeto

Para verificar se os períodos estão sendo enviados ao seu projeto, faça o seguinte:

  1. Ative as APIs Cloud Trace e Telemetry.

    Papéis necessários para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM Administrador de uso do serviço role (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar as APIs

    As duas APIs podem ingerir períodos de trace. No entanto, a API Telemetry é recomendada porque é compatível com o ecossistema OpenTelemetry e tem limites mais generosos do que a API Cloud Trace.

  2. Acesse a página APIs e serviços ativados e encontre as linhas da API Cloud Trace e da API Telemetry.

    Se a contagem de Solicitações dessas duas APIs for zero, nenhum dado de trace será enviado ao seu projeto.

Verificar se o aplicativo tem as permissões necessárias para gravar períodos de trace

Para determinar se o aplicativo tem permissão para gravar dados de trace no seu projeto, faça o seguinte:

  1. Acesse a página APIs e serviços ativados , encontre as linhas da API Cloud Trace e da API Telemetry e examine a coluna Erros.

  2. Se você encontrar um valor diferente de zero na coluna Erros de qualquer uma das APIs, haverá erros ao ler ou gravar dados de trace por meio dessa API. Para identificar o tipo de erro, selecione a API, selecione a guia Métricas e visualize os Erros por método da API:

    Se as gravações estiverem falhando, conceda à conta de serviço que está fornecendo credenciais os seguintes papéis:

Verificar se os dados de trace estão armazenados

Os períodos de trace são armazenados em um bucket de observabilidade chamado _Trace. Esse bucket é provisionado automaticamente quando seu Google Cloud projeto recebe períodos de trace. No entanto, há vários cenários em que o provisionamento falha.

Para determinar se um bucket de observabilidade existe para os dados de trace, você pode listar seus buckets de observabilidade ou abrir a página Explorador de traces. Por exemplo, faça o seguinte:

  1. No Google Cloud console, acesse a página Explorador de traces:

    Acessar o Explorador de traces

    Também é possível encontrar essa página usando a barra de pesquisa.

  2. Se você encontrar um banner semelhante ao seguinte, isso indica que o armazenamento dos dados de trace não está provisionado.

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

    Para provisionar um bucket de observabilidade para os dados de trace, acesse o banner e clique em Ativar.

    Quando você clica em Ativar, essa ação faz com que um período seja enviado ao seu projeto. Quando o sistema recebe o período, ele emite o comando para criar um bucket de observabilidade chamado _Trace. Esse processo pode levar vários minutos para ser concluído.

    Quando a inicialização é bem-sucedida, um banner de notificação é mostrado e o Cloud Trace ingere todos os dados de trace enviados na última hora. Esses dados foram armazenados em um buffer temporário. Pode levar alguns minutos para que os dados apareçam no Explorador de traces. Se você não encontrar nenhum dado, atualize a janela.

  3. Se o comando de ativação falhar, a seguinte mensagem será mostrada:

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

    Para resolver a falha, entre em contato com o Google Cloud suporte clicando em Registrar um tíquete.

A pesquisa de um trace específico falha

Você insere um ID de trace na página Explorador de traces. O trace não é encontrado e uma mensagem semelhante à seguinte é mostrada:

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 essa falha, tente o seguinte:

  1. Verifique se o carimbo de data/hora associado ao ID do trace está dentro do período de armazenamento.

  2. Identifique o Google Cloud projeto que armazena o trace e verifique se o seletor de recursos no Google Cloud console seleciona esse projeto. Por padrão, a página Explorador de traces só tem acesso aos dados de trace armazenados no projeto selecionado.

Dados mais antigos ausentes na página Explorador de traces

Você está usando a página Explorador de traces e pode visualizar dados recentes, mas, quando define o seletor de período como 30 dias ou um valor maior, os dados mais antigos não são mostrados.

A página Explorador de traces não mostra dados de períodos maiores que o período de armazenamento de dados do Cloud Trace, que é de 30 dias.

Se o seletor de período for de 30 dias ou menos, os dados ausentes indicarão que o banco de dados consultado pelas consultas da página Explorador de traces foi criado mais recentemente do que a configuração de período. Por exemplo, se você definir esse valor como 20 dias e só puder ver os 10 dias mais recentes de dados, o banco de dados terá sido criado há 10 dias. Além disso, esse banco de dados contém apenas traces que foram enviados ao seu Google Cloud projeto após a criação do banco de dados.

Trace incompleto é mostrado

Você abre a página Explorador de traces e seleciona um período para visualizar. O menu flutuante Detalhes mostra o trace, mas ele não está completo. Alguns períodos não são mostrados.

Os períodos podem estar ausentes pelos seguintes motivos:

  • A página Trace Explorer não está pesquisando todos os Google Cloud projetos que armazenam dados de período para o trace.

  • Seu papel do IAM em um Google Cloud projeto que armazena dados de período para o trace não contém as permissões necessárias para visualizar dados de trace.

  • Há um problema de instrumentação. Por exemplo, apenas alguns períodos em um trace foram enviados ao seu Google Cloud projeto.

Para resolver esses problemas, faça o seguinte:

  1. Na página Trace Explorer, defina o elemento Escopo como um escopo de trace que liste os projetos que armazenam os períodos do trace selecionado.

    Se não houver um escopo de trace que inclua os projetos identificados na etapa anterior, crie ou modifique um escopo de trace. Para mais informações, consulte Criar e gerenciar escopos de trace.

  2. Verifique se você tem a função Usuário do Cloud Trace (roles/cloudtrace.user) nos projetos que armazenam os dados de trace.

Você não tem as permissões necessárias para visualizar dados de trace

Você está visualizando a página Explorador de traces 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 essa mensagem, na barra de ferramentas, faça o seguinte:

  1. Expanda o elemento Escopo e identifique o escopo de trace selecionado.
  2. No menu flutuante Refinar escopo, selecione Gerenciar escopos.
  3. Localize o escopo de trace identificado na primeira etapa e expanda os detalhes para visualizar a lista de Google Cloud projetos.
  4. Para cada Google Cloud projeto no escopo de trace, verifique se você tem o papel de Usuário do Cloud Trace (roles/cloudtrace.user). Se você não tiver esse papel em um projeto, peça a um administrador ou proprietário do projeto para conceder esse papel.

Consultas entre regiões não são aceitas

Você abre a página Explorador de traces e ela mostra uma mensagem semelhante a esta:

Error loading chart data. Cross-regional queries are not supported. The selected scope comprises buckets residing in multiple locations: list of locations.

A mensagem de erro indica que a página Explorador de traces precisa emitir uma consulta para dados armazenados em locais diferentes.

Para resolver essa falha, faça uma das seguintes ações:

  • Restrinja os dados de trace àqueles armazenados pelo projeto selecionado:

    • Acesse a barra de ferramentas da página Explorador de traces e expanda o menu Escopo.
    • No menu flutuante Refinar escopo, selecione Projeto atual.
  • Selecione um escopo de trace que liste projetos cujos dados estão armazenados no mesmo local. Para fazer essa mudança, use as opções no menu Escopo.

  • Remova do escopo de trace selecionado os projetos cujos dados estão armazenados em um local diferente do projeto selecionado:

    • Acesse a barra de ferramentas da página Explorador de traces e expanda o menu Escopo.
    • No menu flutuante Refinar escopo, selecione Gerenciar escopos.
    • Na página Escopos de trace, é possível editar qualquer escopo de trace.

    Para encontrar o local de armazenamento dos dados de trace, execute o comando List observability buckets. No parâmetro de caminho, especifique seu projeto e, para o LOCATION, defina o campo como um hífen, (-), que atua como um caractere curinga.

Mensagem de ID de período ausente no trace

O trace contém uma mensagem "ID de período ausente".

Em sistemas de rastreamento distribuído, é esperado que os traces estejam incompletos. Um trace está incompleto quando um período amostrado contém uma referência a outro período que não foi recebido. A referência não resolvida pode ocorrer pelos seguintes motivos:

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

Ao visualizar um trace incompleto, o Cloud Trace mostra a mensagem "ID de período ausente" no painel de detalhes do trace.

Se você estiver vendo a mensagem "ID de período ausente" com frequência, tente o seguinte:

  • Para os componentes que você gerencia, verifique se eles respeitam e propagam a flag sampled `sampled` do cabeçalho, quando esse campo está presente. Essa configuração é uma dica para os componentes filhos para amostrar a solicitação. Para mais informações sobre cabeçalhos de trace, consulte Protocolos para propagação de contexto.

    Google Cloud Os serviços normalmente respeitam essa dica. No entanto, eles também limitam a taxa em que gravam dados de trace.

  • Se você estiver usando o Cloud Service Mesh, verifique se você segue as orientações para propagar o contexto de trace dessas configurações. Para orientações do Cloud Service Mesh, consulte Propagação do contexto de trace.

Não é possível correlacionar dados de registro e trace

Você está fazendo uma das seguintes ações:

  • Você está visualizando um período de trace e quer visualizar as entradas de registro associadas. No entanto, nenhum dado de registro é listado ou, quando você abre a página Análise de registros, ela não mostra nenhuma entrada de registro.

  • Você está visualizando uma entrada de registro e quer visualizar os períodos de trace associados. No entanto, quando você usa as opções na entrada de registro para abrir a página Explorador de traces, ela não mostra nenhum dado de trace.

Para resolver essas falhas, configure o escopo de observabilidade. Esse escopo especifica quais escopos de trace e de registro usar quando as páginas do Explorador correspondentes forem abertas. Para saber mais, consulte Configurar escopos de observabilidade para consultas de vários projetos.

Nenhum dado de trace após atualizar o app Go para usar o OpenTelemetry

Seu aplicativo depende da biblioteca de cliente para capturar traces e, depois de atualizar o aplicativo para usar o OpenTelemetry, você não verá mais os dados do Cloud Trace.

Como algumas bibliotecas de cliente do Cloud para Go são integradas ao OpenCensus, é necessário usar uma ponte do OpenCensus. Para mais informações sobre o problema resolvido pela ponte, consulte Ponte do OpenCensus.

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