Panoramica dell'importazione delle metriche OTLP

Questo documento introduce l'utilizzo di OpenTelemetry Collector con l'esportatore otlphttp e l'API Telemetry (OTLP), telemetry.googleapis.com, che implementa il protocollo OpenTelemetry OTLP. La combinazione dell'esportatore otlphttp e dell'API Telemetry ti consente di importare le metriche OTLP in Cloud Monitoring.

L'endpoint OTLP supporta tutti i protocolli OTLP, inclusi http/proto, http/json e grpc. Per ulteriori informazioni, vedi Supporto dei protocolli.

Puoi anche inviare le metriche direttamente all'API Telemetry dalle applicazioni che utilizzano gli SDK. Per saperne di più, consulta Utilizzare gli SDK per inviare metriche dalle applicazioni.

Se utilizzi Google Kubernetes Engine, puoi seguire le istruzioni riportate in Managed OpenTelemetry per GKE, anziché eseguire manualmente il deployment e la configurazione di un OpenTelemetry Collector che utilizza l'API Telemetry.

OTLP per le metriche Prometheus funziona solo se utilizzi OpenTelemetry Collector versione 0.140.0 o successive.

Nomi di metriche ed etichette nell'API Telemetry

Questa sezione descrive le convenzioni di denominazione e i requisiti per le metriche inserite in Cloud Monitoring utilizzando l'API Telemetry:

  • I nomi delle metriche e le chiavi delle etichette non supportano UTF-8 completo.

    • I nomi delle metriche che non sono conformi all'espressione regolare [a-zA-Z][a-zA-Z0-9_:./]* verranno rifiutati.
    • I DataPoint contenenti attributi (ovvero chiavi di etichetta) che non rispettano l'espressione regolare [a-zA-Z_][a-zA-Z0-9_.]* verranno rifiutati.

    Per evitare il rifiuto delle metriche per questi motivi, puoi configurare un processore per trasformare i nomi e gli attributi delle metriche utilizzando la funzione replace_pattern.

  • Importante: l'esecuzione di query su nomi di metriche e chiavi di etichette con caratteri speciali diversi dai due punti (:) e dal trattino basso (_) richiede di racchiuderli tra parentesi graffe ({}) e virgolette ("), in base alla specifica UTF-8 di PromQL. Ad esempio, le seguenti query sono valide:

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

Metriche dell'API Telemetry e Cloud Monitoring

Questa sezione descrive in che modo le metriche inserite utilizzando l'API Telemetry e l'esportatore otlphttp interagiscono con Cloud Monitoring:

  • Potrebbero verificarsi possibili conflitti tra i tipi di valori delle metriche di tipo INT64 e DOUBLE, in particolare se in precedenza hai inviato la metrica target_info. Se si verifica questo tipo di conflitto, elimina i descrittori delle metriche INT64. Puoi utilizzare questo script Golang per eliminare tutte le metriche di tipo INT64 target_info dall'ambito delle metriche.

  • Se mantieni l'etichetta le quando esegui query sugli istogrammi esponenziali, potresti ottenere risultati imprevisti. È previsto il funzionamento delle query più tipiche histogram_quantile(.99, sum by (le) (metric)).

  • Le metriche delta potrebbero non essere interrogate correttamente in determinate circostanze, ad esempio delta molto sparsi.

Supporto del protocollo

L'endpoint OTLP supporta tutti i protocolli OTLP, inclusi http/proto, http/json e grpc. Quando esporti da un OpenTelemetry Collector, puoi utilizzare uno qualsiasi dei protocolli. Tuttavia, a causa della mancanza di supporto per l'aggiornamento dinamico dei token nella maggior parte degli esportatori SDK, ti consigliamo di utilizzare solo l'esportatore gRPC OTLP, non gli esportatori HTTP, quando esporti direttamente dagli SDK. Per saperne di più, consulta Utilizzare gli SDK per inviare metriche dalle applicazioni.

Fatturazione

La fatturazione delle metriche OTLP viene contabilizzata in base allo SKU "Campioni Prometheus importati", lo stesso utilizzato per le metriche di Google Cloud Managed Service per Prometheus. Per ulteriori informazioni, consulta la pagina Fatturazione.

Limiti e quote

L'importazione delle metriche tramite l'API Telemetry è soggetta ai limiti delle metriche dell'API Telemetry.

Inoltre, si applicano tutte le quote e i limiti standard delle metriche di Cloud Monitoring e Google Cloud Managed Service per Prometheus. Ad esempio, le metriche non possono avere più di 200 etichette.

La quota predefinita per le metriche inserite dall'API Telemetry è di 60.000 richieste al minuto. Con una dimensione massima del batch di 200 punti per richiesta, questa è una quota predefinita effettiva di 200.000 campioni al secondo. Puoi richiedere un aumento della quota.

Passaggi successivi