Componenti del modello di metrica

Il modello di Cloud Monitoring per il monitoraggio dei dati è composto da tre principali di base:

  • Tipi di risorse monitorate
  • Tipi di metriche
  • Serie temporale

Il documento Il modello metrico descrive questi concetti di Cloud Monitoring in termini generali. Se non hai mai utilizzato questi concetti, leggi prima quella pagina.

Questa pagina descrive i tipi di metriche, le risorse monitorate e il tempo di Google Cloud, insieme ad alcuni concetti correlati, in modo più dettagliato. Questi sono alla base di tutte le metriche di Monitoring.

Devi comprendere le informazioni riportate in questa pagina se vuoi svolgere una delle seguenti operazioni:

Per maggiori dettagli su questi concetti e su come vengono mappati all'API Cloud Monitoring, consulta la sezione Struttura delle serie temporali, in particolare se prevedi di utilizzare l'API Monitoring o metriche personalizzate.

Informazioni sulle etichette

I tipi di risorse e metriche monitorate supportano entrambi le etichette, che consentono dati da classificare durante l'analisi. Ad esempio:

  • Un tipo di risorsa monitorata per una macchina virtuale potrebbe includere etichette per la posizione della macchina e l'ID progetto associato alla macchina. Quando vengono registrate informazioni sulla risorsa monitorata, include i valori delle etichette. Una risorsa monitorata può anche avere metadati forniti dal sistema o dall'utente etichette, oltre a quelle definite per il tipo di risorsa monitorata.
  • Un tipo di metrica che conteggia le richieste API potrebbe avere etichette per registrare il nome del metodo richiamato e dello stato della richiesta.

L'utilizzo delle etichette è descritto in maggiore dettaglio in Etichette.

Tipi di risorse monitorate

Una risorsa monitorata è una risorsa da cui vengono acquisiti i dati delle metriche. Cloud Monitoring supporta circa 270 tipi di risorse monitorate.

I tipi di risorse monitorate includono nodi e attività generici, in Google Kubernetes Engine, tabelle di Bigtable, vari risorse AWS e molto altro ancora.

Ogni tipo di risorsa monitorata è descritto formalmente in una struttura di dati chiamato descrittore di risorse monitorate. Per ulteriori informazioni, vedi Descrittori delle risorse monitorati.

Ogni tipo di risorsa monitorata supportato ha una voce nell'elenco Risorse monitorate. Le voci nell'elenco vengono create dai descrittori delle risorse monitorate. In questa sezione vengono descritte le informazioni acquisite in un descrittore di risorse monitorate e mostra come dall'elenco.

Un tipo di risorsa monitorata di esempio

Nell'immagine seguente viene mostrata la voce nell'elenco per in un bucket Cloud Storage:

Elenco del bucket Cloud Storage.

Tutte le voci dell'elenco includono le seguenti informazioni:

  • Tipo: l'intestazione della voce elenca il tipo di risorsa monitorata;gcs_bucket nell'esempio.
  • Nome visualizzato: una breve descrizione della risorsa monitorata.
  • Descrizione: una descrizione più lunga della risorsa monitorata.
  • Etichette: un insieme di dimensioni per la classificazione dei dati. Per ulteriori informazioni, consulta Etichette.

Tipi di metriche

Un tipo di metrica descrive le misurazioni che possono essere raccolte da una risorsa monitorata. Un tipo di metrica include una descrizione di ciò che viene misurato e il modo in cui le misurazioni vengono interpretate. Cloud Monitoring supporta circa 6500 tipi di metriche e consente di definire nuovi tipi.

I tipi di metriche includono conteggio delle chiamate API, statistiche sull'utilizzo del disco, spazio di archiviazione consumo e molto altro.

Ogni tipo di metrica è descritto formalmente in una struttura di dati chiamata descrittore della metrica. Per ulteriori informazioni, consulta Descrittori delle metriche.

