Struttura delle serie temporali

Questa pagina è una continuazione approfondita della discussione e degli esempi presentati in Metriche, serie temporali e risorse e Componenti del modello delle metriche. Per ottenere il massimo da questa pagina, leggi prima queste pagine.

Questa pagina è rivolta ai lettori che vogliono una comprensione più approfondita delle serie temporali e dell'implementazione del modello delle metriche di Cloud Monitoring, in particolare ai lettori che utilizzano l'API Monitoring. Sono inclusi gli utenti di metriche personalizzate (definite dall'utente).

  • Questa pagina mappa il modello delle metriche generali all'API Cloud Monitoring, perciò è utile per chiunque utilizzi direttamente l'API Monitoring. Gli utenti la cui interazione principale avviene con la console Google Cloud probabilmente non hanno bisogno di questo livello di dettaglio.

  • È utile anche per chiunque utilizzi un'integrazione di terze parti come OpenTelemetry. Quando i dati di un'origine esterna raggiungono Cloud Monitoring tramite un'integrazione, vengono mappati al modello di metrica di Cloud Monitoring e trattati come qualsiasi altro dato della metrica.

Per ulteriori informazioni sulla raccolta delle metriche, consulta Panoramica delle metriche definite dall'utente.

Revisione del modello di metriche

Un prerequisito per la comprensione della struttura delle serie temporali è la familiarità con il modello di metriche utilizzato da Cloud Monitoring. Questo modello è descritto in Metriche, serie temporali e risorse. Questa sezione fornisce una breve revisione.

In generale, i dati di monitoraggio sono registrati in serie temporali. Ogni singola serie temporale include tre informazioni pertinenti a questa discussione:

  • Un insieme di punti dati con timestamp.
  • Un riferimento al tipo di metrica che indica come interpretare i punti dati.
  • Un riferimento alla risorsa monitorata da cui hanno avuto origine i dati.

    Struttura di una serie temporale.

Ogni serie temporale contiene le misurazioni da un'unica fonte fisica o logica. Se il tuo ambiente ha centinaia di risorse, ognuna contribuirà ad almeno una serie temporale. Infatti, se il tipo di metrica e il tipo di risorsa monitorata hanno etichette, riceverai una serie temporale per combinazione di valori delle etichette. Per ulteriori informazioni, consulta la sezione Cardinalità.

Esempio di una serie temporale

Una serie temporale è rappresentata come un'istanza di un oggetto TimeSeries. Di seguito è riportata un'istanza completa di una singola serie temporale:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
          "interval": {
            "startTime": "2019-12-20T20:25:38Z",
            "endTime": "2019-12-20T20:26:38Z"
          },
          "value": {
            "int64Value": "20"
          }
        }
      ]
    }

La maggior parte delle serie temporali include molti più punti dati; questa copre un intervallo di un minuto. Tutte le serie temporali hanno la stessa struttura, con i seguenti campi:

  • Record del campo metric

    • I valori delle etichette metriche per questa specifica serie temporale, che rappresentano una combinazione di valori delle etichette.
    • Il tipo di metrica a cui sono associati i dati. Il tipo di metrica specifica le etichette disponibili e descrive cosa è rappresentato dai punti dati.

    Le informazioni in questo campo sono descritte più dettagliatamente nella sezione Metriche.

  • Il campo resource registra:

    • I valori delle etichette delle risorse per questa specifica serie temporale, che rappresentano una combinazione di valori delle etichette.
    • La specifica risorsa monitorata da cui sono stati raccolti i dati.

    Le informazioni contenute in questo campo sono descritte in maggiore dettaglio nella sezione Oggetti delle risorse monitorate.

  • I campi metricKind e valueType indicano come interpretare i valori. Per ulteriori informazioni, consulta Tipi e tipi di metriche.

  • Il campo points è un array di valori con timestamp. Il tipo di metrica indica cosa rappresentano i valori. Le serie temporali di esempio hanno un array con un singolo punto dati; nella maggior parte delle serie temporali, l'array contiene molti più valori.

Per un esempio in tempo reale che recupera i dati di serie temporali, consulta Serie temporali: dati da una risorsa monitorata.

Il resto della pagina esamina le informazioni nei campi metric e resource in modo più dettagliato.

Risorse monitorate

Cloud Monitoring raccoglie i dati dalle risorse monitorate e li registra in serie temporali. Ogni serie temporale creata include una descrizione della risorsa monitorata da cui sono stati raccolti i dati.

Oggetti delle risorse monitorate

Una risorsa monitorata è rappresentata da un'istanza di un oggetto MonitoredResource. La risorsa monitorata descrive l'origine dei valori in una serie temporale. L'oggetto MonitoredResource è incorporato nella serie temporale e identifica un'istanza specifica di un tipo di risorsa monitorata noto a Monitoring: rimanda a un'entità fisica o logica.

Ad esempio, ecco un oggetto di risorsa monitorata che descrive una particolare istanza di Compute Engine, estratto dalla serie temporale di esempio:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      }

L'istanza di una risorsa monitorata è di tipo gce_instance e ha un valore instance_id specifico (5106847938295940291) nel progetto a-gcp-project. L'istanza si trova negli Stati Uniti. Un'altra serie temporale potrebbe provenire da un'istanza diversa di questa risorsa monitorata. Ogni combinazione di valori delle etichette identifica una risorsa univoca da cui vengono raccolti i dati.

Set diversi di etichette hanno senso per risorse diverse. Il set di etichette per una risorsa è determinato dal descrittore della risorsa monitorata per quel tipo.

