Informazioni sui rapporti delle metriche

Questo documento ti aiuta a scegliere l'approccio migliore per tracciare o monitorare un rapporto tra i dati delle metriche. Include inoltre link agli esempi, identifica quando è possibile calcolare i rapporti e descrive le anomalie che potresti riscontrare quando tracci un rapporto di due metriche diverse. Queste anomalie sono dovute a differenze nella frequenza di campionamento o nei parametri di allineamento.

I rapporti ti consentono di trasformare i dati delle metriche in un modulo diverso e potenzialmente più utile. Ad esempio, considera un tipo di metrica che conteggia il numero di risposte HTTP in base al codice di risposta. I dati delle metriche indicano il numero di errori, ma non la proporzione di richieste non riuscite. Tuttavia, i requisiti di prestazioni sono spesso specificati in percentuale, ad esempio "Il tasso di errore deve essere inferiore allo 0,1%". Per determinare la percentuale di errori utilizzando i dati della metrica, devi calcolare il rapporto delle richieste non riuscite e il numero totale di richieste.

best practice

Per monitorare o creare un grafico di un rapporto dei dati delle metriche, ti consigliamo di utilizzare MQL (Monitoring Query Language). Puoi utilizzare MQL con l'API Cloud Monitoring e con la console Google Cloud. La console Google Cloud include un editor di codice che fornisce suggerimenti, rilevamento degli errori e altro supporto per la creazione di query MQL valide. Per ulteriori informazioni ed esempi, consulta i seguenti documenti:

Per creare un criterio di avviso che monitori un rapporto di metriche quando non hai familiarità con MQL, utilizza l'API Cloud Monitoring e includi un filtro serie temporale. Per un esempio, consulta la sezione Rapporto delle metriche.

Per tracciare un rapporto dei dati delle metriche quando non hai familiarità con MQL, ti consigliamo di utilizzare la console Google Cloud e un'interfaccia basata su menu. Per istruzioni dettagliate, consulta gli articoli Creare un grafico di un rapporto tra le metriche e Aggiungere grafici e tabelle a una dashboard personalizzata.

Limitazioni con proporzioni

Quando configuri un rapporto, si applicano le seguenti limitazioni:

  • Dopo l'aggregazione, le etichette nella serie temporale del denominatore devono essere le stesse, o un sottoinsieme di, delle etichette nella serie temporale del numeratore.

    Ti consigliamo di selezionare opzioni di aggregazione in modo che dopo l'aggregazione, il numeratore e le serie temporali del denominatore abbiano le stesse etichette.

    Considera una configurazione in cui le serie temporali del numeratore hanno etichette method, quota_metric e project_id. La serie temporale del denominatore ha etichette limit_name, quota_metric e project_id. Le scelte valide per il raggruppamento di denominatori dipendono dalle selezioni del numeratore:

    • Numeratore raggruppato per l'etichetta method: combina la serie temporale del denominatore in un'unica serie temporale. Nessun altro raggruppamento nelle etichette della serie temporale del denominatore risulta come sottoinsieme delle etichette della serie temporale del numeratore.
    • Numeratore raggruppato per l'etichetta quota_metric: raggruppa il denominatore in base a questa etichetta o combina tutte le serie temporali del denominatore in un'unica serie temporale.
    • Numeratore raggruppato in base alle etichette quota_metric e project_id: raggruppa il denominatore in base a entrambe le etichette, per una sola etichetta o combina le serie temporali del denominatore in un'unica serie temporale.

    Le opzioni di aggregazione del denominatore valido eliminano sempre l'etichetta limit_name dalle serie temporali raggruppate perché tale etichetta non è presente nelle serie temporali del numeratore.

    Per alcuni esempi, consulta la pagina relativa agli esempi di criteri di avviso MQL.

  • Il periodo di allineamento deve essere lo stesso per il numeratore e il denominatore durante la configurazione di un grafico mediante la console Google Cloud. Tuttavia, questi campi possono essere diversi quando si utilizza l'API Cloud Monitoring.

    Ti consigliamo di utilizzare lo stesso periodo di allineamento per il numeratore e il denominatore, indipendentemente dallo strumento utilizzato per creare il grafico.

  • Il numeratore e il denominatore devono avere lo stesso tipo di valore. Ad esempio, quando il numeratore è di tipo DOUBLE, anche il denominatore deve essere di tipo DOUBLE.

    Per i rapporti è necessario che la metrica per il numeratore e il denominatore abbia un tipo di valore DOUBLE o INT64.

  • Le serie temporali allineate per il numeratore e il denominatore devono avere lo stesso tipo di metrica. Quando le due metriche hanno tipi diversi, devi utilizzare gli allineatori per convertirle nello stesso tipo.

    Considera una configurazione in cui viene selezionata una metrica DELTA per il numeratore e una metrica GAUGE per il denominatore. In questo caso, utilizza l'allineatore dei tassi, ALIGN_RATE, per convertire la metrica DELTA in una metrica GAUGE. Per un esempio, consulta Criteri di avviso sul rapporto sull'utilizzo della quota di frequenza per un limite.

  • Per i rapporti che non sono definiti con MQL, il tipo di risorsa monitorata deve essere lo stesso per il numeratore e il denominatore.

    Ad esempio, se la risorsa per la metrica del numeratore è un'istanza di Compute Engine, anche la risorsa per la metrica del denominatore deve essere istanze di Compute Engine.

