Componenti del modello di metrica

Il modello di monitoraggio dei dati di Cloud Monitoring si basa su tre concetti principali:

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

Il modello di metrica di Cloud Monitoring descrive questi concetti in termini generali. Se non conosci bene questi concetti, leggi prima la pagina.

In questa pagina vengono descritti in modo più dettagliato i tipi di metriche, le risorse monitorate e le serie temporali, insieme ad alcuni concetti correlati. Questi concetti sono alla base di tutte le metriche di Monitoring.

Dovresti capire le informazioni in questa pagina se vuoi eseguire una delle seguenti operazioni:

Per ulteriori dettagli su questi concetti e su come vengono mappati all'API Cloud Monitoring, consulta Struttura della serie temporale, in particolare se prevedi di utilizzare l'API Monitoring o le metriche personalizzate.

Considerazioni sulle etichette

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

  • Un tipo di risorsa monitorata per una macchina virtuale potrebbe includere etichette per la località e l'ID progetto associato alla macchina. Quando le informazioni sulla risorsa monitorata vengono registrate, includono i valori per le etichette.

    Una risorsa monitorata potrebbe anche avere etichette di metadati fornite dal sistema o dall'utente, oltre alle etichette 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 lo stato della richiesta.

Per ulteriori informazioni sull'utilizzo delle etichette, leggi la sezione Etichette.

Tipi di risorse monitorate

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

I tipi di risorse monitorate includono attività e nodi generici, tabelle in Cloud Bigtable, componenti architettonici in Google Kubernetes Engine, varie risorse AWS e molte altre.

Ogni tipo di risorsa monitorata è descritto formalmente in una struttura di dati chiamata descrittore di risorse monitorate. Per ulteriori informazioni, consulta i descrittori monitorati delle risorse.

Ogni tipo di risorsa monitorata supportato contiene una voce nell'elenco di 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 vengono mostrate nell'elenco come vengono presentate.

Un esempio di tipo di risorsa monitorata

Di seguito è riportata la voce nell'elenco per un bucket Cloud Storage:

Scheda per il bucket Cloud Storage.

Tutte le voci dell'elenco includono le seguenti informazioni:

  • Tipo: l'intestazione nella 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 classificare i dati. Per scoprire di più, 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 come vengono interpretate. finalmente, Cloud Monitoring supporta circa 1500 tipi di metriche e ti dà la possibilità di definire nuovi tipi.

I tipi di metriche includono conteggi di chiamate API, statistiche sull'utilizzo del disco, consumo di spazio di archiviazione e molti altri.

Ogni tipo di metrica è formalmente descritto in una struttura di dati chiamata descrittore di metrica. Per saperne di più, consulta la sezione Descrittori delle metriche.

Ogni tipo di metrica integrata ha una voce nell'elenco delle metriche. Le voci in queste tabelle vengono create dai descrittori delle metriche. Questa sezione descrive le informazioni acquisite in un tipo di metrica e mostra come vengono presentate nel materiale di riferimento.

Un esempio di tipo di metrica

La seguente immagine mostra una voce di un tipo di metrica di Cloud Storage:

Un estratto dell'elenco delle metriche di Cloud Storage.

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

La voce di tabella di Cloud Storage di esempio fornisce le seguenti informazioni su un tipo di metrica:

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

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

    Gli spazi dei nomi sono omessi dalle voci delle tabelle.

    Tutti i tipi di metriche associati a Cloud Storage sono elencati 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 delle richieste" nell'esempio.

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

    • Tipo: questo esempio è una metrica delta, che registra una modifica relativa a un periodo di tempo. Vale a dire, ogni punto dati registra il numero di chiamate API da quando è stato scritto il punto dati precedente. Per ulteriori informazioni sui tipi, consulta l'articolo Tipi di valori e metriche.

    • Tipo: questo esempio registra i suoi valori come numeri interi a 64 bit. Per ulteriori informazioni sui tipi di metriche, consulta la pagina Tipi di valori e metriche.

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

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

  • Descrizione: informazioni più dettagliate su ciò che viene registrato e su come. Imposta il corsivo per distinguerlo dalle etichette.

  • Etichette: un insieme di dimensioni per classificare i dati. Per scoprire di più, consulta Etichette.

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