Ogni tipo di metrica integrata ha una voce nelle pagine Elenco metriche. Le voci in queste tabelle vengono create dai descrittori delle metriche. Questa sezione descrive le informazioni acquisite in un tipo di metrica e illustra come presentarla sotto forma di materiale di riferimento.

Un tipo di metrica di esempio

L'immagine seguente mostra una voce per un tipo di metrica Cloud Storage:

Un estratto dell'elenco delle metriche per Cloud Storage.

I tipi di metrica vengono visualizzati in una tabella, mentre l'intestazione della tabella spiega il layout delle informazioni. Questa sezione utilizza una voce come esempio, ma tutte le tabelle usano lo stesso formato.

La voce di tabella Cloud Storage di esempio fornisce quanto segue informazioni su un tipo di metrica:

  • Tipo di metrica: un identificatore per il tipo di metrica,storage.googleapis.com/api/request_count nell'esempio.

    Il prefisso storage.googleapis.com funge da spazio dei nomi per di archiviazione ideale in Cloud Storage. Tutti i tipi di metriche associati a un determinato tipo di risorsa monitorata utilizzano lo stesso spazio dei nomi.

    Gli spazi dei nomi vengono omessi dalle voci nelle tabelle.

    Sono elencati tutti i tipi di metriche associati a Cloud Storage nella tabella delle metriche di Cloud Storage.

  • Fase di lancio: un blocco colorato che indica la fase di lancio del tipo di metrica con un valore come Alpha, Beta e GA.

  • Nome visualizzato: una breve stringa che descrive il tipo di metrica, "Conteggio richieste" nell'esempio.

  • Tipo, Tipo, Unità: questa riga fornisce informazioni per interpretare i valori dei dati: l'esempio mostra una metrica delta registrata come un numero intero a 64 bit senza unità (ovvero il valore 1).

    • Tipo: questo esempio è una metrica delta, che registra una variazione in un periodo di tempo. In altre parole, ogni punto dati registra il numero di chiamate API dall'inserimento del punto dati precedente. Per ulteriori informazioni sui tipi, consulta Tipi di valore e tipi di metriche.

    • Tipo: questo esempio registra i valori come numeri interi a 64 bit. Per ulteriori informazioni consulta la sezione Tipi di valore e metriche.

    • Unità: questa metrica non richiede un'unità esplicita perché rappresenta un conteggio. Il numero 1 viene utilizzato per indicare che non è necessaria alcuna unità.

  • Risorse monitorate: le risorse monitorate per le quali è disponibile questo tipo di metrica. I valori qui sono gli stessi di quelli descritti in Tipi di risorse monitorate.

  • Descrizione: informazioni più dettagliate su cosa viene registrato e come. In corsivo per distinguerlo dalle etichette.

  • Etichette: un insieme di dimensioni per classificare i dati. Per ulteriori informazioni, consulta Etichette.

Quando accedi ai dati di monitoraggio tramite l'API Cloud Monitoring, includi a un progetto Google Cloud nella chiamata API. Puoi recuperare solo i dati visibile al progetto Google Cloud. Ad esempio, se richiedi i dati del tuo progetto per il tipo di metrica storage.googleapis.com/api/request_count, vedrai i conteggi delle API solo per i bucket Cloud Storage del tuo progetto. Se il progetto non utilizza bucket Cloud Storage, non esistono metriche vengono restituiti i dati.

Tipi di metriche integrate

I tipi di metriche integrate sono definiti dai servizi Google Cloud, tra cui e configurazione in Cloud Monitoring. Questi tipi di metriche descrivono misurazioni standard per un'ampia gamma di infrastrutture comuni e sono disponibili per chiunque.

L'elenco delle metriche mostra l'intero insieme di tipi di metriche integrati. Le metriche elencate nella pagina Elenco delle metriche esterne sono un insieme speciale di metriche integrate definite da Cloud Monitoring in collaborazione con progetti open source o provider di terze parti. In genere, le metriche hanno il prefisso external.googleapis.com.

Metriche personalizzate

