Visão geral da ingestão de métricas OTLP

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.

  • 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 INT64 e DOUBLE, principalmente se você já tiver enviado a métrica target_info. Se você tiver esse tipo de conflito, exclua os descritores de métricas INT64. É possível usar este script Golang para excluir todas as métricas INT64 do tipo target_info do seu escopo de métricas.

  • Manter o rótulo le ao consultar histogramas exponenciais pode retornar resultados inesperados. As consultas histogram_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