O OpenTelemetry é um projeto de código aberto compatível com o Google Cloud, com engenheiros do Google Cloudpara garantir o suporte à ingestão e visualização da sua telemetria.
Para saber mais sobre essa API, consulte os seguintes documentos de referência:
Práticas recomendadas
Ao instrumentar seus aplicativos para enviar dados de rastreamento ao projetoGoogle Cloud , recomendamos usar um exportador que grava dados formatados em OTLP em um coletor, que envia os dados de rastreamento à API Telemetry. No coletor, especifique apenas o URL raiz:
exporters:
otlphttp:
encoding: proto
endpoint: https://telemetry.googleapis.com
O OpenTelemetry detecta o tipo de dados e anexa automaticamente /v1/traces, /v1/metrics ou /v1/logs, conforme apropriado. Para mais informações, consulte
Solicitação OTLP/HTTP.
Para exemplos que exportam dados de rastreamento ou métricas para a API Telemetry, consulte os seguintes documentos:
- Visão geral das amostras de instrumentação baseadas em coletores.
- Visão geral da ingestão de métricas OTLP.
Quando não for possível usar um coletor, use uma biblioteca do OpenTelemetry que contenha um exportador OTLP no processo para enviar telemetria à API Telemetry. Para saber como exportar dados de rastreamento diretamente, consulte Exportador do Cloud Trace para o endpoint OTLP.
Autenticação
Configure os exportadores com as credenciais necessárias para enviar
dados ao seu projeto Google Cloud . Por exemplo, ao usar coletores, normalmente
você usa a extensão googleclientauth para autenticar com credenciais
do Google.
Para um exemplo de autenticação ao usar a exportação direta de dados de rastreamento, consulte Configurar a autenticação. Este exemplo ilustra como configurar o exportador com suas Google Cloud Application Default Credentials (ADC) e adicionar uma biblioteca de autenticação do Google específica da linguagem ao seu aplicativo.
Para enviar dados de telemetria ao seu projeto do Google Cloud usando a API Telemetry, você também precisa fazer o seguinte:
- Configure um projeto de cota. Para saber mais, consulte Definir o projeto de cota.
- Conceda ao usuário ou à conta de serviço usada pelo aplicativo o papel de
Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer) no projeto de cota. Conceda ao usuário ou à conta de serviço que o aplicativo usa os seguintes papéis no seu projeto:
- Gravador de registros (
roles/logging.logWriter) - Gravador de métricas do Monitoring (
roles/monitoring.metricWriter) - Gravador de traces de telemetria do Cloud (
roles/telemetry.tracesWriter)
- Gravador de registros (
Suporte do VPC Service Controls
O serviço da API Telemetry, cujo nome é telemetry.googleapis.com,
é compatível com o VPC Service Controls. Todas as restrições do VPC Service Controls
criadas para o serviço da API Telemetry se aplicam
somente a esse serviço. Essas restrições não se aplicam a outros serviços, incluindo aqueles como o cloudtrace.googleapis.com, que também podem ingerir dados de rastreamento.
Para ver mais informações, consulte os seguintes tópicos:
Endpoints de Serviço
Um endpoint de serviço é um URL base que especifica o endereço de rede de um serviço de API. A API Telemetry oferece suporte a um endpoint global e a endpoints regionais:
Endpoint global:
telemetry.googleapis.com. Para esse endpoint, depois que o Google Cloud Observability conclui todas as etapas de validação, ele envia os dados para um serviço de back-end para armazenamento.Endpoints regionais:
telemetry.REGION.rep.googleapis.com, em que REGION é uma região compatível. Para esses endpoints, depois que o Google Cloud Observability conclui todas as etapas de validação, ele envia os dados para um serviço de back-end. Este serviço armazena ou descarta os dados:- Os dados de registro e rastreamento são armazenados. O serviço de back-end move automaticamente os dados entre regiões quando necessário.
- Os dados de métricas são armazenados somente quando o rótulo de local anexado a eles corresponde à região do endpoint ou a uma zona dentro dessa região.
Para conferir uma lista de endpoints regionais compatíveis, consulte as páginas de referência da API.
A ingestão de dados de rastreamento pode acionar a criação de um bucket de observabilidade. No entanto, o uso de um endpoint regional não afeta o local em que o sistema cria o bucket de observabilidade. O sistema determina o local de um bucket de observabilidade usando configurações padrão, políticas da organização e o conjunto de locais de bucket compatíveis.