Présentation de l'ingestion de métriques OTLP

Ce document présente l'utilisation du collecteur OpenTelemetry avec l'exportateur otlphttp et l'API Telemetry (OTLP), telemetry.googleapis.com, qui implémente le protocole OpenTelemetry OTLP. La combinaison de l'exportateur otlphttp et de l'API Telemetry vous permet d'ingérer des métriques OTLP dans Cloud Monitoring.

Le point de terminaison OTLP est compatible avec tous les protocoles OTLP, y compris http/proto, http/json et grpc. Pour en savoir plus, consultez la section Compatibilité avec le protocole.

Vous pouvez également envoyer des métriques directement à l'API Telemetry à partir d'applications qui utilisent des SDK. Pour en savoir plus, consultez Utiliser des SDK pour envoyer des métriques depuis des applications.

Si vous utilisez Google Kubernetes Engine, vous pouvez suivre Managed OpenTelemetry pour GKE au lieu de déployer et de configurer manuellement un collecteur OpenTelemetry qui utilise l'API Telemetry.

OTLP pour les métriques Prometheus ne fonctionne que lorsque vous utilisez le collecteur OpenTelemetry version 0.140.0 ou ultérieure.

Noms des métriques et des libellés dans l'API Telemetry

Cette section décrit les conventions de dénomination et les exigences concernant les métriques ingérées dans Cloud Monitoring à l'aide de l'API Telemetry :

  • Les noms de métriques et les clés de libellés ne sont pas entièrement compatibles avec UTF-8.

    • Les noms de métriques qui ne respectent pas l'expression régulière [a-zA-Z][a-zA-Z0-9_:./]* seront refusés.
    • Les DataPoints contenant des attributs (c'est-à-dire des clés de libellé) qui ne respectent pas l'expression régulière [a-zA-Z_][a-zA-Z0-9_.]* seront refusés.

    Pour éviter que vos métriques soient refusées pour ces raisons, vous pouvez configurer un processeur afin de transformer vos noms et attributs de métriques à l'aide de la fonction replace_pattern.

  • Important : Pour interroger des noms de métriques et des clés de libellés contenant des caractères spéciaux autres que le deux-points (:) et le trait de soulignement (_), vous devez les placer entre accolades ({}) et guillemets ("), conformément à la spécification UTF-8 de PromQL. Par exemple, les requêtes suivantes sont valides :

    • {"my.metric.name"}
    • {"my.metric.name", "label.key.KEY"="value"}

Métriques de l'API Telemetry et Cloud Monitoring

Cette section décrit comment les métriques ingérées à l'aide de l'API Telemetry et de l'exportateur otlphttp interagissent avec Cloud Monitoring :

  • Il peut y avoir des collisions de types de valeurs entre les métriques de type INT64 et DOUBLE, en particulier si vous avez déjà envoyé la métrique target_info. Si vous rencontrez ce type de conflit, supprimez les descripteurs de métrique INT64. Vous pouvez utiliser ce script Golang pour supprimer toutes les métriques target_info de type INT64 de votre champ d'application des métriques.

  • Conserver le libellé le lorsque vous interrogez des histogrammes exponentiels peut renvoyer des résultats inattendus. Les requêtes plus classiques  histogram_quantile(.99, sum by (le) (metric)) devraient fonctionner.

  • Il est possible que les métriques delta ne soient pas correctement interrogées dans certaines circonstances, par exemple lorsque les deltas sont très clairsemés.

Compatibilité avec le protocole

Le point de terminaison OTLP est compatible avec tous les protocoles OTLP, y compris http/proto, http/json et grpc. Lorsque vous exportez des données à partir d'un collecteur OpenTelemetry, vous pouvez utiliser n'importe quel protocole. Toutefois, en raison du manque de prise en charge de l'actualisation dynamique des jetons dans la plupart des exportateurs de SDK, nous vous recommandons d'utiliser uniquement l'exportateur OTLP gRPC, et non les exportateurs HTTP, lorsque vous exportez directement à partir des SDK. Pour en savoir plus, consultez Utiliser des SDK pour envoyer des métriques depuis des applications.

Facturation

La facturation des métriques OTLP est comptabilisée sous le SKU "Échantillons Prometheus ingérés", qui est le même que celui utilisé pour les métriques de Google Cloud Managed Service pour Prometheus. Pour en savoir plus, consultez la page Facturation.

Limites et quotas

L'ingestion de métriques à l'aide de l'API Telemetry est soumise aux limites de métriques de l'API Telemetry.

De plus, tous les quotas et limites standards des métriques Cloud Monitoring et Google Cloud Managed Service pour Prometheus s'appliquent. Par exemple, les métriques ne peuvent pas comporter plus de 200 libellés.

Le quota par défaut pour les métriques ingérées par l'API Telemetry est de 60 000 requêtes par minute. Avec une taille de lot maximale de 200 points par requête, cela correspond à un quota par défaut efficace de 200 000 échantillons par seconde. Vous pouvez demander une augmentation de quota.

Étapes suivantes