Este documento apresenta o uso do Coletor do OpenTelemetry com o
otlphttp exportador e a API Telemetry (OTLP),
telemetry.googleapis.com, que implementa o protocolo OTLP do OpenTelemetry.
A combinação do exportador otlphttp e da API Telemetry permite ingerir métricas OTLP no Cloud Monitoring.
O endpoint OTLP oferece suporte a todos os protocolos OTLP, incluindo http/protobuf, http/json e grpc. Para mais informações, consulte
Suporte a protocolo.
Também é possível enviar métricas diretamente para a API Telemetry de aplicativos que usam SDKs. Para mais informações, consulte Usar SDKs para enviar métricas de aplicativos.
Se você estiver usando o Google Kubernetes Engine, siga o OpenTelemetry gerenciado para GKE, em vez de implantar e configurar manualmente um Coletor do OpenTelemetry que usa a API Telemetry.
O OTLP para métricas do Prometheus só funciona ao usar o Coletor do OpenTelemetry versão 0.140.0 ou mais recente.
Nomes de métricas e marcadores na API Telemetry
Esta seção descreve as convenções de nomenclatura e os requisitos para métricas ingeridas no Cloud Monitoring usando a API Telemetry:
Os nomes de métricas e as chaves de marcadores não oferecem suporte ao UTF-8 completo.
- Os nomes de métricas que não estão em conformidade com a expressão regular
[a-zA-Z][a-zA-Z0-9_:./-]*serão rejeitados. Os únicos caracteres especiais permitidos em nomes de métricas estão no conjunto_:./-. - Os DataPoints que contêm atributos (ou seja, chaves de marcadores) que não
estão em conformidade com a expressão regular
[a-zA-Z_][a-zA-Z0-9_.]*serão rejeitados. Os únicos caracteres especiais permitidos em chaves de marcadores estão no conjunto_.. Todos os caracteres especiais são permitidos em valores de marcadores.
Para evitar a rejeição das métricas por esses motivos, configure um processador para transformar os nomes e atributos das métricas usando a função
replace_pattern.- Os nomes de métricas que não estão em conformidade com a expressão regular
Importante: para consultar nomes de métricas e chaves de marcadores com caracteres especiais diferentes do dois-pontos (
:) e do sublinhado (_), é necessário envolvê-los em chaves ({}) e aspas ("), de acordo com a especificação UTF-8 do PromQL. Por exemplo, as consultas a seguir são válidas:{"my.metric.name"}{"my.metric.name", "label.key.KEY"="value"}
Métricas da API Telemetry e Cloud Monitoring
Esta seção descreve como as métricas ingeridas usando a API Telemetry e o exportador otlphttp interagem com o Cloud Monitoring:
Pode haver colisões de tipo de valor entre métricas do tipo
INT64eDOUBLE, especificamente se você já tiver enviado a métricatarget_info. Se você tiver esse tipo de conflito, exclua os descritores de métricasINT64. É possível usar este script do Golang para excluir todas as métricas do tipoINT64target_infodo escopo de métricas.A retenção do marcador
leao consultar histogramas exponenciais pode retornar resultados inesperados. As consultashistogram_quantile(.99, sum by (le) (metric))mais típicas devem funcionar.As métricas delta podem não ser consultadas corretamente em determinadas circunstâncias, como deltas muito esparsos.
Suporte a protocolo
O endpoint OTLP oferece suporte a todos os protocolos OTLP, incluindo http/protobuf, http/json e grpc. Ao exportar de um Coletor do OpenTelemetry, é possível usar qualquer um dos protocolos. No entanto, devido à falta de suporte para atualização dinâmica de tokens na maioria dos exportadores de SDK, recomendamos usar apenas o exportador gRPC OTLP, e não os exportadores HTTP, ao exportar diretamente de SDKs. Para mais informações, consulte
Usar SDKs para enviar métricas de aplicativos.
Faturamento
O faturamento das métricas OTLP é contabilizado na SKU "Amostras do Prometheus ingeridas", a mesma usada para métricas do Google Cloud Managed Service para Prometheus. Para mais informações, consulte a página Faturamento.
Limites e cotas
A ingestão de métricas usando a API Telemetry está sujeita a os limites de métricas da API Telemetry.
Além disso, todas as cotas e limites de métricas padrão do Cloud Monitoring e do Google Cloud Managed Service para Prometheus são aplicáveis. Por exemplo, as métricas não podem ter mais de 200 marcadores.
A cota padrão para métricas ingeridas pela API Telemetry é de 60.000 solicitações por minuto. Com um tamanho máximo de lote de 200 pontos por solicitação, essa é uma cota padrão efetiva de 200.000 amostras por segundo. É possível solicitar um aumento de cota.
A seguir
- Para instruções detalhadas sobre como implantar e usar o Coletor do OpenTelemetry com a API Telemetry, consulte Implantar e usar o coletor
- Para informações sobre como enviar métricas para a API Telemetry de aplicativos que usam SDKs, consulte Usar SDKs para enviar métricas de aplicativos.
- Para informações sobre como usar um Coletor do OpenTelemetry e a API Telemetry com a instrumentação de código zero do OpenTelemetry, consulte Usar a instrumentação de código zero do OpenTelemetry para Java.
- Para informações sobre como migrar para o exportador
otlphttpde outro exportador, consulte Migrar para o exportador OTLP. - Para saber mais sobre a API Telemetry, consulte Visão geral da API Telemetry (OTLP).