I filtri e l'aggregazione in Cloud Monitoring ti consentono di perfezionare grandi volumi di dati di serie temporali non elaborati in modo da poter identificare pattern, tendenze e outlier. Il filtraggio rimuove i dati che non vuoi analizzare, mentre l'aggregazione combina i punti dati nel tempo e nelle dimensioni in un insieme di riepilogo più piccolo.
Queste operazioni si basano sul modello dei dati descritto in Metriche, serie temporali e risorse. Per applicare queste tecniche, utilizza l'API Cloud Monitoring o gli strumenti di creazione di grafici e avvisi nella console Google Cloud . Per esempi, consulta Policy di esempio dell'API ed Esempi di Monitoring Query Language.
Dati di serie temporali non elaborati
La quantità di dati delle metriche non elaborati in una singola serie temporale può essere enorme e di solito esistono molte serie temporali associate a un tipo di metrica. Per analizzare l'intero set di dati alla ricerca di punti in comune, tendenze o outlier, devi eseguire un'elaborazione sulle serie temporali del set. In caso contrario, i dati da considerare sono troppi.
Per introdurre i concetti di filtro e aggregazione, gli esempi in questa pagina utilizzano un numero ridotto di serie temporali ipotetiche. Ad esempio, l'illustrazione seguente mostra alcune ore di dati non elaborati di tre serie temporali:
Ogni serie temporale è colorata di rosso, blu o verde per riflettere il valore di un'ipotetica etichetta color. Esiste una serie temporale per ogni valore dell'etichetta. Nota che i valori non sono allineati in modo ordinato, poiché sono stati registrati in momenti diversi.
Filtri
Uno degli strumenti più efficaci per l'analisi è l'applicazione di filtri, che ti consente di nascondere i dati che non ti interessano immediatamente.
Puoi filtrare i dati delle serie temporali in base a quanto segue:
- Tempo.
- Valore di una o più etichette.
La seguente illustrazione mostra il risultato del filtro per mostrare solo la serie temporale rossa dal set originale di serie temporali non elaborate (illustrato nella Figura 1):
Questa serie temporale, selezionata tramite filtro, viene utilizzata nella sezione successiva per dimostrare l'allineamento.
Aggregazione
Un altro modo per ridurre la quantità di dati a tua disposizione è riepilogarli o aggregarli. L'aggregazione prevede due aspetti:
- Allineamento o regolarizzazione dei dati all'interno di una singola serie temporale.
- Riduzione o combinazione di più serie temporali.
Devi allineare le serie temporali prima di poterle ridurre. Le sezioni successive descrivono l'allineamento e la riduzione utilizzando serie temporali che memorizzano valori interi. Questi concetti generali si applicano anche quando una serie temporale ha un tipo di valore Distribution; tuttavia, in questo caso esistono alcuni vincoli aggiuntivi. Per saperne di più, consulta Informazioni sulle metriche con valori di distribuzione.
Allineamento: regolarizzazione all'interno della serie
Il primo passaggio per l'aggregazione dei dati delle serie temporali è l'allineamento. L'allineamento crea una nuova serie temporale in cui i dati non elaborati sono stati regolarizzati nel tempo in modo da poter essere combinati con altre serie temporali allineate. L'allineamento produce serie temporali con dati distanziati regolarmente.
L'allineamento prevede due passaggi:
Suddivisione delle serie temporali in intervalli di tempo regolari, chiamata anche bucketing dei dati. L'intervallo è chiamato periodo, periodo di allineamento o finestra di allineamento.
Calcolo di un singolo valore per i punti nel periodo di allineamento. Sei tu a scegliere come calcolare questo singolo punto: puoi sommare tutti i valori, calcolarne la media o utilizzare il valore massimo.
Poiché la nuova serie temporale creata dall'allineamento rappresenta tutti i valori della serie temporale non elaborata che rientrano nel periodo di allineamento con un singolo valore, viene anche chiamata riduzione all'interno della serie o aggregazione all'interno della serie.
Regolarizzazione degli intervalli di tempo
L'analisi dei dati delle serie temporali richiede che i punti dati siano disponibili su intervalli di tempo equidistanti. L'allineamento è il processo per raggiungere questo obiettivo.
L'allineamento crea una nuova serie temporale con un intervallo costante, il periodo di allineamento, tra i punti dati. L'allineamento viene in genere applicato a più serie temporali in preparazione di un'ulteriore manipolazione.
Questa sezione illustra i passaggi di allineamento applicandoli a una singola serie temporale. In questo esempio, viene applicato un periodo di allineamento di un'ora alla serie temporale di esempio illustrata nella Figura 2. La serie temporale mostra i dati acquisiti nell'arco di tre ore. La suddivisione dei punti dati in periodi di un'ora genera i seguenti punti in ogni periodo:
| Periodo | Valori |
|---|---|
| 1:01–2:00 | 400, 350, 300, 200 |
| 2:01–3:00 | 200, 100 |
| 3:01–4:00 | 300, 250, 200 |
Scelta dei periodi di allineamento
La durata del periodo di allineamento dipende da due fattori:
- La granularità di ciò che stai cercando di trovare nei dati.
- Il periodo di campionamento dei dati, ovvero la frequenza con cui vengono registrati.
Le sezioni seguenti descrivono questi fattori in modo più dettagliato.
Inoltre, Cloud Monitoring conserva i dati delle metriche per un periodo di tempo limitato. Il periodo varia in base al tipo di metrica. Per maggiori dettagli, consulta Conservazione dei dati. Il periodo di conservazione è il periodo di allineamento significativo più lungo.
Granularità
Se sai che è successo qualcosa nell'arco di un paio d'ore e vuoi approfondire, probabilmente vorrai utilizzare un periodo di un'ora o un certo numero di minuti per l'allineamento.
Se ti interessa esplorare le tendenze su periodi di tempo più lunghi, un periodo di allineamento più ampio potrebbe essere più appropriato. I periodi di allineamento di grandi dimensioni in genere non sono utili per esaminare condizioni anomale a breve termine. Se utilizzi, ad esempio, un periodo di allineamento di più settimane, l'esistenza di un'anomalia in quel periodo potrebbe essere ancora rilevabile, ma i dati allineati potrebbero essere troppo generici per essere di aiuto.
Frequenza di campionamento
Anche la frequenza con cui vengono scritti i dati, ovvero la frequenza di campionamento, può influire sulla scelta del periodo di allineamento. Consulta l'elenco delle metriche per le frequenze di campionamento delle metriche integrate. Considera la figura seguente, che illustra una serie temporale con una frequenza di campionamento di un punto al minuto:
Se il periodo di allineamento è uguale al periodo di campionamento, esiste un punto dati in ogni periodo di allineamento. Ciò significa che, ad esempio, l'applicazione di uno qualsiasi degli allineatori max, mean o min genera la stessa serie temporale allineata. La seguente illustrazione mostra questo risultato, insieme alla serie temporale originale sotto forma di linea sbiadita:
Per saperne di più sul funzionamento delle funzioni di allineamento, consulta Allineatori.
Se il periodo di allineamento è impostato su due minuti o sul doppio del periodo di campionamento, in ogni periodo sono presenti due punti dati. Se gli allineatori max, mean o min vengono applicati ai punti entro il periodo di allineamento di due minuti, le serie temporali risultanti sono diverse. La seguente illustrazione mostra questi risultati, insieme alla serie temporale originale sotto forma di linea sbiadita:
Quando scegli un periodo di allineamento, assicurati che sia più lungo del periodo di campionamento, ma abbastanza breve da mostrare tendenze pertinenti. Potresti dover fare delle prove per determinare un periodo di allineamento utile. Ad esempio, se i dati vengono raccolti alla frequenza di un punto al giorno, un periodo di allineamento di un'ora è troppo breve per essere utile: per la maggior parte delle ore non saranno presenti dati.
Allineatori
Dopo aver suddiviso i dati in periodi di allineamento, selezioni una funzione, l'allineatore, da applicare ai punti dati in quel periodo. L'allineatore produce un singolo valore posizionato alla fine di ogni periodo di allineamento.
Le opzioni di allineamento includono la somma dei valori, la ricerca del valore massimo, minimo o medio, la ricerca di un valore percentile scelto, il conteggio dei valori e altro ancora. L'API Cloud Monitoring supporta un ampio insieme di funzioni di allineamento, molte di più rispetto a quelle illustrate qui. Consulta Aligner per l'elenco completo. Per una descrizione degli allineatori di frequenza e delta, che trasformano i dati delle serie temporali, consulta Tipi, tipi di dati e conversioni.
Ad esempio, prendendo i dati raggruppati in bucket dalla serie temporale non elaborata (illustrata nella Figura 1), scegli un allineatore e applicalo ai dati in ogni bucket. La tabella seguente mostra i valori non elaborati e i risultati di tre diversi allineatori, max, mean e min:
| Periodo | Valori | Allineatore: max | Allineatore: media | Allineatore: min |
|---|---|---|---|---|
| 1:01–2:00 | 400, 350, 300, 200 | 400 | 312,5 | 200 |
| 2:01–3:00 | 200, 100 | 200 | 150 | 100 |
| 3:01–4:00 | 300, 250, 200 | 300 | 250 | 200 |
La seguente illustrazione mostra i risultati dell'applicazione degli allineatori max, mean o min utilizzando un periodo di allineamento di 1 ora alla serie temporale rossa originale (rappresentata dalla linea sbiadita nell'illustrazione):
Altri allineatori
La tabella seguente mostra gli stessi valori non elaborati e i risultati di altri tre allineatori:
- Count conta il numero di valori nel periodo di allineamento.
- Somma somma tutti i valori nel periodo di allineamento.
- Successivo meno recente utilizza il valore più recente del periodo come valore di allineamento.
| Periodo | Valori | Allineatore: conteggio | Allineatore: somma | Allineatore: prossima meno recente |
|---|---|---|---|---|
| 1:01–2:00 | 400, 350, 300, 200 | 4 | 1250 | 200 |
| 2:01–3:00 | 200, 100 | 2 | 300 | 100 |
| 3:01–4:00 | 300, 250, 200 | 3 | 750 | 200 |
Questi risultati non vengono mostrati in un grafico.
Riduzione: combinazione di serie temporali
Il passaggio successivo del processo, la riduzione, consiste nel combinare più serie temporali allineate in una nuova serie temporale. Questo passaggio sostituisce tutti i valori sul confine del periodo di allineamento con un singolo valore. Poiché funziona su serie temporali separate, la riduzione è chiamata anche aggregazione tra serie.
Riduttori
Un riduttore è una funzione che viene applicata ai valori di un insieme di serie temporali per produrre un singolo valore.
Le opzioni del riduttore includono la somma dei valori allineati o la ricerca del valore massimo, minimo o medio dei valori. L'API Cloud Monitoring supporta un'ampia serie di funzioni di riduzione. Per l'elenco completo, consulta Reducer.
L'elenco dei riduttori è parallelo all'elenco degli allineatori.
Le serie temporali devono essere allineate prima di poter essere ridotte. La seguente illustrazione mostra i risultati dell'allineamento di tutte e tre le serie temporali non elaborate (della Figura 1) in periodi di 1 ora con l'allineatore mean:
I valori delle tre serie temporali allineate alla media (illustrate nella Figura 4) sono mostrati nella tabella seguente:
| Limite di allineamento | Rosso | Blu | Verde |
|---|---|---|---|
| 2:00 | 312,5 | 133,3 | 400 |
| 3:00 | 150 | 283,3 | 433,3 |
| 4:00 | 250 | 300 | 350 |
Utilizzando i dati allineati nella tabella precedente, scegli un riduttore e applicalo ai valori. La tabella seguente mostra i risultati dell'applicazione di diversi riduttori ai dati allineati alla media:
| Limite di allineamento | Riduttore: max | Riduttore: media | Riduttore: min | Riduttore: somma |
|---|---|---|---|---|
| 2:00 | 400 | 281,90 £E | 133,3 | 845,8 |
| 3:00 | 433,3 | 288,9 | 150 | 866,7 |
| 4:00 | 350 | 300 | 250 | 900 |
Per impostazione predefinita, la riduzione viene applicata a tutte le serie temporali, generando una singola serie temporale. La seguente illustrazione mostra il risultato dell'aggregazione delle tre serie temporali allineate in base alla media con il riduttore max, che restituisce i valori medi più alti nelle serie temporali:
La riduzione può anche essere combinata con il raggruppamento, in cui le serie temporali vengono organizzate in categorie e il riduttore viene applicato alle serie temporali di ogni gruppo.
Raggruppamento
Il raggruppamento consente di applicare un riduttore a sottoinsiemi delle serie temporali anziché all'intero insieme di serie temporali. Per raggruppare le serie temporali, seleziona una o più etichette. Le serie temporali vengono quindi raggruppate in base ai relativi valori per le etichette selezionate. Il raggruppamento genera una serie temporale per ogni gruppo.
Se un tipo di metrica registra i valori per le etichette zone e color, puoi raggruppare le serie temporali in base a una o entrambe le etichette. Quando applichi il riduttore, ogni gruppo viene ridotto a una singola serie temporale. Se raggruppi per colore, ottieni una serie temporale per ogni colore rappresentato nei dati.
Se raggruppi per zona, ottieni una serie temporale per ogni zona visualizzata nei dati. Se raggruppi per entrambi, ottieni una serie temporale per ogni combinazione di colori e zone.
Ad esempio, supponiamo che tu abbia acquisito molte serie temporali con i valori "rosso", "blu" e "verde" per l'etichetta color. Dopo aver allineato tutte le serie temporali, queste possono essere raggruppate in base al valore color e poi ridotte per gruppo. In questo modo vengono create tre serie temporali specifiche per colore:
L'esempio non specifica l'allineatore o il riduttore utilizzato; il punto qui è che il raggruppamento consente di ridurre un ampio insieme di serie temporali in un insieme più piccolo, in cui ogni serie temporale rappresenta un gruppo che condivide un attributo comune: in questo esempio, il valore dell'etichetta color.
Aggregazione secondaria
Cloud Monitoring esegue due passaggi di aggregazione.
L'aggregazione principale regolarizza i dati misurati e poi combina le serie temporali regolarizzate utilizzando un riduttore. Quando utilizzi il raggruppamento, la riduzione eseguita nell'ambito di questo passaggio potrebbe generare più di una serie temporale.
L'aggregazione secondaria, che si applica ai risultati del passaggio di aggregazione principale, consente di combinare le serie temporali raggruppate in un unico risultato utilizzando un secondo riduttore.
La tabella seguente mostra i valori delle serie temporali raggruppate (illustrate nella Figura 6):
| Limite di allineamento | Gruppo rosso | Gruppo blu | Gruppo verde |
|---|---|---|---|
| 2:00 | 400 | 150 | 450 |
| 3:00 | 200 | 350 | 450 |
| 4:00 | 300 | 300 | 400 |
Queste tre serie temporali già ridotte possono essere ulteriormente ridotte applicando l'aggregazione secondaria. La tabella seguente mostra i risultati dell'applicazione dei riduttori selezionati:
| Limite di allineamento | Riduttore: max | Riduttore: media | Riduttore: min | Riduttore: somma |
|---|---|---|---|---|
| 2:00 | 450 | 333,3 | 150 | 1000 |
| 3:00 | 450 | 333,3 | 200 | 1000 |
| 4:00 | 400 | 333,3 | 300 | 1000 |
La seguente illustrazione mostra il risultato dell'aggregazione delle tre serie raggruppate con il riduttore mean:
Kind, tipi e conversioni
Ricorda che i punti dati di una serie temporale sono caratterizzati da un tipo di metrica e da un tipo di valore. Per un riepilogo, consulta Tipi di valore e tipi di metrica. Gli allineatori e i riduttori appropriati per un set di dati potrebbero non essere appropriati per un altro. Ad esempio, un allineatore o un riduttore che conta il numero di valori false è appropriato per i dati booleani, ma non per i dati numerici. Analogamente, un allineatore o un riduttore che calcola una media è applicabile ai dati numerici, ma non ai dati booleani.
Alcuni allineatori e riduttori possono essere utilizzati anche per modificare esplicitamente il tipo di metrica o il tipo di valore dei dati in una serie temporale. Alcuni, come ALIGN_COUNT, lo fanno come effetto collaterale.
Tipo di metrica: una metrica cumulativa è una metrica in cui ogni valore rappresenta il totale dall'inizio della raccolta dei valori. Non puoi utilizzare le metriche cumulative direttamente nei grafici, ma puoi utilizzare le metriche delta, in cui ogni valore rappresenta la variazione rispetto alla misurazione precedente.
Puoi anche convertire le metriche cumulative e delta in metriche di tipo GAUGE. Ad esempio, considera una metrica delta la cui serie temporale è la seguente:
(ora di inizio, ora di fine] (minuti) value (MiB) (0, 2] 8 (2, 5] 6 (6, 9] 9 Supponiamo che tu abbia selezionato un allineatore
ALIGN_DELTAe un periodo di allineamento di tre minuti. Poiché il periodo di allineamento non corrisponde a (ora di inizio, ora di fine] per ogni campione, viene creata una serie temporale con valori interpolati. Per questo esempio, la serie temporale interpolata è:(ora di inizio, ora di fine] (minuti) valore interpolato (MiB) (0, 1] 4 (1, 2] 4 (2, 3] 2 (3, 4] 2 (4, 5] 2 (5, 6] 0 (6, 7] 3 (7, 8] 3 (8, 9] 3 Successivamente, tutti i punti all'interno del periodo di allineamento di tre minuti vengono sommati per generare i valori allineati:
(ora di inizio, ora di fine] (minuti) valore allineato (MiB) (0, 3] 10 (3, 6] 4 (6, 9] 9 Se è selezionato
ALIGN_RATE, la procedura è la stessa, ma i valori allineati vengono divisi per il periodo di allineamento. Per questo esempio, il periodo di allineamento è di tre minuti, quindi la serie temporale allineata ha i seguenti valori:(ora di inizio, ora di fine] (minuti) valore allineato (MiB / secondo) (0, 3] 0,056 (3, 6] 0,022 (6, 9] 0,050 Per creare un grafico di una metrica cumulativa, questa deve essere convertita in una metrica delta o in una metrica di frequenza. La procedura per le metriche cumulative è simile a quella descritta in precedenza. Puoi calcolare una serie temporale delta da una serie temporale cumulativa calcolando la differenza dei termini adiacenti.
Tipo di valore: alcuni allineatori e riduttori lasciano invariato il tipo di valore dei dati di input; ad esempio, i dati interi rimangono dati interi dopo l'allineamento. Altri allineatori e riduttori convertono i dati da un tipo a un altro, il che significa che le informazioni possono essere analizzate in modi non appropriati per il tipo di valore originale.
Ad esempio, il riduttore
REDUCE_COUNTpuò essere applicato a dati numerici, booleani, stringa e di distribuzione, ma il risultato che produce è un numero intero a 64 bit che conta il numero di valori nel periodo.REDUCE_COUNTpuò essere applicato solo alle metriche di tipo GAUGE e DELTA e lascia invariato il tipo di metrica.
Le tabelle di riferimento per Aligner e Reducer indicano il tipo di dati per cui ciascuno è appropriato e l'eventuale conversione risultante. Ad esempio, di seguito è riportata la voce per ALIGN_DELTA: