I dati SLO sono archiviati in serie temporali. Puoi recuperare le serie temporali SLO by
specificando un selettore di serie temporali nel filter parametro to the
timeSeries.list method or by using the direct
filter mode in Metrics Explorer.
Policy di avviso basate su SLO
Se crei una criterio di avviso utilizzando l'API Cloud Monitoring, devi specificare il filtro utilizzando un selettore di serie temporali come campo nella condizione di soglia della policy. Per informazioni su come creare policy di avviso basate su SLO utilizzando l'API Monitoring, consulta Creare una policy di avviso.
Nelle policy di avviso è possibile utilizzare solo un sottoinsieme dei selettori di serie temporali disponibili per gli SLO.
Inoltre, le policy di avviso basate su SLO create con la Google Cloud console
utilizzano sempre il select_slo_burn_rate selettore.
Utilizzare un selettore di serie temporali in un filtro
Per recuperare i dati delle serie temporali per gli SLO, il filtro deve specificare un selettore di serie temporali. I dati SLO non vengono archiviati con i tipi di metriche e non possono essere recuperati con il filtro che specifica una coppia di tipi di metriche e risorse monitorate.
Nomi e argomenti
I selettori di serie temporali hanno uno dei seguenti formati:
SELECTOR_NAME(SLO_NAME) SELECTOR_NAME(SLO_NAME, LOOKBACK_PERIOD)
I selettori hanno nomi che iniziano con select_slo_ e accettano uno o due argomenti:
Il primo argomento del selettore è il nome della risorsa per uno SLO, che ha il seguente aspetto:
projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID
L'espressione precedente contiene tre variabili:
- PROJECT_ID: nome o numero di un Google Cloud progetto.
- SERVICE_ID: nome di un servizio.
- SLO_ID: identificatore di uno SLO definito per il servizio.
Per informazioni su come trovare i valori dei campi SERVICE_ID e SLO_ID per il tuo Google Cloud progetto, consulta Utilizzare l'API.
Il secondo argomento, se supportato, è un periodo di riferimento. Per informazioni sui periodi di ricerca all'indietro, consulta Tipi di avvisi relativi al budget di errore. Le unità di tempo valide sono "ns", "us", "ms", "s", "m", "h".
Ad esempio, il selettore select_slo_budget accetta un argomento SLO_NAME,
quindi un filtro che utilizza questo selettore ha il seguente aspetto:
select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")
Al contrario, il selettore select_slo_burn_rate richiede gli argomenti
SLO_NAME e LOOKBACK_PERIOD,
quindi un filtro che utilizza questo selettore ha il seguente aspetto:
select_slo_burn_rate("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID", "3600s")
Per un elenco e una descrizione di tutti i selettori, consulta Selettori di serie temporali.
Recuperare i dati con un selettore
Un modo per eseguire query sui dati delle serie temporali è utilizzare lo strumento Explorer API
nella pagina di riferimento del metodo timeSeries.list.
Per informazioni su questo strumento, consulta Explorer API.
Ad esempio, per recuperare informazioni sul budget di uno SLO, completa i seguenti campi nello strumento Explorer API:
- name:
projects/PROJECT_ID - filter:
select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID") - interval.startTime:
2021-10-07T13:00:20-04:00 - interval.endTime:
2021-10-08T13:00:20-04:00
Per un sistema, dopo che le variabili come PROJECT_ID vengono sostituite con valori e il metodo viene eseguito, vengono restituiti i seguenti dati delle serie temporali:
Selettori di serie temporali
Questa sezione elenca i selettori di serie temporali disponibili per gli SLO e descrive cosa rappresentano. Tutti i selettori possono essere utilizzati nei filtri con il metodo timeSeries.list per recuperare i dati delle serie temporali. Non tutti sono supportati nelle policy di avviso.
select_slo_burn_rate
Sintassi: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)
Il selettore di serie temporali "burn rate" restituisce il rapporto tra la percentuale di errori corrente (la percentuale di richieste non valide nell'intervallo di ricerca all'indietro) e la percentuale di errori sostenibile per lo SLO. La percentuale di errori sostenibile è la percentuale in cui lo SLO viene soddisfatto esattamente.
I valori di questa serie temporale possono variare da 0 a infinito:
- Un valore pari a 1 indica che il servizio presenta la percentuale di errori ideale: non troppo rischiosa, non troppo conservativa.
- Un valore maggiore di 1 significa che la percentuale di errori supera la percentuale sostenibile. Più alto è il valore, prima lo SLO non sarà conforme.
- Un valore inferiore a 1 significa che la percentuale di errori corrente è inferiore alla percentuale sostenibile.
Ti consigliamo di utilizzare due policy di avviso per monitorare il burn rate: una policy di burn rate rapido per avvisarti dei picchi nel burn rate e una policy di burn rate lento per avvisarti degli aumenti graduali.
Puoi creare e modificare policy di avviso basate su questo selettore di serie temporali utilizzando l'API o la Google Cloud console.
Tutte le policy di avviso basate su SLO create utilizzando la Google Cloud console utilizzano questo selettore per recuperare i dati SLO.
select_slo_health
Sintassi: select_slo_health(SLO_NAME)
La serie temporale "Stato SLO" risponde alla domanda: "Durante un determinato periodo di allineamento, qual è stato il rapporto tra richieste valide e richieste totali?" L'SLI per il servizio definisce cosa conta come richiesta valida. Per saperne di più sugli SLI, consulta la panoramica.
Questa serie temporale misura le prestazioni del servizio: se ogni richiesta al servizio è valida, i punti dati in questa serie temporale hanno il valore 1. Man mano che aumenta il numero di richieste non valide, i valori dei punti dati diminuiscono.
select_slo_compliance
Sintassi: select_slo_compliance(SLO_NAME)
La serie temporale "Conformità SLO" risponde alla domanda: "Qual è il rapporto tra unità valide e unità totali dall'inizio del periodo di conformità?" Lo SLO definisce il periodo di conformità come una finestra mobile o un intervallo di tempo di calendario. L'unità può essere una richiesta o una finestra di tempo. Per saperne di più, consulta Conformità negli SLO basati su richieste e finestre.
Questa serie temporale fornisce un'immagine generale del livello di efficacia del servizio rispetto allo SLO. Non produce un segnale urgente dal punto di vista operativo.
Non utilizzare questo selettore di serie temporali nelle policy di avviso.
select_slo_budget
Sintassi: select_slo_budget(SLO_NAME)
La serie temporale "Budget SLO" risponde alla domanda: "Quanto budget di errore è rimasto al momento della misurazione?" Il budget di errore potrebbe essere misurato in richieste o minuti e l'importo rimanente viene calcolato in base al fatto che il periodo di conformità sia misurato in tempo di calendario o come finestra mobile. Per saperne di più, consulta Budget di errore.
Questa serie temporale misura il rischio nell'affidabilità di un servizio. Se il budget di errore diventa inferiore a zero, potrebbe non essere possibile soddisfare lo SLO per il periodo corrente. La mancata soddisfazione dello SLO potrebbe avere conseguenze reali per l'ambiente di produzione di un'organizzazione, a seconda di come l'organizzazione gestisce l'affidabilità.
Non utilizzare questo selettore di serie temporali nelle policy di avviso.
select_slo_budget_fraction
Sintassi: select_slo_budget_fraction(SLO_NAME)
La serie temporale "Frazione del budget SLO" risponde alla domanda: "Quanto budget di errore, in forma di frazione da infinito negativo a 1, rimane al momento attuale?"
Non utilizzare questo selettore di serie temporali nelle policy di avviso.
select_slo_budget_total
Sintassi: select_slo_budget_total(SLO_NAME)
La serie temporale "Budget totale SLO" risponde alla domanda: "Qual è il budget di errore totale (in richieste o minuti) che si prevede sarà disponibile al momento attuale, in base al comportamento del servizio dall'inizio del periodo di conformità?" Lo SLO definisce il periodo di conformità come una finestra mobile o un intervallo di tempo di calendario.
Non utilizzare questo selettore di serie temporali nelle policy di avviso.
select_slo_counts
Sintassi: select_slo_counts(SLO_NAME)
La serie temporale "Conteggi SLO" risponde alla domanda: "Durante un determinato periodo di allineamento, qual è il numero di richieste valide e non valide?" Questo selettore fornisce una serie temporale che registra lo stato generale ed è adatta per l'importazione in sistemi di archiviazione a lungo termine.
Non utilizzare questo selettore di serie temporali nelle policy di avviso.