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_patternfunzione.- I nomi delle metriche che non sono conformi all'espressione regolare
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- eDOUBLE, in particolare se in precedenza hai inviato la metricatarget_info. Se riscontri questo tipo di conflitto, elimina i descrittori delle metricheINT64. Puoi utilizzare questo script Golang per eliminare tutte le metriche di tipoINT64target_infodall'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 queryhistogram_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
- Per istruzioni dettagliate sul deployment e sull'utilizzo di OpenTelemetry Collector con l'API Telemetry, consulta Eseguire il deployment e utilizzare il raccoglitore
- Per informazioni sull'invio di metriche all'API Telemetry dalle applicazioni che utilizzano gli SDK, consulta Utilizzare gli SDK per inviare metriche dalle applicazioni.
- Per informazioni sull'utilizzo di OpenTelemetry Collector e dell' API Telemetry con la strumentazione zero-code di OpenTelemetry, consulta Utilizzare la strumentazione zero-code di OpenTelemetry per Java.
- Per informazioni sulla migrazione all'esportatore
otlphttpda un altro esportatore, consulta Eseguire la migrazione all'esportatore OTLP. - Per scoprire di più sull'API Telemetry, consulta Panoramica dell'API Telemetry (OTLP).