Questa pagina è una continuazione approfondita della discussione e degli esempi presentati in Metriche, serie temporali e risorse e Componenti del modello metrico. 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. Gli utenti la cui interazione principale è 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 metrico di Cloud Monitoring e trattati come qualsiasi altro dato metrico.
Per scoprire di più sulla raccolta delle tue metriche, consulta la 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.
Ogni serie temporale contiene le misurazioni di una singola origine fisica o logica. Se il tuo ambiente contiene 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à.
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:
I 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 in questo campo sono descritte più dettagliatamente in Metriche.
Il campo
resource
registra:- 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 in questo campo sono descritte in maggiore dettaglio in Oggetti delle risorse monitorate.
I campi
metricKind
evalueType
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.
Il resto di questa 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.
Oggetto Risorsa monitorata
Una risorsa monitorata è rappresentata da un'istanza di un oggetto
MonitoredResource
. La risorsa monitorata descrive
la sorgente 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, 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.
In base alle risorse, è opportuno utilizzare insiemi di etichette diversi. 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 utilizzando l'API Cloud Monitoring. Consulta, ad esempio, le pagine di riferimento per i metodi
monitoredResourceDescriptors.list
e
monitoredResourceDescriptors.get
.
Esempio pratico:se hai un progetto Google Cloud, puoi recuperare questo descrittore utilizzando il widget Explorer API come segue:
Apri la pagina di riferimento
monitoredResourceDescriptors.list
.Nel riquadro Prova questo metodo, inserisci quanto segue:
name:
projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance
Sostituisci
PROJECT_ID
con l'ID del tuo progetto Google Cloud.
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 insieme 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 le informazioni specifiche per le metriche relative a queste misurazioni.
Per una definizione della struttura di dati dell'oggetto metrica, consulta 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
. I valori della colonna etichetta indicano che questa serie temporale specifica conteggia solo le voci di log di 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 del tipo di metrica.
Descrittori delle metriche
Le informazioni su un tipo di metrica sono memorizzate 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, nonché 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 pratico:se hai un progetto Google Cloud, puoi recuperare questo descrittore utilizzando il widget Explorer API come segue:
Apri la pagina di riferimento
metricDescriptors.list
.Nel riquadro Prova questo metodo, inserisci quanto segue:
- name:
projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count
SostituisciPROJECT_ID
con l'ID del tuo progetto Google Cloud.
- name:
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.
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, che sono descritti più dettagliatamente in Tipi di metriche e tipi di valore.
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.