Struttura delle serie temporali

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

Questa pagina è rivolta ai lettori che vogliono approfondire le serie temporali e l'implementazione del modello metrico di Cloud Monitoring, in particolare a coloro che utilizzano l'API Monitoring. Sono inclusi gli utenti delle metriche personalizzate (definite dall'utente).

  • Questa pagina mappa il modello di metriche generali all'API Cloud Monitoring, pertanto è utile per chiunque utilizzi direttamente l'API Monitoring. Utenti la cui l'interazione principale è con la console Google Cloud probabilmente non è necessaria livello di dettaglio.

  • È utile anche per chiunque utilizzi un'integrazione di terze parti come OpenTelemetry. Come dati da una fonte esterna raggiunge Cloud Monitoring attraverso un'integrazione, viene mappata del modello di metrica di Cloud Monitoring e trattata come qualsiasi altro dato di metrica.

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

Revisione del modello di metrica

Un prerequisito per comprendere la struttura delle serie temporali è la familiarità con il modello metrico utilizzato da Cloud Monitoring. Questo modello è descritto in Metriche, serie temporali e risorse. Questa sezione fornisce una breve recensione.

In termini generali, i dati di monitoraggio vengono 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 di una singola origine fisica o logica. Se il tuo ambiente ha centinaia di risorse, ognuna contribuisce con almeno una serie temporale. Infatti, se il tipo di metrica e il tipo di risorsa monitorata hanno etichette, ottieni una serie temporale per ogni combinazione di valori delle etichette. Per ulteriori informazioni, consulta la sezione Cardinalità.

Un esempio di serie temporale

Una serie temporale è rappresentata come un'istanza di un 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 seguenti campi:

  • Record del campo metric

    • I valori delle etichette delle metriche per questa particolare 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 viene rappresentato dai punti dati.

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

  • Il campo resource registra:

    • I valori dell'etichetta della risorsa per questa particolare serie temporale, che rappresentano uno una combinazione di valori di etichette.
    • La risorsa monitorata specifica da cui sono stati raccolti i dati.

    Le informazioni in questo campo sono descritte in maggiore dettaglio in 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. La serie temporale di esempio ha un array con un singolo punto dati. Nella maggior parte delle serie temporali, l'array ha molti più valori.

Per un esempio pratico che recupera i dati delle serie temporali, consulta Serie temporali: dati di una risorsa monitorata.

Nella parte restante della pagina vengono prese in considerazione le informazioni presenti 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.

Oggetto Risorsa monitorata

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

Ad esempio, di seguito è riportato un oggetto monitored-resource che descrive una determinata istanza Compute Engine, estratta dalla serie temporale di esempio:

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

Questa istanza di una risorsa monitorata è di tipo gce_instance, 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 di etichetta identifica una risorsa unica da cui vengono raccolti i dati.

Set di etichette diversi hanno senso per risorse diverse. L'insieme 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 sono contenute in una struttura di dati chiamata descrittore della risorsa monitorata. Per una definizione di questa struttura di dati, consulta MonitoredResourceDescriptor.

Un descrittore della risorsa monitorata è simile a uno schema o a una specifica per una struttura di record. Non contiene i dati relativi a una determinata istanza della risorsa monitorata, ma indica come descrivere una risorsa monitorata di un tipo specifico. Ad esempio, di seguito è riportato 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 della risorsa monitorata con l'istanza specifica di una risorsa gce_instance mostrata in Oggetti della risorsa monitorata. Questo descrittore non descrive una determinata risorsa monitorata, ma specifica le etichette e ogni combinazione di valori delle etichette identifica una determinata risorsa monitorata.

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

Esempio pubblicato: se hai un progetto Google Cloud, puoi recuperarlo utilizzando il widget Explorer API come segue:

  1. Apri la pagina di riferimento monitoredResourceDescriptors.list.

  2. Nel riquadro con l'etichetta Prova questo metodo, inserisci quanto segue:

    • name: 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 Elenca i tipi di metriche e risorse.

Metriche

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

Oggetti metrica

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

L'oggetto metrica contenuto in una serie temporale specifica il tipo di misurazioni e metriche specifiche su tali misurazioni. Per una definizione della metrica sulla struttura dei dati di un oggetto, vedi Metric. Ad esempio, di seguito è riportato 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. L'etichetta indicano che questa specifica serie temporale conteggia solo le voci di log della gravità DEFAULT nel file di log denominato kubelet.

Esiste una serie temporale per ogni combinazione di valori delle etichette, pertanto le vociINFO dello stesso file di log vengono visualizzate in una serie temporale diversa.

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

Descrittori delle metriche

Le informazioni su un tipo di metrica si trovano in una struttura di dati denominata un descrittore della metrica. Per una definizione sulla struttura dei dati, vedi MetricDescriptor.

Un descrittore delle metriche è uno schema o una specifica per una struttura di record. Non contiene i dati relativi a una determinata metrica, ma indica come interpretare i dati associati a un tipo di metrica specifico.

Ecco un esempio di descrittore delle metriche:

{
  "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 cosa e su come interpretare i valori dei punti dati.

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

Esempio pubblicato: se hai un progetto Google Cloud, puoi recuperarlo utilizzando il widget Explorer API come segue:

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

  2. Nel riquadro con l'etichetta Prova questo metodo, inserisci quanto segue:

    • nome: 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, vedi Elenca i tipi di metriche e risorse.

La maggior parte dei campi nel descrittore della metrica è autoesplicativa. La due che potrebbero richiedere ulteriori spiegazioni sono il tipo di metrica e il tipo di valore, descritti più in dettaglio in Tipi e tipi di metriche.

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