Informazioni sulle metriche con valore di distribuzione

Questo documento descrive come creare e interpretare un grafico che mostra i dati delle metriche del tipo di valore Distribution. Questo tipo di valore viene utilizzato dai servizi quando le singole misurazioni sono troppo numerose per essere raccolte, ma le informazioni statistiche, come medie o percentuali, su 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 di risposta HTTP per valutare la velocità con cui vengono completate le richieste HTTP.

Per illustrare come viene creato un istogramma, considera un servizio che misuri la latenza HTTP delle richieste e che registri questi dati utilizzando una metrica con un tipo di valore di distribuzione. I dati vengono riportati ogni minuto. Il servizio definisce gli intervalli di valori per la metrica, chiamati bucket e registra il conteggio dei valori misurati che rientrano in ciascun bucket. Ad esempio, quando una richiesta HTTP viene completata, il servizio incrementa il conteggio nel bucket il cui intervallo include il valore di latenza della richiesta. Questi conteggi creano un istogramma di 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), l'istogramma di questi dati è [2, 3, 1, 1]. La seguente tabella mostra in che modo le singole misurazioni influiscono sul conteggio per ciascun 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 creato un oggetto Point. Per le metriche con un valore di distribuzione, l'oggetto include l'istogramma dei valori. Per questo periodo di campionamento, Point contiene [2, 3, 1, 1]. Le singole misurazioni non sono scritte nella serie temporale.

Supponiamo che la tabella precedente registri l'istogramma dei dati di latenza come misurato al momento 1:00. La tabella mostra come eseguire una serie di misurazioni e convertirle in conteggi dei bucket. Supponiamo che il bucket venga conteggiato nei momenti 1:01, 1:02 e 1:03 come mostrato nella seguente tabella:

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. Ogni colonna della tabella rappresenta i dati di latenza per un periodo di un minuto. Per ottenere il numero di misurazioni in un determinato momento, somma i conteggi dei bucket. Tuttavia, le misurazioni effettive non vengono mostrate perché non sono disponibili nelle metriche con valori di distribuzione.

Grafici della mappa termica

I grafici a mappa termica sono progettati per mostrare 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ù il colore è luminoso indica un valore più alto. Ad esempio, le aree scure della mappa termica indicano il numero di bucket più basso rispetto alle aree gialle o bianche.

La figura seguente è una rappresentazione di una mappa termica per l'esempio precedente:

Grafico della mappa termica per l'esempio.

Nella figura precedente, la mappa termica utilizza il nero per rappresentare il numero di bucket più piccolo, 0, e il giallo, per rappresentare il numero di bucket più grande, 10. I rossi e le arance rappresentano i valori tra questi due estremi.

Poiché i grafici della mappa termica possono mostrare una sola serie temporale, devi impostare le opzioni di aggregazione per combinare tutte le serie temporali.

Per utilizzare Metrics Explorer per visualizzare la somma delle latenze RTT di un'istanza VM, procedi come segue:
  1. Nella console Google Cloud, vai alla pagina Metrics Explorer :

    Vai a Metrics Explorer

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Monitoring.

  2. 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:
    1. Nel menu Risorse attive, seleziona Istanza VM.
    2. Nel menu Categorie di metriche attive, seleziona Vm_flow.
    3. Nel menu Metriche attive, seleziona Latenze RTT.
    4. Fai clic su Applica.

Nell'esempio precedente, il grafico della mappa termica viene configurato selezionando valori dai menu. Tuttavia, puoi anche utilizzare Monitoring Query Language (MQL) per tracciare le metriche con valori di distribuzione. Per inserire una query MQL:

  1. Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è  MQL o  PromQL.
  2. 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.
  3. 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 e poi raggruppati. 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 in che modo vengono combinate le serie temporali. In questo esempio, per ogni timestamp, i valori del campo rtt delle diverse serie temporali vengono combinati con la funzione aggregate, che viene selezionata da MQL.

Se utilizzi i menu per selezionare la metrica e poi passi a MQL, le selezioni vengono convertite in una query MQL in forma rigida:

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 è equivalente dal punto di vista funzionale all'esempio MQL originale.

Per ulteriori informazioni su MQL, consulta la panoramica su Monitoring Query Language.

Grafici a linee e a barre

I grafici a linee, i grafici a barre in pila e i grafici a linee in pila, progettati per visualizzare dati scalari, non possono visualizzare valori di distribuzione. Per visualizzare una metrica con un valore di distribuzione con uno di questi tipi di grafico, devi convertire i valori dell'istogramma in valori scalari. Ad esempio, puoi impostare le opzioni di aggregazione per calcolare la media dei valori nell'istogramma o calcolare un percentile.

Per informazioni su come visualizzare una metrica con valori di distribuzione in 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 di tipo di distribuzione così come per le metriche con un tipo di valore intero o doppio. Tuttavia, il tipo di grafico prevede alcuni requisiti sulle scelte utilizzate per allineare e raggruppare le serie temporali.

Grafici della mappa termica

I grafici della mappa termica mostrano una serie temporale con valori di distribuzione. Di conseguenza, la funzione di allineamento e la funzione di raggruppamento devono essere impostate per creare una singola 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 una singola serie temporale che si trovano nello stesso periodo di allineamento, dando come risultato un valore di distribuzione. Ad esempio, se due campioni adiacenti di una serie temporale sono [2, 3, 1, 1] e [2, 5, 4, 1], la funzione di allineamento somma produce [4, 8, 5, 2].

La funzione di raggruppamento definisce in che modo vengono combinate le diverse serie temporali. Questa funzione a volte viene 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] delle serie temporali B è [3, 8, 3, 3].

Grafici a linee

I grafici a linee mostrano solo serie temporali con valori scalari. Se selezioni una metrica con valori di distribuzione, il grafico viene configurato con parametri ottimali per visualizzare una mappa termica. I campi dell'elemento Aggregation sono impostati su Distribution e None.

  • L'interpretazione della metrica 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 su sum. Quando un tipo di metrica con valori di distribuzione ha un tipo di metrica CUMULATIVE, la funzione di allineamento predefinita è DELTA.

  • L'impostazione Nessuno assicura che tutti gli orari siano combinati.

Per visualizzare una metrica con valori di distribuzione in un grafico a linee, devi modificare le impostazioni predefinite del grafico. Ad esempio, per configurare un grafico a linee su una dashboard in modo da visualizzare il 99° percentile di ogni serie temporale per una metrica con valore di distribuzione, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina  Dashboard:

    Vai a Dashboard

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Monitoring.

  2. Nella barra degli strumenti, fai clic su  Aggiungi widget.
  3. Nella finestra di dialogo Aggiungi widget, seleziona Metrica .
  4. Nell'elemento Metrica e seleziona la metrica Istanza VM - Latenze RTT.
  5. Nell'elemento Aggregation, espandi il primo menu e seleziona 99° percentile.
  6. Nel riquadro Visualizzazione, imposta il valore del menu Tipo di widget su Grafico a linee.
  7. (Facoltativo) Nell'elemento Aggregazione, espandi il secondo menu e seleziona le etichette utilizzate per raggruppare le serie temporali. Per impostazione predefinita, non è selezionata nessuna etichetta e nel grafico viene visualizzata una riga.

Passaggi successivi

Per informazioni su come determinare il modello di bucket per una metrica e come interpretare i percentili, consulta Percentile e metriche con valore di distribuzione.