Este tópico ajuda a diagnosticar e resolver problemas quando os dados reportados por um cliente open-source não aparecem no console do Managed Service for OpenTelemetry ou quando logs de erro surgem no console ou em arquivos de log.
Os dados ausentes se enquadram em uma das duas categorias a seguir:
Os dados não chegam ao servidor: causados por problemas de rede, configurações de ingestão desativadas, cotas excedidas ou erros no nível de protocolo (HTTP ou gRPC).
Os dados chegam, mas não são exibidos conforme o esperado: causados por traces quebrados, spans ausentes ou configuração incorreta do agente.
Verifique a conectividade de rede
Confirme se o cliente consegue alcançar o endpoint do Managed Service for OpenTelemetry.
-
Identifique se o endpoint no código é um endpoint privado ou um endpoint público.
Um endpoint privado deve pertencer à mesma Virtual Private Cloud (VPC) do servidor. Não há suporte para envio de dados entre regiões.
-
No ambiente de envio, execute o comando
curloutelnetpara testar o endpoint e a porta. Se o endpoint estiver indisponível, verifique as configurações do grupo de segurança da instância do Elastic Compute Service (ECS). Exemplo para o endpoint gRPC na região China (Hangzhou):telnet <endpoint> <port>telnet tracing-analysis-dc-hz.aliyuncs.com 8090 -
Verifique o resultado: a figura a seguir mostra uma conexão bem-sucedida. A próxima figura ilustra uma falha na conexão.
Resultado
Significado
Próxima etapa
Conexão estabelecida (o terminal exibe
Connected to ...)O cliente consegue alcançar o servidor.
Prossiga para Verificar configurações de ingestão de dados.
Travado em
Trying <IP>...ou retornaUnable to connect to remote hostO cliente não consegue alcançar o servidor.
Verifique as regras do grupo de segurança da instância do Elastic Compute Service (ECS) e a configuração de rede da VPC. Para mais detalhes, consulte Conectar ao Managed Service for OpenTelemetry e autenticar clientes e Grupos de segurança.


Verifique as configurações de ingestão de dados
É possível controlar a ingestão de dados globalmente (para todas as aplicações) ou por aplicação individual. Um limite de cota também pode bloquear a ingestão.
Configurações globais
No painel de navegação à esquerda do console do Managed Service for OpenTelemetry, clique em Cluster Configurations.
Na seção Data Capturing Settings, verifique se Enable All ou Enable by Default está selecionado.

Configurações por aplicação
Na página Applications, clique no nome da aplicação desejada.
No painel de navegação à esquerda, clique em Application Settings.
Na aba Custom Configuration, dentro da seção Data Capturing Settings, confirme se Capture Data está definido como Enable ou Don't Set.

Se a configuração global estiver definida como Enable All ou Disable All, as configurações individuais por aplicação não terão efeito. A configuração global sempre tem precedência. Quando Don't Set estiver selecionado para uma aplicação, ela herdará a configuração definida no nível do cluster.
Cota
Na página Cluster Configurations, verifique a seção Quota configuration.
Se o volume de dados reportados tiver atingido a cota configurada, aumente o limite. O sistema não aceita dados adicionais após o alcance da cota.