Quando crei la tua applicazione, potresti avere determinate proprietà misurare gli elementi per i quali non esistono metriche integrate e configurazione in Cloud Monitoring. Con Cloud Monitoring puoi definire o importare tipi di metriche da origini esterne. Questi tipi di metriche sono chiamate metriche personalizzate. Se una metrica ha un prefisso custom.googleapis.com o prometheus.googleapis.com, si tratta di una metrica personalizzata. Queste ultime metriche in genere provengono da Google Cloud Managed Service per Prometheus.

Ad esempio, se vuoi monitorare il numero di widget venduti dai tuoi negozi, devi utilizzare una metrica personalizzata. Per saperne di più, consulta Panoramica delle metriche definite dall'utente.

Etichette

Un'etichetta è una coppia chiave-valore che può essere utilizzata per fornire informazioni su un valore dei dati.

Etichette delle metriche e delle risorse monitorate

Le definizioni di tipi di metriche e di risorse monitorate includono le etichette. Le etichette sono classificatori per i dati raccolti e aiutano a categorizzare i dati per un'analisi più approfondita. Ad esempio:

  • Il tipo di metrica Cloud Storage storage.googleapis.com/api/request_count ha due etichette, response_code e method.
  • Il tipo di risorsa monitorata Cloud Storage gcs_bucket ha tre etichette: project_id, bucket_name e location. Le etichette identificano istanze specifiche del tipo di risorsa.

Pertanto, tutti i dati raccolti per le richieste API da un bucket Cloud Storage sono classificati in base al metodo chiamato, al codice di risposta per la chiamata, al nome, alla posizione e al progetto del bucket coinvolto. L'insieme di etichette varia in base alla metrica o al tipo di risorsa monitorata. Le etichette disponibili sono documentate nelle pagine Elenco delle metriche e Elenco delle risorse monitorate.

Monitorando il codice di risposta, il nome del metodo e la posizione durante il conteggio dell'API puoi recuperare il numero di chiamate a una determinata API o il numero di chiamate non riuscite a un metodo oppure il numero di chiamate non riuscite a un metodo specifico in una località specifica.

Il numero di etichette e il numero di valori che ciascuna può assumere è definito cardinalità. La cardinalità è il numero di possibili serie temporali che possono essere raccolte per una coppia di tipi di metriche e risorse monitorate: esiste una serie temporale per ogni combinazione di valori delle relative etichette. Per ulteriori informazioni, consulta Cardinalità: serie temporali ed etichette.

Etichette metadati delle risorse

Oltre alle etichette definite sulle metriche e sui tipi di risorse monitorate, Il monitoraggio raccoglie internamente informazioni aggiuntive su le risorse monitorate e le archivia nelle etichette dei metadati di sistema. Queste etichette dei metadati di sistema sono disponibili agli utenti come valori di sola lettura. Alcune risorse consentono inoltre agli utenti di creare le proprie etichette dei metadati delle risorse quando configurano risorse come le istanze VM nella console Google Cloud.

Le etichette dei metadati di sistema e utente sono chiamate collettivamente etichette dei metadati della risorsa. Puoi utilizzare queste etichette come le etichette definite nella metrica e tipi di risorse monitorate nei filtri delle serie temporali. Per ulteriori informazioni consulta i filtri di Monitoring.

Serie temporali: dati di una risorsa monitorata

Questa sezione illustra che cosa sono i dati di monitoraggio e come sono organizzati in serie temporali. È qui che entrano in gioco le componenti concettuali del modello metrico diventano artefatti concreti.

Cloud Monitoring memorizza misurazioni regolari nel tempo per coppie di tipi di metriche e risorse monitorate. Le misurazioni vengono raccolte in serie temporali, e ogni serie temporale contiene i seguenti elementi:

  • Il nome del tipo di metrica a cui appartiene la serie temporale e una combinazione di valori per le etichette della metrica.

  • Una serie di coppie (timestamp, valore). value è la misurazione e timestamp è il momento in cui è stata eseguita la misurazione.

  • La risorsa monitorata, che è l'origine dei dati delle serie temporali, e una combinazione di valori per le etichette della risorsa.