Tipi di metriche integrate

I tipi di metriche integrate sono definiti dai servizi Google Cloud, incluso Cloud Monitoring. Questi tipi di metriche descrivono le misurazioni standard per un'ampia gamma di infrastruttura comuni e sono disponibili per chiunque.

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

Metriche personalizzate

Quando crei l'applicazione, potresti avere alcune proprietà che vuoi misurare, per le quali non esistono metriche integrate. Con Cloud Monitoring, puoi definire i tuoi tipi di metriche. Questi tipi di metriche vengono chiamati metriche personalizzate. Se una metrica ha un prefisso custom.googleapis.com o external.googleapis.com/prometheus, si tratta di una metrica personalizzata. Le ultime metriche provengono in genere dal collaterale Stackdriver Prometheus. Per ulteriori informazioni, consulta la sezione Utilizzo di Prometheus.

Ad esempio, se vuoi monitorare il numero di widget venduti dai tuoi negozi, devi utilizzare una metrica personalizzata. Per scoprire di più, consulta Utilizzo delle metriche personalizzate.

Etichette

Le definizioni dei tipi di metrica e di risorsa monitorata includono le etichette. Le etichette sono categorie di classificazione dei dati raccolti e consentono di classificare 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 di Cloud Storage gcs_bucket ha tre etichette, project_id, bucket_name e location. Le etichette identificano istanze specifiche del tipo di risorsa.

Di conseguenza, 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 località e al progetto del bucket coinvolto. Il set di etichette varia in base alla metrica o al tipo di risorsa monitorata; le etichette disponibili sono documentate nelle pagine Elenco metriche ed Elenco risorse monitorate.

Tracciando il codice di risposta, il nome del metodo e la località quando vengono conteggiate le chiamate API, puoi recuperare il numero di chiamate a un determinato metodo API, il numero di chiamate non riuscite a qualsiasi metodo o 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ò presumere è definita cardinalità. La cardinalità è il numero di serie temporali possibili che potrebbero essere raccolte per una coppia di tipi di metriche e risorse monitorate: esiste una serie temporale per ogni combinazione di valori delle etichette. Viene illustrato più nel dettaglio in Cardinalità: serie temporali ed etichette.

Etichette metadati delle risorse

Oltre alle etichette definite nella metrica e nei tipi di risorse monitorate, Monitoring monitora internamente le informazioni aggiuntive sulle risorse monitorate e le archivia in etichette di 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 etichette di metadati delle proprie risorse durante la configurazione di risorse come istanze VM in Google Cloud Console.

Le etichette dei metadati di sistema e utente sono collettivamente denominate etichette dei metadati delle risorse. Puoi utilizzare queste etichette come quelle definite nella metrica e nei tipi di risorse monitorate nei filtri delle serie temporali. Per ulteriori informazioni, consulta la sezione Filtri di monitoraggio.

Serie temporali: dati di una risorsa monitorata

In questa sezione si spiega cosa sono i dati di monitoraggio e come sono organizzati in serie temporali. Qui i componenti concettuali del modello si trasformano in artefatti di cemento.

Cloud Monitoring archivia le misurazioni regolari nel tempo per coppie di tipi di metriche e di 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, value). Il valore è la misurazione, mentre timestamp è il momento in cui è stata effettuata la misurazione.

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

Viene creata una serie temporale per ogni combinazione di etichette di metriche e risorse che generano dati.

Esempio stilizzato: il tipo di metrica storage.googleapis.com/api/request_countdescritto sopra 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 dell'etichetta bucket_name nel tipo di risorsa monitorata, mentre response_code e method sono etichette nel tipo di metrica. Esiste una serie temporale per ogni combinazione di valori nelle etichette di risorse e metriche. Le illustrazioni ne mostrano alcuni:

Immagini che mostrano più serie temporali in una metrica

