Informazioni sui rapporti delle metriche

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

I rapporti consentono di trasformare i dati delle metriche in una forma diversa e potenzialmente più utile. Ad esempio, considera un tipo di metrica che conteggia il numero di risposte HTTP per 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 vengono spesso specificati come percentuale, ad esempio "La percentuale di errore deve essere inferiore allo 0,1%". Per determinare la percentuale di errore utilizzando i dati delle metriche, calcoli il rapporto tra le richieste non riuscite e il numero totale di richieste.

Best practice

Per monitorare o creare un grafico di un rapporto di dati delle metriche, consigliamo di utilizzare Monitoring Query Language (MQL). Puoi usare MQL con l'API Cloud Monitoringg e la console Google Cloud. La console Google Cloud include un editor di codice che offre 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 delle serie temporali. Ad esempio, consulta Rapporto delle metriche.

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

Limitazioni relative ai rapporti

Quando configuri un rapporto, si applicano le seguenti restrizioni:

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

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

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

    • Numeratore raggruppato in base all'etichetta method: Combina le serie temporali del denominatore in un'unica serie temporale. Nessun altro raggruppamento fa sì che le etichette per la serie temporale del denominatore siano un sottoinsieme delle etichette della serie temporale del numeratore.
    • Numeratore raggruppato per l'etichetta quota_metric: raggruppa il denominatore in base a quell'etichetta o combina tutte le serie temporali del denominatore in un'unica serie temporale.
    • Numeratore raggruppati in base alle etichette quota_metric e project_id: raggruppa il denominatore in base a entrambe le etichette, in base a un'unica etichetta oppure combina le serie temporali del denominatore in un'unica serie temporale.

    Le opzioni di aggregazione del denominatore valide eliminano sempre l'etichetta limit_name dalle serie temporali raggruppate perché questa etichetta non è presente nella serie temporale del numeratore.

    Ad esempio, consulta la sezione Esempi di criteri di avviso MQL.

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

    Ti consigliamo di utilizzare lo stesso periodo di allineamento per il numeratore e il denominatore, a prescindere 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.

    I rapporti richiedono che il numeratore e la metrica del denominatore abbiano un tipo di valore DOUBLE o INT64.

  • Le serie temporali allineate del numeratore e del 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 sia selezionata una metrica DELTA per il numeratore e una metrica GAUGE per il denominatore. In questa situazione, utilizza l'allineatore di tariffe ALIGN_RATE per convertire la metrica DELTA in una metrica GAUGE. Ad esempio, consulta Criteri di avviso sul rapporto sull'utilizzo della quota di frequenza per un limite.

  • Per i rapporti non 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 è istanze 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 su due diversi tipi di metriche è soggetto ad anomalie dovute a periodi di campionamento e finestre di allineamento diversi.

Ad esempio, supponiamo che tu abbia due diversi tipi di metriche, un conteggio totale RPC e un numero di errori RPC, e di voler calcolare il rapporto tra le RPC e le RPC totali. Le RPC non riuscite vengono conteggiate nella serie temporale di entrambi i tipi di metriche. Di conseguenza, è 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é esistono due diverse serie temporali che registrano lo stesso evento, sono presenti due valori contatore sottostanti che implementano la raccolta, che non sono aggiornati a livello atomico.
  • Le frequenze di campionamento possono variare. Quando le serie temporali sono allineate a un periodo comune, i conteggi di un singolo evento potrebbero essere visualizzati in intervalli di allineamento adiacenti nella serie temporale per le diverse metriche.

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

I rapporti di numeri maggiori hanno meno probabilità di generare valori senza senso. Puoi ottenere numeri maggiori per aggregazione, utilizzando una finestra di allineamento più lunga del periodo di campionamento o raggruppando i dati per determinate etichette. Queste tecniche minimizzano l'effetto di piccole differenze nel numero di punti in un determinato 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 utilizzi tipi di metriche integrati, potresti non avere altra scelta se non calcolare i rapporti tra i vari tipi di metriche per ottenere il valore che ti serve.

Se stai progettando metriche personalizzate che potrebbero contare lo stesso elemento, ad esempio gli RPC che restituiscono stato di errore, in due metriche diverse, prendi in considerazione invece una singola metrica che include ogni conteggio una sola volta. Ad esempio, supponiamo che tu stia conteggiando le RPC e di voler tenere traccia del rapporto tra le RPC non riuscite e tutte le RPC. Per risolvere questo 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 di stato, errore o "OK", viene registrato aggiornando un singolo contatore per quella richiesta.

Passaggi successivi