L'API Cloud Monitoring rappresenta il modello di metrica di Cloud Monitoring utilizzando gli oggetti TimeSeries, Metric, MonitoredResource e descrittore. Comprendere questa struttura ti aiuta a utilizzare direttamente l'API Monitoring e a interpretare le risposte delle serie temporali. Prima di leggere questo documento, acquisisci familiarità con Metriche, serie temporali e risorse e Componenti del modello di metrica.
Revisione del modello di metrica
Un prerequisito per comprendere la struttura delle serie temporali è la familiarità con il modello di metrica utilizzato da Cloud Monitoring. Questo modello è descritto in Metriche, serie temporali e risorse. Questa sezione fornisce una breve rassegna.
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.
Time series:
Points: [(value1, time1), (value2, time2), ...]
Metric type information: integer? incremental?
Monitored resource: project? location? method?
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. In effetti, 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 Cardinalità.
Una serie temporale di esempio
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:
Il campo
metricregistra:- 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 ciò che è rappresentato dai punti dati.
Le informazioni contenute in questo campo sono descritte in maggiore dettaglio in Metriche.
Il campo
resourceregistra:- I valori delle etichette delle risorse per questa particolare serie temporale, che rappresentano una combinazione di valori delle etichette.
- La risorsa monitorata specifica da cui sono stati raccolti i dati.
Le informazioni contenute in questo campo sono descritte in maggiore dettaglio in Oggetti risorsa monitorata.
I campi
metricKindevalueTypeindicano come interpretare i valori. Per saperne di più, consulta Tipi di valori 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 dal vivo che recupera i dati delle serie temporali, consulta Serie temporali: dati da una risorsa monitorata.
Il resto della pagina esamina più in dettaglio le informazioni nei campi metric e resource.
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: punta a un'entità fisica o logica.
Ad esempio, ecco un oggetto risorsa monitorata che descrive una determinata 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"
}
}
Questa 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 di etichetta identifica una risorsa univoca da cui vengono raccolti i dati.
Set di etichette diversi sono adatti a 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 di risorsa monitorata. Per una definizione di questa struttura di dati, consulta MonitoredResourceDescriptor.
Un descrittore di risorse monitorate è come uno schema o una specifica per una struttura di record. Non contiene i dati relativi a un'istanza specifica 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 risorse monitorate 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 Cloud de Confiance by S3NS
utilizzando l'API Cloud Monitoring. Ad esempio, consulta le pagine di riferimento per i metodi monitoredResourceDescriptors.list e monitoredResourceDescriptors.get.
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 insieme di punti dati, nonché informazioni sull'organizzazione e sul significato di questi punti dati.
Oggetti Metric
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 le informazioni specifiche della metrica su queste misurazioni.
Per una definizione della struttura dei dati dell'oggetto della metrica, consulta Metric.
Ad esempio, ecco l'oggetto della 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
logging.googleapis.com/log_entry_count misurazioni. 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, quindi le voci INFO nello 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 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 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 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. Ad esempio, consulta le pagine di riferimento per i metodi metricDescriptors.list e metricDescriptors.get.
Per esempi di utilizzo dei metodi dell'API Monitoring, consulta Elenca i tipi di metriche e risorse.
La maggior parte dei campi nel descrittore della metrica è autoesplicativa. I due che probabilmente richiedono ulteriori spiegazioni sono il tipo di metrica e il tipo di valore, descritti in dettaglio in Tipi di valore e tipi di metrica.