Cloud Monitoring non registra serie temporali "vuote". Nell'esempio dei bucket Cloud Storage, se non utilizzi un particolare bucket o non chiami mai un determinato metodo API, non vengono raccolti dati per quell'etichetta e non viene menzionato alcuna serie temporale. Ciò significa che se il progetto non ha dati per una determinata metrica, il tipo di metrica non viene mai visualizzato.

I tipi di metriche non indicano i tipi di risorse monitorate che si trovano nelle serie temporali delle metriche. Per Cloud Storage, esiste un solo tipo di risorsa monitorata: gcs_bucket. Alcuni tipi di metriche vengono accoppiati con più di una risorsa monitorata.

Esempio pubblicato: se hai un progetto Google Cloud, puoi provare il widget Explorer API, che si trova nella pagina di riferimento per il metodo timeSeries.list nell'API Monitoring. Il pulsante PROVA di seguito fornisce i seguenti parametri predefiniti al metodo timeSeries.list:

  • name: projects/[PROJECT_ID]
  • filtro: metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
  • interval.start_time: 2019-11-11T00:00:00Z
  • interval.end_time: 2019-11-11T00:20:00Z
  • fields: timeSeries.metric

Quando provi a eseguire questo esempio, devi cambiare [PROJECT_ID] nel campo name con il tuo ID progetto.

Questo esempio presuppone che tu abbia un'istanza di Compute Engine che esegue l'agente Cloud Logging. Il tipo di risorsa monitorata è gce_instance e il tipo di metrica è logging.googleapis.com/log_entry_count. Se non sono applicabili, puoi modificare questi valori.

Quando recuperi i dati delle serie temporali, devi specificare gli orari di inizio e di fine. Questo esempio include un periodo l'11 novembre 2019. Tuttavia, i dati delle serie temporali vengono archiviati per sei settimane, pertanto probabilmente dovrai modificare anche la data prima di eseguire la richiesta.

Per eseguire la richiesta, fai clic sul pulsante in basso, modifica i parametri in base alle esigenze e fai clic sul pulsante Esegui nella parte inferiore del riquadro del widget.

Prova!

Se la richiesta avrà esito positivo, verranno restituiti i dati della serie temporale corrispondenti. Sarà simile al seguente snippet:

{
  "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": "2019-10-29T13:53:00Z",
            "endTime": "2019-10-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

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

Cardinalità: serie temporali ed etichette

Ogni serie temporale è associata a una coppia specifica di metriche e tipi di risorse monitorate, ma ogni coppia può avere molte serie temporali. Il possibile numero di serie temporali è determinato dalla cardinalità della coppia: il numero di etichette e il numero di valori che ogni etichetta può assumere.

Ad esempio, supponiamo che tu abbia un tipo di metrica banale che specifica un'etichetta color e un tipo di risorsa monitorata con un'altra etichetta zone. Ricevi una serie temporale per ogni combinazione di valori zone e color.

Il numero di valori che un'etichetta può presumere è importante:

  • Se esistono solo due zone possibili, "east" e "west", l'etichetta zone può avere fino a due valori distinti.
  • Se sono disponibili solo tre colori, "rosso", "verde" e "blu", l'etichetta color può contenere fino a tre valori distinti.

La cardinalità dipende dalle etichette e dai loro valori.

La cardinalità di questa metrica è 6 (3×2), anche se la metrica potrebbe produrre meno serie temporali. Se, ad esempio, non ricevi mai dati dalla zona "ovest", non avrai mai più di tre serie temporali.

La cardinalità delle metriche è un fattore critico nel rendimento quando richiedi metriche per un grafico o altri utilizzi. Una cardinalità più elevata può portare a tempi di risposta alle query più lenti.

La cardinalità è un problema anche per la progettazione di metriche personalizzate in cui determina il set di etichette e i relativi valori possibili. Esiste un limite di 30 etichette in un tipo di metrica, ma devi anche assicurarti che il set di valori possibili per qualsiasi etichetta sia vincolato. Un piccolo insieme di valori distinti (come "rosso", "verde" e "blu") è l'approccio preferito. Non devono essere utilizzati valori granulari, come i timestamp. Esistono anche altri limiti relativi alle metriche personalizzate; consulta la sezione Metriche personalizzate per ulteriori informazioni.