Creazione di un indicatore del livello del servizio

Se crei servizi personalizzati, devi creare anche il livello di servizio degli obiettivi (SLO) per loro. Non esistono SLO predefiniti per i i servizi di machine learning.

Puoi anche creare SLO personalizzati per i servizi rilevati automaticamente, meno comune.

Gli SLO si basano sulle metriche che misurano le prestazioni e vengono usati come degli indicatori del livello del servizio (SLI). Per gli SLO personalizzati, devi identificare da usare negli SLI.

Se non stai creando SLO personalizzati, puoi saltare questa pagina.

Caratteristiche dei tipi di metriche adatti

Esistono due tipi di SLO che puoi creare per i tuoi servizi:

  • SLO basati su richiesta.
  • SLO basati su Windows.

Gli SLO si basano sui tipi di metriche che scegli come SLI. I valori delle metriche sono classificati in base alla correlazione tra loro. Questa classificazione è chiamato tipo di metrica e ha tre valori possibili: GAUGE, DELTA, e CUMULATIVE. Per ulteriori informazioni, vedi MetricKind.

Per gli SLO basati sulle richieste, lo SLI rappresenta un rapporto di richieste soddisfacenti alle richieste totali. Il tipo di metrica dello SLI deve essere DELTA o CUMULATIVE. Non puoi utilizzare le metriche GAUGE negli SLI basati su richiesta.

Per gli SLO basati su finestre, il tuo SLI rappresenta un conteggio dei risultati buoni per un determinato periodo. I tipi di metriche accettabili dipendono da come la struttura gli SLI. Tuttavia, se utilizzi uno SLI basato su richiesta, il tipo di metrica Lo SLI deve essere DELTA o CUMULATIVE. Non puoi utilizzare le metriche GAUGE negli SLI basati su richiesta. Per ulteriori informazioni, consulta la sezione Strutture per sistemi basati su finestre SLI

Per ulteriori informazioni sui tipi di SLO, consulta Concetti sui servizi e il monitoraggio.

Puoi utilizzare i tipi di metriche forniti da Cloud Monitoring oppure utilizzano i tipi di metrica personalizzata che hai creato. In entrambi i casi, i valori sono adatti allo SLI che vuoi creare.

Tipi di metriche non adatti

Quando prendi in considerazione un tipo di metrica da utilizzare come SLI, evita l'alta cardinalità tipi di metriche. La cardinalità descrive il numero di possibili serie temporali che può essere associato al tipo di metrica ed è correlato alla granularità dei valori che le etichette delle metriche possono assumere. Per una discussione sulla cardinalità, consulta Cardinalità: serie temporali ed etichette.

È probabile che i tipi di metriche con etichette che assumono valori come i timestamp cardinalità molto elevata e sono scelte scadenti da usare come SLI. Le metriche ad alta cardinalità sono spesso metriche definite dall'utente che non sono state progettato per evitare problemi di cardinalità. Queste possono includere metriche basate su log metriche e personalizzate.

Individuazione dei tipi di metriche adatti

Qui puoi trovare informazioni sui tipi di metriche, tra cui in più luoghi:

  • Viene visualizzato il selettore di metriche utilizzato in strumenti come Metrics Explorer una scheda popup per il tipo di metrica evidenziato. Questo strumento funziona per personalizzate e integrate.

    Ad esempio, il seguente screenshot mostra la scheda popup della metrica digita loadbalancing.googleapis.com/https/request_count come mostrato in Metrics Explorer:

    Una metrica di bilanciamento del carico in Metrics Explorer con una scheda popup che mostra il tipo di metrica.

    Con Esplora metriche, puoi anche configurare la metrica in modo che imita ciò che fa l'API SLO, oltre a una rappresentazione JSON quella configurazione. Questo JSON è utile per creare manualmente uno SLI.

  • Le pagine nell'elenco delle metriche contengono tabelle per ogni che descrive nel dettaglio i tipi di metriche associati ai servizi. Queste tabelle includono tutti i tipi di metriche integrati, ma non mostrano tipi di metrica personalizzata.

    Ad esempio, il seguente screenshot mostra la voce per il tipo di metrica loadbalancing.googleapis.com/https/request_count come rilevato in nell'elenco delle metriche di bilanciamento del carico. Queste voci spesso forniscono più dettagli rispetto alle schede popup di Metrics Explorer.

    Una metrica di bilanciamento del carico nella tabella di riferimento.