Verifique a source de dados do Simple Log Service
O Managed Service for OpenTelemetry armazena dados em projetos do Simple Log Service (SLS) na sua conta. Se o número de projetos SLS atingir o limite da conta, o envio de dados falhará.
Para resolver esse problema:
Exclua projetos SLS não utilizados para liberar capacidade.
Envie um ticket para solicitar um limite maior de projetos.
Verifique o status da tarefa de monitoramento
Se o console indicar que a tarefa de monitoramento está anormal ou não ativada, envie um ticket para o Suporte da Alibaba Cloud.
Solucione erros de envio via HTTP
Verifique o código de status HTTP no console ou nos arquivos de log e correlacione-o com a causa e a resolução abaixo.
|
Código de status HTTP |
Causa |
Resolução |
|
403 |
O servidor rejeitou a solicitação devido a uma falha de autorização. |
Verifique o endpoint e o token. Para obter os valores corretos, acesse Cluster Configurations > Access point information. Para clientes Zipkin, remova também |
|
405 |
O volume de dados reportados atingiu a cota configurada. |
Aumente a cota na seção Quota configuration da página Cluster Configurations. |
|
406 |
A coleta de dados no nível do cluster está desativada. |
Ative a coleta na seção Ingestion Configuration da página Cluster Configurations. |
|
400 |
O corpo da solicitação possui um formato de dados sem suporte. |
Defina o cabeçalho |
Erro específico do APISIX
Se o seguinte erro aparecer:
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
O APISIX não consegue reportar dados diretamente ao Managed Service for OpenTelemetry via OpenTelemetry. Utilize o OpenTelemetry Collector como intermediário para encaminhar os dados.
Solucione erros de envio via gRPC
Verifique o código de status gRPC no console ou nos arquivos de log. Para obter uma lista completa dos códigos de status gRPC, consulte Códigos de status e seu uso no gRPC.
Timeout
Mensagem de erro:
Failed to export spans. The request could not be executed. Full error message: timeout
Resolução:
Verifique a conectividade de rede (consulte Verificar conectividade de rede).
Aumente o tempo limite de envio na configuração do SDK ou do agente para adequar-se ao seu ambiente.
Falha de autenticação (código de status gRPC 7)
Mensagem de erro:
Failed to export spans. Server responded with gRPC status code 7. Error message:
Resolução:
Verifique se o campo Authentication no cabeçalho da solicitação gRPC corresponde ao token exibido no console do Managed Service for OpenTelemetry. Para encontrar o token, acesse Cluster Configurations > Access point information.

Erro no MeterSender do SkyWalking
Mensagem de erro:
MeterSender : Send meters to collector fail with a grpc internal exception.
org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException:
UNIMPLEMENTED: Method not found: skywalking.v3.MeterReportService/collect
Causa: O cliente SkyWalking está tentando enviar métricas (não traces) para o servidor do Managed Service for OpenTelemetry, que não oferece suporte a este método.
Resolução: Desative o envio de métricas na configuração do cliente SkyWalking.
Solucione problemas com dados de trace inesperados
Se os dados chegarem ao console, mas os traces estiverem incompletos ou inesperados, utilize as orientações a seguir com base no agente ou SDK em uso.
Agente ou SDK do SkyWalking
Eventos de framework ou middleware ausentes
-
Verifique o diretório de plugins do agente SkyWalking. Para o SkyWalking v8 e versões posteriores, o caminho padrão é:
${agent-path}/agent-8.x/plugins Confira se as versões dos plugins correspondem às versões dos frameworks utilizados na aplicação. Se um plugin necessário estiver ausente, copie-o do diretório
bootstrap-pluginsouoptional-plugins, ou baixe-o da comunidade SkyWalking.Certifique-se de que apenas um agente está anexado à aplicação. Múltiplos agentes podem causar conflitos de instrumentação.
Traces quebrados
Verifique se a aplicação utiliza processamento assíncrono. Em cenários assíncronos, o contexto do trace pode não se propagar automaticamente. Para a solução, consulte Trace Cross Thread na documentação do SkyWalking.
Traces mais curtos que o esperado
Aumente o número máximo de spans que o agente SkyWalking pode reportar modificando collector.agent.service_graph.batch_size em:
${agent-path}/agent-8.x/config/agent.config
Agente ou SDK do OpenTelemetry
Traces quebrados
Verifique se a aplicação utiliza processamento assíncrono. Para resolver traces quebrados em cenários assíncronos:
Atualize o OpenTelemetry para a versão mais recente.
Utilize a API SpanLinks para vincular spans relacionados.
Especifique explicitamente um span pai para correlacionar operações.
Passe o contexto do trace para serviços downstream por meio da propagação de contexto.