Il modello di Cloud Monitoring per i dati di monitoraggio è costituito da tre concetti principali:
- Tipi di risorse monitorate
- Tipi di metriche
- Serie temporale
Il documento Il modello metrico descrive questi concetti di Cloud Monitoring in termini generali. Se non hai mai utilizzato questi concetti, leggi prima quella pagina.
Questa pagina descrive in modo più dettagliato i tipi di metriche, le risorse monitorate e le serie temporali, oltre ad alcuni concetti correlati. Questi concetti sono alla base di tutte le metriche di monitoraggio.
Devi comprendere le informazioni riportate in questa pagina se vuoi eseguire una delle seguenti operazioni:Controlla i dati delle metriche utilizzando Metrics Explorer.
Crea criteri di avviso per ricevere una notifica quando un valore supera i suoi limiti normali, come descritto in Utilizzo dei criteri di avviso.
Recupera i dati di monitoraggio non elaborati o aggregati utilizzando l'API Monitoring, come descritto in Recupero dei dati delle serie temporali.
Crea i tuoi tipi di metriche, come descritto nella Panoramica delle metriche definite dall'utente.
Informazioni sulle etichette
Sia i tipi di risorse monitorate che i tipi di metriche 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 posizione della macchina e l'ID progetto associato alla macchina. Quando vengono registrate le informazioni sulla risorsa monitorata, queste includono i valori per le etichette. Una risorsa monitorata potrebbe avere anche etichette dei 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 invocato e lo stato della richiesta.
L'utilizzo delle etichette è descritto in maggiore dettaglio in Etichette.
Tipi di risorse monitorate
Una risorsa monitorata è una risorsa da cui vengono acquisiti i dati delle metriche. Cloud Monitoring supporta circa 270 tipi di risorse monitorate.
I tipi di risorse monitorate includono nodi e attività generici, componenti di architettura in Google Kubernetes Engine, tabelle in Bigtable, varie risorse AWS e molti altri.Ogni tipo di risorsa monitorata è descritto formalmente in una struttura di dati chiamata descrittore della risorsa monitorata. Per ulteriori informazioni, consulta Descrittori delle risorse monitorate.
Ogni tipo di risorsa monitorata supportato ha una voce nell'elenco Risorse monitorate. Le voci nell'elenco vengono create dai descrittori delle risorse monitorate. Questa sezione descrive le informazioni acquisite in un descrittore della risorsa monitorata e mostra come vengono presentate nell'elenco.
Un tipo di risorsa monitorata di esempio
L'immagine seguente mostra la voce nell'elenco per un bucket Cloud Storage:
Tutte le voci dell'elenco includono le seguenti informazioni:
- Tipo: l'intestazione della 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 la classificazione dei dati. Per ulteriori informazioni, 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 di come vengono interpretate le misurazioni. Cloud Monitoring supporta circa 6500 tipi di metriche e ti consente di definirne di nuovi.I tipi di metriche includono conteggi di chiamate API, statistiche sull'utilizzo del disco, consumo di spazio di archiviazione e molto altro.
Ogni tipo di metrica è descritto formalmente in una struttura di dati chiamata descrittore della metrica. Per ulteriori informazioni, consulta Descrittori delle metriche.
Ogni tipo di metrica integrata ha una voce nelle pagine Elenco 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 tipo di metrica di esempio
L'immagine seguente mostra una voce per un tipo di metrica 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 della tabella Cloud Storage di esempio fornisce le seguenti informazioni su un tipo di metrica:
Tipo di metrica: un identificatore per il 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 determinato tipo di risorsa monitorata utilizzano lo stesso spazio dei nomi.Gli spazi dei nomi vengono omessi dalle voci nelle tabelle.
Tutti i tipi di metriche associate 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 richieste" nell'esempio.
Tipo, Tipo, Unità: questa riga fornisce informazioni per interpretare i valori dei dati: l'esempio mostra una metrica delta registrata come un numero intero a 64 bit senza unità (ovvero il valore
1
).Tipo: questo esempio è una metrica delta, che registra una variazione in un periodo di tempo. In altre parole, ogni punto dati registra il numero di chiamate API dall'inserimento del punto dati precedente. Per ulteriori informazioni sui tipi, consulta Tipi di valore e tipi di metriche.
Tipo: questo esempio registra i valori come numeri interi a 64 bit. Per ulteriori informazioni sui tipi, consulta Tipi di valore e tipi di metriche.
Unità: questa metrica non richiede un'unità esplicita perché rappresenta un conteggio. Il numero
1
viene utilizzato per indicare che non è necessaria alcuna unità.
Risorse monitorate: le risorse monitorate per le quali è disponibile questo tipo di metrica. I valori riportati qui sono gli stessi descritti in Tipi di risorse monitorate.
Descrizione: informazioni più dettagliate su cosa viene registrato e come. In corsivo per distinguerlo dalle etichette.
Etichette: un insieme di dimensioni per classificare i dati. Per ulteriori informazioni, consulta Etichette.
Quando accedi ai dati di monitoraggio tramite l'API Cloud Monitoring, includi un progetto Google Cloud nella chiamata all'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
, vedrai i conteggi delle API solo per i bucket Cloud Storage del tuo progetto.
Se il progetto non utilizza bucket Cloud Storage, non vengono restituiti dati metrici.
Tipi di metriche integrate
I tipi di metriche incorporate sono definiti dai servizi Google Cloud, tra cui Cloud Monitoring. Questi tipi di metriche descrivono misurazioni standard per un'ampia gamma di infrastrutture comuni e sono disponibili per chiunque.
L'elenco Metriche mostra l'intero insieme di tipi di metriche integrate. Le metriche elencate nella pagina Elenco delle metriche esterne sono un insieme 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 prefissoexternal.googleapis.com
.
Metriche personalizzate
Quando crei l'applicazione, potresti avere determinate proprietà che vuoi misurare, per le quali non sono disponibili metriche integrate in Cloud Monitoring. Con Cloud Monitoring, puoi definire i tuoi tipi di metrica o importarli da origini esterne. Questi tipi di metriche
sono chiamate metriche personalizzate. Se una metrica ha un prefisso custom.googleapis.com
o prometheus.googleapis.com
, si tratta di una metrica personalizzata.
Queste ultime provengono in genere da Google Cloud Managed Service per Prometheus.
Ad esempio, se vuoi monitorare il numero di widget venduti dai tuoi negozi, devi utilizzare una metrica personalizzata. Per ulteriori informazioni, consulta la panoramica delle metriche definite dall'utente.
Etichette
Un'etichetta è una coppia chiave-valore che può essere utilizzata per fornire informazioni su un valore dei dati.
Etichette delle metriche e delle risorse monitorate
Le definizioni di tipi di metriche e di risorse monitorate includono le etichette. Le etichette sono classificatori per i dati raccolti e aiutano a categorizzare 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
emethod
. - Il tipo di risorsa monitorata Cloud Storage
gcs_bucket
ha tre etichette:project_id
,bucket_name
elocation
. Le etichette identificano istanze specifiche del tipo di risorsa.
Pertanto, 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 posizione e al progetto del bucket coinvolto. L'insieme di etichette varia in base alla metrica o al tipo di risorsa monitorata. Le etichette disponibili sono documentate nelle pagine Elenco delle metriche e Elenco delle risorse monitorate.
Monitorando il codice di risposta, il nome del metodo e la posizione durante il conteggio delle 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 posizione specifica.
Il numero di etichette e il numero di valori che ciascuna può assumere è definito cardinalità. La cardinalità è il numero di possibili serie temporali che possono essere raccolte per una coppia di tipi di metriche e risorse monitorate: esiste una serie temporale per ogni combinazione di valori delle relative etichette. Per ulteriori informazioni, consulta Cardinalità: serie temporali ed etichette.
Etichette dei metadati delle risorse
Oltre alle etichette definite per i tipi di metriche e risorse monitorate, il monitoraggio raccoglie internamente informazioni aggiuntive sulle risorse monitorate e le memorizza nelle etichette dei metadati di sistema. Queste etichette dei metadati di sistema sono disponibili per gli utenti come valori di sola lettura. Alcune risorse consentono inoltre agli utenti di creare le proprie etichette dei metadati delle risorse quando configurano risorse come le istanze VM nella console Google Cloud.
Le etichette dei metadati di sistema e utente sono chiamate collettivamente etichette dei metadati della risorsa. Puoi utilizzare queste etichette come le etichette definite per la metrica e per i tipi di risorse monitorate nei filtri delle serie temporali. Per ulteriori informazioni sull'applicazione di filtri, consulta Filtri di monitoraggio.
Serie temporali: dati di una risorsa monitorata
Questa sezione illustra che cosa sono i dati di monitoraggio e come sono organizzati in serie temporali. È qui che i componenti concettuali del modello di metrica diventano elementi concreti.
Cloud Monitoring memorizza misurazioni regolari nel tempo per coppie di tipi di metriche e 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, valore). value è la misurazione e timestamp è il momento in cui è stata eseguita la misurazione.
La risorsa monitorata che è l'origine dei dati delle serie temporali 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 genera dati.
Esempio stilizzato: il tipo di metrica storage.googleapis.com/api/request_count
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 e response_code
e method
sono etichette nel tipo di metrica. Esiste una serie temporale per ogni combinazione di valori nelle etichette delle risorse e delle metriche. Le illustrazioni ne mostrano alcune:
Cloud Monitoring non registra serie temporali "vuote". Nell'esempio dei bucket Cloud Storage, se non utilizzi un determinato bucket o non chiami mai un determinato metodo API, non vengono raccolti dati per quell'etichetta e nessuna serie temporale la menziona. Ciò significa che, se il progetto non contiene dati per una determinata metrica, non viene visualizzato il tipo di metrica.
I tipi di metriche non indicano i tipi di risorse monitorate
trovate nelle serie temporali delle metriche. Per Cloud Storage esiste un solo tipo di risorsa monitorata: gcs_bucket
. Alcuni tipi di metriche sono accoppiati a più di una risorsa monitorata.
Esempio pratico: se hai un progetto Google Cloud, puoi provare il widget Explorer API, che si trova nella pagina di riferimento del metodo timeSeries.list
nell'API Monitoring.
Apri la pagina di riferimento
timeSeries.list
.Nel riquadro Prova questo metodo, inserisci quanto segue:
- name:
projects/PROJECT_ID
sostituisciPROJECT_ID
con l'ID del tuo progetto Google Cloud. - filter:
metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
- interval.start_time: inserisci l'ora di inizio e assicurati che sia anticipata di 20 minuti rispetto all'ora di fine.
- interval.end_time: inserisci l'ora di fine.
- name:
Se la richiesta va a buon fine, restituisce i dati delle serie temporali corrispondenti alla richiesta. Sarà simile allo snippet seguente:
{ "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": "2024-03-29T13:53:00Z", "endTime": "2024-03-29T13:54:00Z" }, "value": { "int64Value": "0" } }, ... ] }, ... ] }
Per ulteriori informazioni sull'utilizzo del widget Explorer API, inclusa la risoluzione dei problemi, consulta Explorer API.
Cardinalità: serie temporali ed etichette
Ogni serie temporale è associata a una coppia specifica di tipi di metrica e risorse monitorate. I tipi di metriche e risorse monitorate forniscono ciascuno un numero di etichette. In Cloud Monitoring, il numero di combinazioni uniche di valori per l'insieme di etichette è la cardinalità del tipo di metrica o del tipo di risorsa monitorata. Questi valori sono indicati come cardinalità della metrica e cardinalità della risorsa e determinano quante possibili serie temporali, ovvero la cardinalità totale, potrebbero essere generate.
Cardinalità delle metriche, delle risorse e totale
Supponiamo che tu abbia un tipo di metrica che specifica due etichette,color
e zone
. La cardinalità della metrica dipende dal numero di possibili valori delle etichette:
- Se sono presenti solo tre colori possibili, "rosso", "verde" e "blu", l'etichetta
color
può avere fino a tre valori distinti. - Se esistono solo due zone possibili, "est" e "ovest", l'etichetta
zone
può avere fino a due valori distinti.
La cardinalità di questa metrica è 6 (3 x 2). Se esistono 1000 possibili valori per l'etichetta color
e ogni colore può apparire in ogni zona, la cardinalità della metrica è 2000 (1000 x 2). Lo stesso calcolo si applica se si tratta di etichette per un tipo di risorsa monitorata anziché per un tipo di metrica.
Questo valore di cardinalità è massimo, in base al numero di combinazioni di possibili valori di etichetta. Il valore effettivo reale potrebbe essere notevolmente inferiore se non si verificano tutte le combinazioni di valori delle etichette. Ad esempio, se ogni colore viene visualizzato in una sola zona e non in entrambe, il numero massimo di serie temporali visualizzato nel sistema in esecuzione è 1000. Tuttavia, l'utilità della cardinalità effettiva dipende dai motivi per cui determinate combinazioni non vengono visualizzate e se potrebbero essere visualizzate in futuro.
Quando i dati delle serie temporali vengono scritti, vengono classificati in base alle metriche e ai tipi di risorse monitorate. Per qualsiasi coppia di tipi di metriche e risorse, la cardinalità totale è il prodotto della cardinalità della metrica e della cardinalità della risorsa. Se hai una metrica con una cardinalità di 1000 e una risorsa con una cardinalità di 100 e se viene visualizzato ogni valore dell'etichetta, hai 100.000 serie temporali (1000 x 100).
Quando progetti le tue metriche, assicurati che l'insieme di valori possibili per qualsiasi etichetta sia limitato. Un piccolo insieme di valori discreti (ad esempio "rosso", "verde" e "blu") è l'approccio preferito. Ad esempio, se utilizzi valori RGB a 8 bit per un'etichettacolor
, puoi avere oltre 16 milioni di valori diversi. Non utilizzare valori ad alta risoluzione come timestamp, qualsiasi tipo di identificatore univoco, ID utente, indirizzi IP, URL non parametroizzati e così via per le etichette delle metriche.
Prestazioni delle query e cardinalità
Quando esegui una query sui dati, il volume di dati richiesto è il fattore più importante per le prestazioni delle query: una query per un'ora di dati è in genere più veloce della stessa query che copre sei mesi. Tuttavia, il volume di dati restituiti da una richiesta è sensibile anche al numero di serie temporali in una richiesta. Una query che recupera due mesi di dati per una metrica a bassa cardinalità è probabile che sia più veloce di un'altra query che recupera due mesi di dati per una metrica ad alta cardinalità, a causa della quantità di dati recuperati.
La cardinalità dipende principalmente dal numero di valori che possono avere le etichette, non dal numero di etichette. In genere, non hai il controllo sulla cardinality delle risorse, ad esempio quando il numero di pod o VM cambia in base alle esigenze aziendali. Tuttavia, quando importi le metriche in Cloud Monitoring, invece di utilizzare le metriche di sistema, spesso hai un certo controllo sulla cardinalità delle metriche. Ad esempio, con le metriche personalizzate definite dall'utente, puoi determinare le etichette e i relativi valori possibili. Se stai importando le metriche Prometheus, puoi utilizzare la rietichettatura per modificare l'insieme di etichette e eliminare le serie temporali che non vuoi importare.
Puoi utilizzare la pagina Gestione delle metriche di Cloud Monitoring per identificare le metriche che potrebbero avere problemi di cardinalità. Per visualizzare la pagina Gestione delle metriche:
-
Nella console Google Cloud, vai alla pagina
Gestione delle metriche:Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti, seleziona l'intervallo di tempo. Per impostazione predefinita, la pagina Gestione delle metriche mostra informazioni sulle metriche raccolte nell'ultimo giorno.
Per ulteriori informazioni sulla pagina Gestione delle metriche, consulta Visualizzare e gestire l'utilizzo delle metriche.
Per informazioni tecniche sul modo in cui Cloud Monitoring archivia e recupera i dati delle serie temporali, consulta Monarch: il database di serie temporali in memoria di Google su scala planetaria.
Per informazioni sui limiti delle metriche definite dall'utente in Cloud Monitoring, consulta Metriche definite dall'utente.