Anomalie dovute a errate corrispondenze di campionamento e allineamento

In generale, è preferibile calcolare i rapporti in base alle serie temporali raccolte per un singolo tipo di metrica, utilizzando i valori delle etichette. Un rapporto calcolato in base a due diversi tipi di metriche è soggetto ad anomalie dovute a periodi di campionamento e finestre di allineamento differenti.

Ad esempio, supponiamo di avere due diversi tipi di metriche, un conteggio totale RPC e un conteggio degli errori RPC, e di voler calcolare il rapporto tra le RPC per il numero di errori e le RPC totali. Le RPC non riuscite vengono conteggiate nella serie temporale di entrambi i tipi di metriche. Pertanto, è possibile che, quando allinei le serie temporali, una RPC non riuscita non venga visualizzata nello stesso intervallo di allineamento per entrambe le serie temporali. Questa differenza può verificarsi per diversi motivi, tra cui:

  • Poiché due serie temporali registrano lo stesso evento, esistono due valori contatore sottostanti che implementano la raccolta e non vengono aggiornati a livello atomico.
  • Le frequenze di campionamento potrebbero variare. Quando le serie temporali sono allineate a un periodo comune, i conteggi per un singolo evento potrebbero essere visualizzati negli intervalli di allineamento adiacenti nelle serie temporali per le diverse metriche.

La differenza nel numero di valori negli intervalli di allineamento corrispondenti può portare a valori del rapporto error/total insensati, come 1/0 o 2/1.

I rapporti dei numeri maggiori hanno meno probabilità di generare valori incomprensibili. Puoi ottenere numeri più elevati per aggregazione, utilizzando una finestra di allineamento più lunga del periodo di campionamento o raggruppando i dati per determinate etichette. Queste tecniche riducono al minimo l'effetto di piccole differenze nel numero di punti in un dato intervallo. In altre parole, una disparità di due punti è più significativa quando il numero previsto di punti in un intervallo è 3 rispetto a quando il numero previsto è 300.

Se usi tipi di metriche integrate, potresti non avere altra scelta che calcolare i rapporti tra i tipi di metriche per ottenere il valore di cui hai bisogno.

Se stai progettando metriche personalizzate che potrebbero conteggiare gli stessi elementi, ad esempio gli RPC che restituiscono lo stato di errore, in due metriche diverse, prendi in considerazione una sola metrica, che include ogni conteggio una sola volta. Ad esempio, supponi di conteggiare le RPC e di voler monitorare il rapporto tra le RPC non riuscite e tutte le RPC. Per risolvere il problema, crea un singolo tipo di metrica per conteggiare le RPC e utilizza un'etichetta per registrare lo stato della chiamata, incluso lo stato "OK". Quindi, ogni valore dello stato, errore o "OK", viene registrato aggiornando un singolo contatore per quel caso.

Passaggi successivi