I dati SLO vengono archiviati in serie temporali. Puoi recuperare le serie temporali SLO specificando un selettore di serie temporali nel parametro filter
del metodo timeSeries.list
o utilizzando la modalità di filtro diretto in Metrics Explorer.
Criteri di avviso basati su SLO
Se stai creando un criterio di avviso utilizzando l'API Cloud Monitoring, specifica il filtro utilizzando un selettore di serie temporali come campo nella condizione di soglia del criterio. Per informazioni su come creare criteri di avviso basati su SLO utilizzando l'API Monitoring, consulta Creare un criterio di avviso.
Nei criteri di avviso è possibile utilizzare solo un sottoinsieme dei selettori delle serie temporali disponibili per gli SLO.
Inoltre, i criteri di avviso basati su SLO creati con la console Google Cloud
utilizzano sempre il selettore select_slo_burn_rate
.
Utilizzo di 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 memorizzati con i tipi di metriche e non possono essere recuperati con il filtro che specifica una coppia di tipi di metrica e di risorse monitorate.
Nomi e argomenti
I selettori delle serie temporali hanno una delle seguenti forme:
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 un 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 progetto Google Cloud.
- SERVICE_ID: nome di un servizio.
- SLO_ID: identificatore di uno SLO definito per il servizio.
Per informazioni su come trovare i valori per i campi SERVICE_ID e SLO_ID per il tuo progetto Google Cloud, consulta Utilizzo dell'API.
Il secondo argomento, se supportato, è un periodo di riferimento. Per informazioni sui periodi di riferimento, 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, pertanto 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 delle serie temporali.
Recupero dei 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 un SLO, compila 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 sono state sostituite con valori e il metodo è stato eseguito, vengono restituiti i seguenti dati delle serie temporali:
Selettori delle serie temporali
Questa sezione elenca i selettori delle 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 nei criteri di avviso.
select_slo_burn_rate
Sintassi: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)
Il selettore delle serie temporali "burn-rate" restituisce il rapporto tra il tasso di errori corrente (il tasso di richieste non valide nell'intervallo di ricerca) e il tasso di errori sostenibile per lo SLO. Il tasso di errori sostenibile è il tasso con 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 il tasso di errore ideale: non troppo rischioso, non troppo conservativo.
- Un valore superiore a 1 indica che il tasso di errore supera il tasso sostenibile. Maggiore è il valore, prima che lo SLO non sia più conforme.
- Un valore inferiore a 1 indica che il tasso di errori attuale è inferiore al tasso sostenibile.
Ti consigliamo di utilizzare due criteri di avviso per monitorare il tasso di burn: un criterio di burn rapido per avvisarti degli picchi nel tasso di burn e un criterio di burn lento per avvisarti degli aumenti graduali.
Puoi creare e modificare i criteri di avviso in base a questo selettore delle serie temporali utilizzando l'API o la console Google Cloud.
Tutti i criteri di avviso basati su SLO creati utilizzando la console Google Cloud 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 soddisfacenti e richieste totali?". L'SLI per il servizio definisce cosa si considera una richiesta valida. Per ulteriori informazioni sugli SLI, consulta la sezione Panoramica.
Questa serie temporale misura il rendimento del servizio: se ogni richiesta al servizio è valida, i punti dati in questa serie temporale hanno il valore 1. Con l'aumento del numero di richieste non valide, i valori dei punti dati diminuiscono.
select_slo_compliance
Sintassi: select_slo_compliance(SLO_NAME)
La serie temporale "Conformità allo 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 un periodo di tempo. Per ulteriori informazioni, consulta Conformità negli SLO basati su richieste e finestre.
Questa serie temporale fornisce un quadro generale del livello di efficacia del servizio rispetto allo SLO. Non genera un segnale di urgenza operativa.
Non utilizzare questo selettore delle serie temporali nei criteri di avviso.
select_slo_budget
Sintassi: select_slo_budget(SLO_NAME)
La serie temporale "Budget SLO" risponde alla domanda "Quanto del budget di errore è rimasto al momento della misurazione?". Il budget di errore può 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 ulteriori informazioni, consulta Budget di errori.
Questa serie temporale misura il rischio relativo all'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 conformità allo SLO potrebbe avere conseguenze reali per l'ambiente di produzione di un'organizzazione, a seconda di come l'organizzazione regola l'affidabilità.
Non utilizzare questo selettore delle serie temporali nei criteri di avviso.
select_slo_budget_fraction
Sintassi: select_slo_budget_fraction(SLO_NAME)
La serie temporale "frazione del budget SLO" risponde alla domanda: "Quanto del budget di errore, in forma di frazione da infinito negativo a uno, rimane al momento attuale?"
Non utilizzare questo selettore delle serie temporali nei criteri 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 dovrebbe essere disponibile in questo momento, 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 delle serie temporali nei criteri 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 delle serie temporali nei criteri di avviso.