Questo documento descrive come creare e interpretare un grafico che mostra
dei dati delle metriche del tipo di valore Distribution
.
Questo tipo di valore viene utilizzato dai servizi quando sono presenti anche le singole misurazioni
numerose da raccogliere, ma informazioni statistiche come medie o
percentili, queste misurazioni sono importanti.
Ad esempio, quando un'applicazione si basa sul traffico HTTP, puoi utilizzare una metrica con valore di distribuzione che acquisisce la latenza della risposta HTTP per valutare la rapidità di completamento delle richieste HTTP.
Per illustrare come viene creato un istogramma, prendi in considerazione un servizio che misura la latenza HTTP delle richieste e che registra questi dati utilizzando una metrica con un tipo di valore di distribuzione. I dati vengono registrati ogni minuto. Il servizio definisce intervalli di valori per la metrica, denominati bucket, e registra il conteggio dei valori misurati che rientrano in ciascun segmento. Ad esempio, quando viene completata una richiesta HTTP, il servizio incrementa il conteggio nel bucket il cui intervallo include il valore di latenza della richiesta. Questi conteggi creano un istogramma dei valori per quel minuto.
Supponiamo che le latenze misurate in un intervallo di un minuto siano 5, 1, 3, 5, 6, 10 e 14. Se i bucket sono [0, 4), [4, 8), [8, 12) e [12, 16), allora l'istogramma di questi dati è [2, 3, 1, 1]. La tabella seguente mostra come le singole misurazioni influiscono sul conteggio per ogni bucket:
Bucket | Misure di latenza | Numero di valori nel bucket |
---|---|---|
[12,16) | 14 | 1 |
[8,12) | 10 | 1 |
[4,8) | 5, 5, 6 | 3 |
[0,4) | 1, 3 | 2 |
Quando questi dati vengono scritti nella serie temporale, viene restituito un valore Point
viene creato. Per le metriche con un valore di distribuzione, l'oggetto
include l'istogramma di valori. Per questo periodo di campionamento,
Point
contiene [2, 3, 1, 1]. Le singole misurazioni non vengono scritte nella serie temporale.
Supponiamo che la tabella precedente registri l'istogramma per i dati sulla latenza misurati alle ore 01:00. Questa tabella mostra come prendere una serie delle misurazioni e convertirle in conteggi dei bucket. Supponiamo che il bucket i conteggi agli orari 1:01, 1:02 e 1:03 sono riportati nella tabella seguente:
Bucket | Istogramma per 1:00 |
Istogramma per 1:01 |
Istogramma per 1:02 |
Istogramma per 1:03 |
---|---|---|---|---|
[12,16) | 1 | 6 | 0 | 1 |
[8,12) | 1 | 0 | 2 | 2 |
[4,8) | 3 | 1 | 1 | 8 |
[0,4) | 2 | 6 | 10 | 3 |
La tabella precedente mostra una sequenza di istogrammi indicizzati in base al tempo. Ciascuna della tabella rappresenta i dati di latenza per un periodo di un minuto. Per ottenere il numero di misurazioni in un momento specifico, somma i conteggi dei bucket. Tuttavia, le misurazioni effettive non vengono mostrate perché non sono disponibili nelle metriche con valore di distribuzione.
Grafici di mappa termica
I grafici di mappa termica sono progettati per visualizzare una singola serie temporale con valori di distribuzione. Per questi grafici, l'asse X rappresenta il tempo, l'asse Y rappresenta i bucket e il colore rappresenta il valore. Più luminoso è il colore indica un valore più alto. Ad esempio, le aree scure della mappa termica indicano un conteggio dei bucket inferiore rispetto alle aree gialle o bianche.
La figura seguente è una rappresentazione di una mappa termica per l'esempio precedente:
Nella figura precedente, la mappa termica utilizza il nero per rappresentare i più piccoli numero di bucket, 0, e giallo per rappresentare il numero più grande di bucket, 10. I colori rossi e arancioni rappresentano i valori tra questi due estremi.
Poiché i grafici delle mappe termiche possono mostrare una sola serie temporale, devi impostare le opzioni di aggregazione per combinare tutte le serie temporali.
Per utilizzare Metrics Explorer in modo da visualizzare la somma dei Latenze RTT di un'istanza VM:-
Nella console Google Cloud, vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nell'elemento Metrica, espandi il menu Seleziona una metrica,
inserisci
RTT latencies
nella barra dei filtri, poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:- Nel menu Risorse attive, seleziona Istanza VM.
- Nel menu Categorie di metriche attive, seleziona Vm_flow.
- Nel menu Metriche attive, seleziona Latenze RTT.
- Fai clic su Applica.
Nell'esempio precedente, il grafico della mappa termica viene configurato selezionando i valori dai menu. Tuttavia, puoi anche utilizzare Monitoring Query Language (MQL) per rappresentare graficamente le metriche con valori di distribuzione. Per inserire una query MQL:
- Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con code MQL o code PromQL.
- Verifica che sia selezionato MQL nel pulsante di attivazione/disattivazione Lingua. Il pulsante di attivazione/disattivazione della lingua si trova nella stessa barra degli strumenti che consente di formattare la query.
- Inserisci una query ed eseguila.
Ad esempio, inserisci quanto segue nell'editor di codice:
fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [aggregate(value.rtt)]
Nell'espressione precedente, i dati delle serie temporali vengono recuperati, allineati,
raggruppate insieme. Il processo di allineamento utilizza una funzione di allineamento delta
con un periodo di allineamento di un minuto. Poiché il primo argomento per group_by
è []
,
tutte le serie temporali vengono combinate.
Il secondo argomento, [aggregate(value.rtt)]
, definisce il modo in cui vengono visualizzate le serie temporali
combinati. In questo esempio, per ogni timestamp, i valori del campo rtt
delle diverse serie temporali vengono combinati con la funzione aggregate
, selezionata da MQL.
Se utilizzi i menu per selezionare la metrica e poi passi a MQL, le tue selezioni vengono convertite in una query MQL in forma rigorosa:
fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [value_rtt_aggregate: aggregate(value.rtt)]
L'espressione precedente è funzionalmente equivalente all'originale Esempio di MQL.
Per ulteriori informazioni su MQL, consulta Panoramica di Monitoring Query Language.
Grafici a linee e a barre
Grafici a linee, grafici a barre in pila e grafici a linee in pila, progettati per visualizzare dati scalari, impossibile visualizzare i valori di distribuzione. Per visualizzare una metrica con un valore di distribuzione con uno di questi tipi di grafici, devi convertire i valori dell'istogramma in valori scalari. Ad esempio, puoi impostare le opzioni di aggregazione per calcolare la media del valori dell'istogramma o per calcolare un percentile.
Per informazioni su come visualizzare una metrica con valore di distribuzione un grafico a linee, consulta la sezione seguente.
Metriche di aggregazione e distribuzione
L'aggregazione è il processo di regolarizzazione dei punti all'interno di una serie temporale e di combinazione di più serie temporali. L'aggregazione è la stessa per le metriche del tipo di distribuzione come per quelle con un tipo di valore di numeri interi o doppie. Tuttavia, il tipo di grafico applica alcuni requisiti nella scelte utilizzate per allineare e raggruppare le serie temporali.
Grafici di mappa termica
I grafici della mappa termica mostrano una serie temporale con valori di distribuzione. Pertanto, funzione di allineamento e funzione di raggruppamento deve essere impostato in modo da creare un'unica serie temporale.
Seleziona una funzione di allineamento sum
o delta
quando un grafico mostra una mappa termica.
Queste funzioni combinano, a livello di bucket, tutti gli esempi per
singole serie temporali nello stesso periodo allineamento e il risultato è
valore di distribuzione. Ad esempio, se due campioni adiacenti di
le serie temporali sono [2, 3, 1, 1] e [2, 5, 4, 1], quindi l'allineamento della somma
produce [4, 8, 5, 2].
La funzione di raggruppamento definisce in che modo sono presenti le diverse serie temporali
combinati. Questa funzione è a volte chiamata aggregatore o riduttore.
Per le mappe termiche, imposta la funzione di raggruppamento sulla funzione sum
.
La funzione di somma somma i valori degli stessi bucket in tutti gli istogrammi,
generando un nuovo istogramma. Ad esempio, la
somma del valore [2, 3, 1, 1] della serie temporale A e del valore
[1, 5, 2, 2] della serie temporale B è [3, 8, 3, 3].
Grafici a linee
I grafici a linee mostrano solo serie temporali con valori scalari. Se selezioni una metrica con valore di distribuzione, il grafico viene configurato con parametri ottimali per visualizzare una mappa di calore. I campi dell'elemento Aggregation sono impostate su Distribution (Distribuzione) e None.
L'interpretazione di Distribuzione dipende dalla metrica specifica. Per i tipi di metriche con valori di distribuzione che hanno un tipo di metrica
GAUGE
, la funzione di allineamento predefinita è impostata susum
. Quando un valore di distribuzione il tipo di metrica ha un tipo di metricaCUMULATIVE
, l'allineamento predefinito èDELTA
.L'impostazione Nessuno assicura la combinazione di tutti gli orari.
Se vuoi visualizzare una metrica con valore di distribuzione in un grafico a linee, devi modificare le impostazioni predefinite del grafico. Ad esempio, per configurare un grafico a linee in una dashboard in modo da visualizzare il 99° percentile di ogni serie temporale per una metrica con valore di distribuzione, procedi nel seguente modo:
-
Nella console Google Cloud, vai alla pagina Dashboard:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti, fai clic su add Aggiungi widget.
- Nella finestra di dialogo Aggiungi widget, seleziona leaderboard Metrica.
- Nell'elemento Metrica, seleziona la metrica Istanza VM - Latenze RTT.
- Nell'elemento Aggregazione, espandi il primo menu e seleziona 99° percentile.
- Nel riquadro Visualizza, imposta il valore del menu Tipo di widget su Grafico a linee.
- (Facoltativo) Nell'elemento Aggregation, espandi il secondo menu e seleziona le etichette utilizzate per raggruppare le serie temporali. Per impostazione predefinita, non sono selezionate etichette, pertanto nel grafico viene visualizzata una sola linea.
Passaggi successivi
Per informazioni su come determinare il modello di bucket per una metrica come interpretare i percentili, consulta Percentile e metriche con valore di distribuzione.