Panoramica dell'importazione delle metriche OTLP

Questo documento introduce l'utilizzo di OpenTelemetry Collector con l' otlphttp esportatore e l'API Telemetry (OTLP), telemetry.googleapis.com, che implementa il protocollo OTLP di OpenTelemetry. La combinazione dell'esportatore otlphttp e dell'API Telemetry 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, consulta la sezione Supporto dei protocolli.

Puoi anche inviare le metriche direttamente all'API Telemetry dalle applicazioni che utilizzano gli SDK. Per ulteriori informazioni, consulta la sezione Utilizzare gli SDK per inviare metriche dalle applicazioni.

Se utilizzi Google Kubernetes Engine, puoi seguire OpenTelemetry gestito per GKE anziché eseguire il deployment e la configurazione manuale di un OpenTelemetry Collector che utilizza l' API Telemetry.

OTLP per le metriche di Prometheus funziona solo quando 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 importate 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. Gli unici caratteri speciali consentiti nei nomi delle metriche sono quelli del set _:./-.
    • I DataPoint contenenti attributi (ovvero chiavi di etichette) che non sono conformi all'espressione regolare [a-zA-Z_][a-zA-Z0-9_.]* verranno rifiutati. Gli unici caratteri speciali consentiti nelle chiavi delle etichette sono quelli del set _.. Nei valori delle etichette sono consentiti tutti i caratteri speciali.

    Per evitare che le metriche vengano rifiutate per questi motivi, puoi configurare un processore per trasformare i nomi e gli attributi delle metriche utilizzando la replace_pattern funzione.

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

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

Metriche dell'API Telemetry e Cloud Monitoring

Questa sezione descrive come le metriche importate utilizzando l'API Telemetry e l'esportatore otlphttp interagiscono con Cloud Monitoring:

  • Potrebbero verificarsi possibili conflitti di tipo di valore tra le metriche di tipo INT64- e DOUBLE, in particolare se in precedenza hai inviato la metrica target_info. Se riscontri 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.

  • La conservazione dell'etic0/}etta `le` durante l'esecuzione di query sugli istogrammi esponenziali potrebbe restituire risultati imprevisti.le È previsto che le query histogram_quantile(.99, sum by (le) (metric)) più comuni funzionino.

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

Supporto dei protocolli

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 OTLP gRPC, non gli esportatori HTTP, quando esporti direttamente dagli SDK. Per ulteriori informazioni, consulta la sezione Utilizzare gli SDK per inviare metriche dalle applicazioni.

Fatturazione

La fatturazione delle metriche OTLP viene contabilizzata nello SKU "Prometheus Samples Ingested", 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 utilizzando l'API Telemetry è soggetta a i limiti delle metriche dell'API Telemetry.

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

La quota predefinita per le metriche importate dall'API Telemetry è 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