Descrittori delle risorse monitorate

Le informazioni su un tipo di risorsa monitorata si trovano in una struttura di dati chiamata descrittore di risorsa monitorata. Per una definizione di questa struttura di dati, consulta MonitoredResourceDescriptor.

Un descrittore di risorse monitorate è come uno schema o una specifica di una struttura di record. Non contiene i dati su una particolare istanza della risorsa monitorata, ma indica come descrivere una risorsa monitorata di un tipo specifico. Ad esempio, ecco il descrittore della risorsa monitorata per la risorsa gce_instance:

{
  "type": "gce_instance",
  "displayName": "VM Instance",
  "description": "A virtual machine instance hosted in Compute Engine.",
  "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance"
  "labels": [
    {
      "key": "project_id",
      "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"."
    },
    {
      "key": "instance_id",
      "description": "The numeric VM instance identifier assigned by Compute Engine."
    },
    {
      "key": "zone",
      "description": "The Compute Engine zone in which the VM is running."
    }
  ],
}

Confronta questo descrittore di risorsa monitorata con l'istanza specifica di una risorsa gce_instance mostrata in Oggetti risorsa monitorata. Questo descrittore non descrive una particolare risorsa monitorata, ma specifica le etichette e ogni combinazione di valori delle etichette identifica una particolare risorsa monitorata.

Puoi recuperare i descrittori delle risorse monitorate nel tuo progetto Google Cloud utilizzando l'API Cloud Monitoring. Vedi, ad esempio, le pagine di riferimento per i metodi monitoredResourceDescriptors.list e monitoredResourceDescriptors.get.

Esempio live: se hai un progetto Google Cloud, puoi recuperare questo descrittore utilizzando il widget Explorer API come segue:

  1. Apri la pagina di riferimento monitoredResourceDescriptors.list.

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

    • nome: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

      Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

  3. Fai clic su Execute (Esegui).

La richiesta restituisce il descrittore precedente.

Per esempi di utilizzo dei metodi dell'API Monitoring, consulta Elencare i tipi di metriche e risorse.

Metriche

Ogni serie temporale creata da Cloud Monitoring registra un insieme di punti dati, nonché informazioni sull'organizzazione e sul significato di questi punti dati.

Oggetti metriche

Ogni serie temporale include un riferimento alla descrizione dei dati da registrare in un oggetto metrica.

L'oggetto metrica contenuto in una serie temporale specifica il tipo di misurazioni e le informazioni specifiche della metrica relative a tali misurazioni. Per una definizione della struttura dei dati dell'oggetto metrica, consulta Metric. Ad esempio, ecco l'oggetto metrica estratto dalla serie temporale in Una serie temporale di esempio:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      }

Questo oggetto indica che la serie temporale contiene misurazioni logging.googleapis.com/log_entry_count. I valori delle etichette indicano che questa serie temporale specifica conteggia solo le voci di log con gravità DEFAULT nel file di log denominato kubelet.

Esiste una serie temporale per ogni combinazione di valori delle etichette, pertanto le voci INFO dello stesso file di log vengono visualizzate in serie temporali diverse.

L'insieme di etichette raccolte in un oggetto metrica viene specificato nel descrittore per quel tipo di metrica.

Descrittori delle metriche

Le informazioni su un tipo di metrica sono contenute in una struttura di dati chiamata descrittore della metrica. Per una definizione di questa struttura di dati, consulta MetricDescriptor.

Un descrittore della metrica è uno schema o una specifica di una struttura di record. Non contiene i dati su una metrica specifica, ma indica come interpretare i dati associati a un tipo di metrica specifico.

Ecco un esempio di descrittore della metrica:

{
  "type": "logging.googleapis.com/log_entry_count",
  "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count",
  "labels": [
    {
      "key": "log",
      "description": "Name of the log."
    },
    {
      "key": "severity",
      "description": "Severity of the log entry."
    }
  ],
  "metricKind": "DELTA",
  "valueType": "INT64",
  "unit": "1",
  "description": "Number of log entries that contributed to user-defined metrics.",
  "displayName": "Log entries",
  "metadata": {
    "launchStage": "GA",
    "samplePeriod": "60s"
  },
  "launchStage": "GA"
}

Confronta questo descrittore della metrica con l'oggetto metrica mostrato in Oggetti metrica. Il descrittore indica il significato dei valori delle etichette e come interpretare i valori dei punti dati.

Puoi recuperare i descrittori delle metriche utilizzando l'API Cloud Monitoring. Vedi, ad esempio, le pagine di riferimento per i metodi metricDescriptors.list e metricDescriptors.get.

Esempio live: se hai un progetto Google Cloud, puoi recuperare questo descrittore utilizzando il widget Explorer API come segue:

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

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

    • name: projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.
  3. Fai clic su Execute (Esegui).

La richiesta restituisce il descrittore precedente.

Per esempi di utilizzo dei metodi dell'API Monitoring, consulta Elencare i tipi di metriche e risorse.

La maggior parte dei campi nel descrittore della metrica è autoesplicativa. I due che probabilmente hanno bisogno di ulteriori spiegazioni sono il tipo di metrica e il tipo di valore, descritti più in dettaglio nella sezione Tipi e tipi di metriche.

Cloud Monitoring dispone di circa 6500 tipi di metriche integrate. Per i dettagli,consulta l'elenco delle metriche. Puoi anche creare descrittori delle metriche personalizzati per acquisire metriche personalizzate. Per ulteriori informazioni, consulta la panoramica delle metriche definite dall'utente.