Este documento apresenta o uso do coletor OpenTelemetry com o
exportador otlphttp 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 é compatível com todos os protocolos OTLP, incluindo
http/proto, 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 as instruções em 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 quando você usa a versão 0.140.0 ou mais recente do coletor do OpenTelemetry.
Nomes de métricas e rótulos 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 rótulo não são totalmente compatíveis com UTF-8.
- 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 DataPoints que contêm atributos (ou seja, chaves de rótulo) que não estão em conformidade com a expressão regular
[a-zA-Z_][a-zA-Z0-9_.]*serão rejeitados.
Para evitar a rejeição das suas métricas por esses motivos, configure um processador para transformar os nomes e atributos das métricas usando a função
replace_pattern.- 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 rótulo com caracteres especiais diferentes de dois-pontos (
:) e 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
Nesta seção, descrevemos 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, principalmente 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 Golang para excluir todas as métricasINT64do tipotarget_infodo seu escopo de métricas.Manter o rótulo
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 consultar corretamente em determinadas circunstâncias, como deltas muito esparsos.
Suporte a protocolo
O endpoint OTLP é compatível com todos os protocolos OTLP, incluindo
http/proto, http/json e grpc. Ao exportar de um
coletor do OpenTelemetry, você pode 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, não os exportadores HTTP, ao exportar diretamente dos SDKs. Para mais informações, consulte
Usar SDKs para enviar métricas de aplicativos.
Faturamento
O faturamento das métricas do 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 de faturamento.
Limites e cotas
A ingestão de métricas usando a API Telemetry está sujeita aos limites de métricas da API Telemetry.
Além disso, todas as cotas e limites padrão de métricas do Cloud Monitoring e do Google Cloud Managed Service para Prometheus se aplicam. Por exemplo, as métricas não podem ter mais de 200 rótulos.
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 OpenTelemetry com a API Telemetry, consulte Implantar e usar o coletor.
- Para informações sobre como enviar métricas à API de telemetria 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 sem código do OpenTelemetry, consulte Usar a instrumentação sem código 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).