Questo documento descrive come utilizzare Google Cloud Managed Service per Prometheus per importare gli esemplari Prometheus nelle metriche degli istogrammi. Devi utilizzare uno dei seguenti elementi:
- Raccolta gestita di Managed Service per Prometheus versione 0.7.0 o successiva
- Versione della raccolta con deployment automatico di Managed Service per Prometheus 2.35.0-gmp.5-gke.0 o successiva
- Il collezionista OpenTelemetry
Gli esempi vengono in genere utilizzati per associare gli identificatori delle tracce ai dati metrici raccolti in un intervallo di tempo, ma possono essere utilizzati per associare qualsiasi dato non metrico alle metriche raccolte. La memorizzazione delle informazioni sulle tracce con i dati delle metriche consente di identificare rapidamente le tracce associate a un cambiamento improvviso dei valori delle metriche. Non è necessario eseguire manualmente il controllo incrociato delle informazioni sulle tracce e dei dati delle metriche utilizzando i timestamp per identificare cosa stava accadendo nell'applicazione quando sono stati registrati i dati delle metriche.
Gli esempi di Managed Service per Prometheus sono compatibili sia con Cloud Trace sia con strumenti di traccia di terze parti come Grafana Tempo.
Lo screenshot seguente mostra un grafico Grafana di insiemi di bucket di istogrammi e esemplari associati, con un esemplare espanso:
Esemplari Prometheus in Managed Service per Prometheus
Gli esempi sono supportati in Prometheus utilizzando il formato di esposizione OpenMetrics. Un esempio di OpenMetrics ha la seguente struttura:
- Il valore dell'esemplare: deve essere un numero intero o un valore a virgola mobile a 64 bit.
- (Facoltativo) Un timestamp: deve essere in secondi dell'epoca di Unix e può essere negativo.
- Un numero di etichette per l'esemplare, in genere inclusi i valori
trace_id
espan_id
; la lunghezza totale di tutti i nomi e i valori delle etichette non deve superare 128 caratteri UTF-8 o 128 rune nelle applicazioni Go.
Google Cloud Managed Service per Prometheus può importare solo gli esempi associati alle metriche dell'istogramma. Non è possibile importare gli esemplari associati alle metriche dei contatori. Le metriche degli istogrammi di Prometheus vengono convertite nel tipo Distribution
di Cloud Monitoring analogo, che supporta gli esempi.
Le metriche non di distribuzione in Cloud Monitoring non supportano gli esemplari.
Gli esemplari rimangono disponibili per le query per 24 mesi. Confronta questo periodo di conservazione con Prometheus upstream, dove gli esempi vengono conservati solo mentre i dati sono in memoria, in genere per meno di 14 giorni. Managed Service per Prometheus memorizza gli esemplari con le serie temporali, pertanto vengono conservati in base alle norme di conservazione per le serie temporali. Per ulteriori informazioni sulla conservazione dei dati in Cloud Monitoring, consulta Conservazione dei dati.
Attivare l'importazione di esempi
Se utilizzi Managed Service per Prometheus con la versione 0.7.0 o successive della raccolta gestita, l'importazione degli esemplari viene attivata automaticamente.
Se utilizzi Managed Service per Prometheus con una raccolta di tipo self-deployed, devi attivare l'importazione degli esemplari all'avvio del server specificando il seguente flag di funzionalità:
--enable-feature=exemplar-storage
Scrivere metriche con esempi
Ogni client Prometheus ha le proprie istruzioni per l'utilizzo corretto degli esemplari in quel client. Segui queste istruzioni affinché la tua applicazione esponga le metriche nel formato OpenMetrics per consentire a Prometheus di eseguire lo scraping dall'endpoint /metrics
dell'applicazione. Per esempi, consulta quanto segue:
- Esempio Java di OpenTelemetry
- Client Java Prometheus
- Client Python Prometheus
- Client Go di Prometheus
Integrazione con Cloud Trace
Puoi scrivere istogrammi Prometheus con esempi compatibili con Cloud Trace. Puoi visualizzare i dati, inclusi gli esempi, su un grafico della mappa termica di Cloud Monitoring, dove puoi utilizzare gli esempi per visualizzare i dettagli degli intervalli di traccia correlati. Puoi anche analizzare i dati di traccia in Trace. Per ulteriori informazioni, vedi Mostrare gli esempi in un grafico di mappa di calore e Visualizzare i dettagli della traccia.
Per creare esempi compatibili con Trace, gli esempi Prometheus devono contenere le seguenti etichette:
project_id
trace_id
span_id
Se l'esemplare include queste tre etichette, queste vengono utilizzate per creare un oggetto SpanContext
compatibile con Trace che viene associato all'esemplare creato per il bucket Distribution
di Cloud Monitoring.
Tutte le etichette diverse da quelle che compongono un SpanContext
completo vengono aggiunte a un oggetto DroppedLabels
associato all'esemplare per un bucket Distribution
.
Esegui query sulle metriche con esempi
L'API Prometheus espone l'endpoint
api/v1/query_exemplars
per eseguire query sugli esemplari.
Le interfacce di query configurate per interagire con Google Cloud Managed Service per Prometheus includono automaticamente le query sugli esempi. Per informazioni su come configurare le interfacce di query, consulta Eseguire query utilizzando Grafana o Eseguire query utilizzando l'API o l'interfaccia utente di Prometheus.