Creazione dello SLI

Per il monitoraggio dei servizi, i dati delle metriche vengono elaborati in modi specifici, che puoi replicare in Metrics Explorer. Questa pagina presuppone che tu abbia familiarità con Metrics Explorer. Per ulteriori informazioni, consulta Esplora metriche.

Per creare uno SLI basato sulle richieste in base a un rapporto di serie temporali, sono necessari due serie temporali: una che rappresenta tutte le richieste e una che rappresenta tutte le richieste (o non valide). Questo tipo di SLI ha la seguente struttura:

  "requestBased": {
    "goodTotalRatio": {
      "totalServiceFilter": TO_BE_IDENTIFIED,
      "goodServiceFilter": TO_BE_IDENTIFIED,
    }
  }

Per ottenere il valore del campo goodServiceFilter:

  1. Seleziona il tipo di risorsa monitorata e il tipo di metrica. Ricorda che il tipo di metrica deve essere DELTA o CUMULATIVE. Il risultato potrebbe includono molte serie temporali diverse.

    Ad esempio, seleziona il tipo di risorsa http_lb_rule e Tipo di metrica loadbalancing.googleapis.com/https/request_count.

  2. Utilizza il campo Filtro per impostare l'etichetta response_code_class su 200. Questo filtro rimuove tutte le serie temporali con altri valori per questa etichetta. Là potrebbe comunque esserci più serie temporali corrispondenti.

  3. Scegli l'aggregatore sum per creare un'unica serie temporale. Il grafico Nella pagina Esplora metriche viene visualizzata la serie temporale risultante.

  4. Fai clic su Altre opzioni sopra il grafico e Seleziona Visualizza come JSON dal menu.

    Il JSON recuperato ha un aspetto simile al seguente:

    "dataSets": [
      {
        "timeSeriesFilter": {
          "filter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule" metric.label."response_code_class"="200""
          "perSeriesAligner": "ALIGN_RATE",
          "crossSeriesReducer": "REDUCE_SUM",
          "secondaryCrossSeriesReducer": "REDUCE_NONE",
          "minAlignmentPeriod": "60s",
          "groupByFields": [],
          "unitOverride": "1"
        },
        "targetAxis": "Y1",
        "plotType": "LINE"
      }
    ],
    

La parte che ti interessa è il valore del campo filter incorporato nell'oggetto dataSets:

"filter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule" metric.label."response_code_class"="200""

Per creare la struttura dello SLI:

  1. Inserisci questo valore nella struttura SLI come valore dello SLI campo goodServiceFilter.

  2. Inserisci anche questo valore nella struttura SLI come valore del parametro totalServiceFilter, poi rimuovi la parte del filtro relativa all'etichetta, metric.label.\"response_code_class\"=\"200\".

L'indicatore del livello del servizio risultante:

  "requestBased": {
    "goodTotalRatio": {
      "totalServiceFilter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule"",
      "goodServiceFilter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule" metric.label."response_code_class"="200"",
    }
  }

Puoi quindi inserire questo SLI in uno SLO, ad esempio:

{
   "serviceLevelIndicator": {
      "requestBased": {
        "goodTotalRatio": {
          "totalServiceFilter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule"",
          "goodServiceFilter": "metric.type="loadbalancing.googleapis.com/https/request_count" resource.type="http_lb_rule" metric.label."response_code_class"="200"",
        }
     }
   },
   "goal": 0.98,
   "calendarPeriod": "WEEK",
   "displayName": "98% Successful requests in a calendar week"
}

Puoi utilizzare questo JSON per creare uno SLO, come descritto in Creazione di un SLO.