Problemas conhecidos
Nesta seção, listamos os problemas conhecidos:
- Os intervalos gravados no seu projeto Google Cloud usando a
API Telemetry não estão acessíveis à
API Cloud Trace. Por exemplo, se você tentar listar esses rastreamentos, o comando vai falhar com um erro
404 Not Found.
Resolver problemas da Análise de dados de registros
Esta seção descreve como resolver falhas que podem aparecer ao usar o Log Analytics para consultar seus dados de rastreamento.
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 dados 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 correta:
Verifique se o nome totalmente qualificado da visualização segue a sintaxe exigida pelo esquema de nomenclatura do Log Analytics. Para encontrar a sintaxe necessária de uma visualização, mostre a consulta padrão dela.
Se o ID do projeto Google Cloud , o local, o ID do bucket, o ID do conjunto de dados ou o ID da visualização contiverem pontos,
(.), verifique se o campo está entre crases simples,(`).Por exemplo, se o ID do seu projeto Google Cloud for
example.com:bluebird, a instruçãoFROMserá assim:FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
Não há dados na página Explorador de traces
Você tem um aplicativo que está enviando dados de rastreamento para seu projeto Google Cloud . No entanto, quando você abre a página Trace Explorer, nenhum dado é mostrado.
Há vários motivos possíveis para você não conseguir ver os dados de rastreamento:
- Você não tem as permissões necessárias para acessar os dados.
- Os intervalos de rastreamento não foram enviados ao seu projeto.
- Seu aplicativo não tem as permissões necessárias para gravar dados de rastreamento.
- Seus intervalos de rastreamento não estão sendo armazenados.
As subseções a seguir fornecem informações sobre como resolver problemas nos cenários de falha listados.
Verificar se você tem permissão para acessar dados de rastreamento
Para ver os dados de rastreamento, verifique se você recebeu a função do usuário do Cloud Trace (roles/cloudtrace.user).
Verifique se os intervalos de rastreamento estão sendo enviados para seu projeto
Para verificar se os intervalos estão sendo enviados ao seu projeto, faça o seguinte:
-
Enable the Cloud Trace and Telemetry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.As duas APIs podem ingerir intervalos de rastreamento. No entanto, a API Telemetry é recomendada porque é compatível com o ecossistema OpenTelemetry e tem limites mais generosos do que a API Cloud Trace.
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 rastreamento será enviado ao seu projeto.
Verifique se o aplicativo tem as permissões necessárias para gravar intervalos de rastreamento.
Para determinar se o aplicativo tem permissão para gravar dados de rastreamento no projeto, faça o seguinte:
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.
Se você encontrar um valor diferente de zero na coluna Erros de qualquer uma das APIs, isso significa que há erros ao ler ou gravar dados de rastreamento usando essa API. Para identificar o tipo de erro, selecione a API, a guia Métricas e confira 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:
- API Cloud Trace: Função do agente do Cloud Trace (
roles/cloudtrace.agent). - API Telemetry: Gravador de rastreamento de telemetria da nuvem (
roles/telemetry.tracesWriter).
- API Cloud Trace: Função do agente do Cloud Trace (
Verificar se os dados de rastreamento estão armazenados
Os intervalos de rastreamento são armazenados em um bucket de observabilidade chamado _Trace. Esse bucket é provisionado automaticamente quando seu projeto Google Cloud recebe intervalos de rastreamento.
No entanto, há vários cenários em que o provisionamento falha.
Para determinar se um bucket de observabilidade existe para seus dados de rastreamento, você pode [listar seus buckets de observabilidade][trace-storage-list-buckets] ou abrir a página Explorador de rastreamento. Por exemplo, você pode fazer o seguinte:
-
No console Google Cloud , 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.
Se você vir um banner semelhante ao seguinte, isso indica que o armazenamento dos dados de rastreamento não foi provisionado.
Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data.Para provisionar um bucket de observabilidade para seus dados de rastreamento, acesse o banner e clique em Ativar.
Quando você clica em Ativar, essa ação faz com que um intervalo seja enviado ao seu projeto. Quando o sistema recebe o intervalo, 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 rastreamento 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 não aparecerem dados, atualize a janela.
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 suporte Google Cloud clicando em Enviar um tíquete.
Pesquisar falhas de rastreamento específicas
Você insere um ID de rastreamento na página Explorador de traces. O rastreamento não é encontrado e uma mensagem semelhante a esta é 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:
Verifique se o carimbo de data/hora associado ao ID do rastreamento está dentro do período de armazenamento.
Identifique o projeto do Google Cloud que armazena o rastreamento e verifique se o seletor de recursos no console do Google Cloud seleciona esse projeto. Por padrão, a página Buscador de trace 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 rastreamento e pode ver 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 rastreamentos 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 vão indicar que o banco de dados consultado pelas consultas da página Explorador de rastreamentos foi criado mais recentemente do que sua configuração de período. Por exemplo, se você definir esse valor como 20 dias e só conseguir ver os 10 dias mais recentes de dados, o banco de dados foi criado há 10 dias. Além disso, esse banco de dados contém apenas rastreamentos enviados ao seu projeto Google Cloud depois da criação do banco de dados.
Um rastreamento incompleto é mostrado
Abra a página do Trace Explorer e selecione um intervalo para visualizar. O painel suspenso Detalhes mostra o trace, mas ele não está completo. Alguns intervalos não são mostrados.
Os intervalos podem estar faltando pelos seguintes motivos:
A página Buscador de trace não pesquisa todos os projetos Google Cloud que armazenam dados de período para o trace.
Seu papel do IAM em um projeto Google Cloud que armazena dados de intervalo para o rastreamento não tem as permissões necessárias para ver os dados de rastreamento.
Há um problema de instrumentação. Por exemplo, apenas alguns intervalos em um rastreamento foram enviados para seu projeto do Google Cloud .
Para resolver esses problemas, faça o seguinte:
Na página Buscador de trace, defina o elemento Escopo como um escopo de trace que liste os projetos que armazenam os intervalos do trace selecionado.
Se não houver um escopo de rastreamento que inclua os projetos identificados na etapa anterior, crie ou modifique um escopo de rastreamento. Para mais informações, consulte Criar e gerenciar escopos de rastreamento.
Verifique se você tem o papel de usuário do Cloud Trace (
roles/cloudtrace.user) nos projetos que armazenam os dados de intervalo.
Você não tem as permissões necessárias para acessar os dados de rastreamento
Você está na 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 esse problema, faça o seguinte na barra de ferramentas:
- Expanda o elemento Escopo e identifique o escopo de rastreamento selecionado.
- No menu suspenso Refinar escopo, selecione Gerenciar escopos.
- Localize o escopo de rastreamento identificado na primeira etapa e expanda os detalhes para ver a lista de projetos Google Cloud .
- Para cada projeto Google Cloud no escopo do rastreamento, 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 a você.
Mensagem de ID de extensão ausente no rastreamento
Seu rastreamento contém uma mensagem "ID de período ausente".
Em sistemas de rastreamento distribuído, é esperado que haja rastreamentos incompletos. Um rastreamento é incompleto quando um período de amostra 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 intervalo referenciado não foi amostrado.
- O período referenciado foi coletado, mas ainda não foi recebido pelo Cloud Trace ou foi recebido, mas não armazenado.
Ao visualizar um trace incompleto, o Cloud Trace mostra a mensagem "ID do período ausente" no painel de detalhes do trace.
Se você estiver vendo a mensagem "ID de intervalo ausente" de forma consistente, tente o seguinte:
Para componentes gerenciados por você, verifique se eles respeitam e propagam a flag
sampleddo cabeçalho quando esse campo está presente. Essa configuração é uma dica para que os componentes filhos façam amostragem da solicitação. Para mais informações sobre cabeçalhos de rastreamento, consulte Protocolos para propagação de contexto.Os serviçosGoogle Cloud geralmente respeitam essa dica. No entanto, eles também limitam a taxa de gravação de dados de rastreamento.
Se você estiver usando o Cloud Service Mesh, verifique se está seguindo as orientações para propagar o contexto de rastreamento dessas configurações. Para orientações sobre o Cloud Service Mesh, consulte Propagação do contexto de rastreamento.
Não é possível correlacionar dados de registros e rastreamentos
Você está fazendo uma das seguintes ações:
Você está visualizando um intervalo de rastreamento e quer ver 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 ver os intervalos de rastreamento associados. No entanto, quando você usa as opções na entrada de registro para abrir a página Explorador de rastreamento, ela não mostra nenhum dado de rastreamento.
Para resolver essas falhas, configure o escopo de observabilidade. Esse escopo especifica quais dos seus escopos de trace e de registro usar quando as páginas correspondentes do explorador forem abertas. Para saber mais, consulte Configurar escopos de observabilidade para consultas de vários projetos.
Não há dados de rastreamento após a atualização do app Go para usar o OpenTelemetry
Seu aplicativo depende da biblioteca de cliente para capturar rastreamentos e, depois de atualizar o aplicativo para usar o OpenTelemetry, você não verá mais 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 Problema nº 4237.