Viene creata una serie temporale per ogni combinazione di etichette di metrica e risorsa che genera dati.

Esempio stilizzato: il tipo di metrica storage.googleapis.com/api/request_count potrebbe avere molte serie temporali per i bucket Cloud Storage del progetto. L'illustrazione seguente mostra alcune possibili serie temporali.

Nell'illustrazione, il valore bucket: xxxx rappresenta il valore del bucket_name nel tipo di risorsa monitorata, mentre response_code e method sono etichette nel tipo di metrica. C'è una serie temporale per ogni combinazione di valori nelle etichette delle risorse e delle metriche; le illustrazioni ne mostra alcuni:

Immagini che mostrano più serie temporali in una metrica

Cloud Monitoring non registra serie temporali "vuote". Nella Esempio di bucket Cloud Storage, se non utilizzi un determinato bucket o non chiamare mai un particolare metodo API, non verranno raccolti dati per questo e nessuna serie temporale la menziona. Ciò significa che, se il progetto non contiene dati per una determinata metrica, non viene visualizzato il tipo di metrica.

I tipi di metriche non indicano i tipi di risorse monitorate trovate nelle serie temporali delle metriche. Per Cloud Storage esiste un solo tipo di risorsa monitorata: gcs_bucket. Alcuni tipi di metriche sono accoppiati a più di una risorsa monitorata.

Esempio online: se hai un progetto Google Cloud, puoi provare il widget Explorer API, che si trova nella pagina di riferimento per timeSeries.list nell'API Monitoring.

  1. Apri la pagina di riferimento di timeSeries.list.

  2. Nel riquadro Prova questo metodo, inserisci quanto segue:

    • name: projects/PROJECT_ID sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.
    • filter: metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
    • interval.start_time: inserisci l'ora di inizio e assicurati che sia anticipata di 20 minuti rispetto all'ora di fine.
    • interval.end_time: inserisci l'ora di fine.

Se la richiesta ha esito positivo, verranno restituiti i dati delle serie temporali corrispondenti richiesta. Sarà simile allo snippet seguente:

{
  "timeSeries": [
    {
      "metric": {
        "labels": {
          "severity": "INFO",
          "log": "compute.googleapis.com/activity_log"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "0",
          "zone": "us-central1",
          "project_id": "your-project-id"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
        "interval": {
            "startTime": "2024-03-29T13:53:00Z",
            "endTime": "2024-03-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

Per ulteriori informazioni sull'utilizzo del widget Explorer API, inclusa la risoluzione dei problemi, consulta Explorer API.

Cardinalità: serie temporali ed etichette

Ogni serie temporale è associata a una coppia specifica di tipi di metrica e risorse monitorate. I tipi di metriche e di risorse monitorate ognuna fornisce un certo numero di etichette. In Cloud Monitoring, il numero di combinazioni uniche di valori per l'insieme di etichette è la cardinalità del tipo di metrica o del tipo di risorsa monitorata. Questi valori sono indicati come cardinalità della metrica e cardinalità della risorsa e determinano il numero di possibili serie temporali, la cardinalità totale, che possono essere generate.

Cardinalità delle metriche, delle risorse e totale

Supponiamo che tu abbia un tipo di metrica che specifica due etichette,color e zone. La cardinalità della metrica dipende dal numero di possibili i valori delle etichette:

  • Se i colori disponibili sono solo tre: "rosso", "verde" e "blu", l'etichetta color può hanno fino a tre valori distinti.
  • Se sono possibili solo due zone, "est" e "east" "ovest", l'etichetta zone può avere fino a due valori distinti.

La cardinalità di questa metrica è 6 (3 x 2). Se esistono 1000 possibili valori per l'etichetta color e ogni colore può apparire in ogni zona, la cardinalità della metrica è 2000 (1000 x 2). Lo stesso calcolo si applica se si tratta di etichette su un tipo di risorsa monitorata anziché su un tipo di metrica.

Questo valore di cardinalità è un valore massimo, in base al numero di combinazioni di possibili valori di etichetta. L'effettivo valore reale potrebbe inferiore quando tutte le combinazioni di valori delle etichette non si verificano effettivamente. Ad esempio, se ogni colore viene visualizzato in una sola zona e non in entrambe, il numero massimo di serie temporali visualizzato nel sistema in esecuzione è 1000. Ma l'utilità della cardinalità efficace dipende dai motivi che determinate combinazioni non compaiano e se potrebbero farlo in futuro.

La cardinalità dipende dai valori che possono avere tutte le etichette.

Quando i dati delle serie temporali vengono scritti, vengono classificati in base alle metriche e ai tipi di risorse monitorate. Per qualsiasi coppia di tipi di metriche e risorse, La cardinalità totale è il prodotto della cardinalità della metrica e della risorsa cardinalità. Se hai una metrica con una cardinalità di 1000 e una risorsa con una cardinalità di 100 e se viene visualizzato ogni valore dell'etichetta, hai 100.000 serie temporali (1000 x 100).

Quando progetti le tue metriche, assicurati che siano disponibili i valori di ogni etichetta sono vincolati. Un piccolo insieme di valori discreti (come "rosso", "verde" e "blu") è l'approccio preferito. Ad esempio, se utilizzi valori RGB a 8 bit per un'etichetta color, puoi avere oltre 16 milioni di valori diversi. Non utilizzare valori ad alta risoluzione come timestamp, qualsiasi tipo di identificatore univoco, ID utente, indirizzo IP, URL e così via per le etichette delle metriche.

Prestazioni e cardinalità delle query

Quando esegui una query sui dati, il volume di dati richiesto è il fattore più importante per le prestazioni delle query: una query per un'ora di dati è in genere più veloce della stessa query che copre sei mesi. Ma il volume dei dati restituiti da una richiesta è sensibile anche al numero di serie temporali in una richiesta. Una query che recupera due mesi di dati per una bassa cardinalità è probabilmente più veloce di un'altra query che recupera due mesi di per una metrica ad alta cardinalità, per via della quantità di dati da recuperare.

La cardinalità dipende principalmente dal numero di valori che possono avere le etichette, non dal numero di etichette. In generale, non hai il controllo sulla cardinality delle risorse, ad esempio quando il numero di pod o VM cambia in base alle esigenze aziendali. Ma quando importi le metriche in Cloud Monitoring, piuttosto che usare le metriche di sistema, spesso hai un certo controllo rispetto alla cardinalità delle metriche. Ad esempio, con le metriche personalizzate definite dall'utente, sei tu a determinare le etichette e i relativi valori. Se importare le metriche di Prometheus, puoi utilizzare la rietichettatura l'insieme di etichette e rilasciare le serie temporali che non vuoi importare.

Puoi utilizzare la pagina Gestione delle metriche di Cloud Monitoring per identificare le metriche che potrebbero avere problemi di cardinalità. Per visualizzare la pagina Gestione delle metriche:

  1. Nella console Google Cloud, vai alla pagina  Gestione delle metriche:

    Vai a Gestione delle metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Seleziona la finestra temporale nella barra degli strumenti. Per impostazione predefinita, la pagina Gestione delle metriche mostra informazioni sulle metriche raccolte nell'ultimo giorno.

Per saperne di più sulla pagina Gestione delle metriche, consulta Visualizzare e gestire l'utilizzo delle metriche.

Per informazioni tecniche sul modo in cui Cloud Monitoring archivia e recupera i dati delle serie temporali. Consulta Monarch: la scala dei pianeti di Google database di serie temporali in memoria.

Per informazioni sui limiti per le metriche definite dall'utente in Cloud Monitoring, consulta le metriche definite dall'utente.