Questo documento fornisce una panoramica dei servizi forniti da Cloud Monitoring. Questi servizi possono aiutarti a comprendere il comportamento, l'integrità e le prestazioni delle tue applicazioni e di altri servizi. Google Cloud Cloud Monitoring raccoglie e archivia automaticamente le informazioni sulle prestazioni per la maggior parte dei servizi Google Cloud . Puoi raccogliere metriche Prometheus utilizzando Google Cloud Managed Service per Prometheus. Se installi Ops Agent sulle tue macchine virtuali (VM) Compute Engine, puoi raccogliere metriche e log dalle tue applicazioni e da applicazioni di terze parti.
I servizi di avviso, test e visualizzazione forniti da Cloud Monitoring ti aiutano a rispondere a domande importanti come le seguenti:
- Qual è il carico del mio servizio?
- Il mio sito web risponde correttamente?
- Il mio servizio funziona bene?
- Qual è lo stato della mia applicazione App Hub?
Cloud Monitoring fornisce supporto sia per la console che per le API per la maggior parte dei suoi servizi. Google Cloud Alcuni servizi supportano anche Google Cloud CLI o
Terraform. Le pagine di riferimento dell'API Cloud Monitoring, come la pagina
alertPolicies.list
,
ti consentono di sperimentare le chiamate API direttamente dalla pagina di riferimento.
Servizi Cloud Monitoring
Cloud Monitoring fornisce diversi servizi che puoi utilizzare per comprendere l'integrità e le prestazioni delle tue applicazioni e degli altri servizi che utilizzi. Google Cloud
Incidenti e notifiche
Per ricevere una notifica quando il valore di una metrica di rendimento soddisfa i criteri che hai definito, crea un criterio di avviso. Il criterio di avviso include l'elenco delle persone o dei gruppi che devono ricevere le notifiche. Monitoring supporta i canali di notifica comuni, tra cui email, app mobile Cloud e servizi come PagerDuty o Slack. Ad esempio, potresti creare un criterio di avviso in modo da ricevere una notifica quando l'utilizzo della CPU di una VM supera l'80%.
Ogni notifica include informazioni pertinenti su un errore e un link a un incidente. Un incidente è un record persistente che memorizza informazioni che puoi utilizzare per risolvere il problema. In genere, un record elenca lo stato dell'incidente, i link ai log, un grafico dei dati delle metriche registrate, le etichette e la durata.
Il servizio di avvisi è integrato con molti Google Cloud servizi. Quando esistono queste integrazioni, potresti visualizzare un riquadro che elenca gli avvisi consigliati oppure un pulsante su un grafico che ti consente di creare un criterio di avviso. In entrambi i casi, le policy di avviso sono preconfigurate, devi solo specificare l'elenco di persone o gruppi da avvisare.
Puoi creare e gestire criteri di avviso utilizzando la console Google Cloud , l'API Cloud Monitoring, Google Cloud CLI o Terraform.
Monitoraggio e convalida proattivi
Per testare la disponibilità, la coerenza e le prestazioni di servizi, applicazioni, pagine web e API, crea monitor sintetici. Ad esempio, puoi eseguire il probing degli endpoint HTTP, HTTPS e TCP per verificare la reattività con i controlli di uptime e ricevere una notifica quando un endpoint non risponde. Puoi anche creare un controllo dei link non funzionanti per eseguire la scansione di una pagina web e poi inviarti una notifica quando vengono rilevati link non funzionanti.
Puoi creare e gestire monitor sintetici utilizzando la console Google Cloud , l'API Cloud Monitoring, Google Cloud CLI o Terraform.
Visualizzazione dei dati
Quando crei istanze di risorse Google Cloud o registri applicazioni con App Hub, il servizio dashboard crea automaticamente dashboard gestite daGoogle Cloud. Queste dashboard mostrano informazioni selezionate che ti aiutano a comprendere lo stato delle tue risorse e applicazioni. Ad esempio, per un'applicazione App Hub, vengono create dashboard per l'applicazione e per ciascuno dei suoi servizi e workload. Queste dashboard mostrano informazioni come i dati di log o delle metriche di un'applicazione e il numero di avvisi aperti.
I dashboard creati da Google Cloud potrebbero fornirti informazioni sufficienti per completare un'indagine. Tuttavia, potrebbero non fornire i dati esatti di cui hai bisogno per visualizzare le tendenze, identificare gli outlier o visualizzare altri dettagli sui tuoi dati. Per completare queste attività, puoi utilizzare i servizi di dashboard e grafici:
Per controllare i dati che visualizzi e il formato di visualizzazione, crea una dashboard personalizzata. Ad esempio, potresti importare una dashboard di Grafana o installare una dashboard da un modello.
Le dashboard personalizzate possono mostrare quanto segue.
- Grafici e tabelle che mostrano i dati delle metriche
- Dati di log e gruppi di errori
- Grafici per i criteri di avviso
- Informazioni sugli avvisi
- Testo
- Eventi, ad esempio un riavvio o un arresto anomalo, che influiscono sul funzionamento di un sistema.
Puoi creare e gestire i dashboard utilizzando la consoleGoogle Cloud o l'API.
Il servizio di grafici Esplora metriche consente di visualizzare ed esplorare rapidamente i dati delle serie temporali. Le impostazioni del grafico ti consentono di confrontare i dati attuali con quelli precedenti, visualizzare i valori anomali e i percentili e mostrare più metriche. Puoi anche salvare i grafici in una dashboard personalizzata.
Raccolta e archiviazione dei dati
Cloud Monitoring raccoglie e archivia i seguenti tipi di dati delle metriche:
- Metriche di sistema generate dai servizi Google Cloud . Queste metriche forniscono informazioni sul funzionamento di un servizio.
- Metriche di sistema e delle applicazioni che l'agente operativo raccoglie su risorse di sistema e applicazioni in esecuzione sulle istanze Compute Engine. Puoi configurare Ops Agent per raccogliere metriche da plug-in di terze parti come server web Apache o Nginx oppure database MongoDB o PostgreSQL.
Metriche definite dall'utente create utilizzando l'API Cloud Monitoring o una libreria come OpenTelemetry.
Metriche esterne definite da alcune librerie open source o da fornitori di terze parti.
Metriche Prometheus raccolte da Google Cloud Managed Service per Prometheus, o utilizzando Ops Agent e il ricevitore Prometheus o il ricevitore OTLP.
- Metriche basate su log che registrano informazioni numeriche sui log scritti in Cloud Logging. Le metriche basate su log definite da Google includono i conteggi degli errori rilevati dal tuo servizio e il numero totale di voci di log ricevute dal tuo progetto Google Cloud . Puoi anche definire metriche basate su log.
Linguaggi di query
Quando crei un criterio di avviso o un grafico, devi fornire una query che descriva i dati che vuoi monitorare o rappresentare graficamente:
Google Cloud : puoi creare la query effettuando selezioni dai menu oppure puoi scriverla. Gli editor di query sono disponibili per Prometheus Query Language (PromQL) e Monitoring Query Language (MQL). Gli editor di query forniscono controlli e suggerimenti per la sintassi. Puoi anche scrivere un'espressione di filtro di Monitoring.
API Cloud Monitoring: l'API supporta Prometheus Query Language (PromQL), query MQL ed espressioni di filtro di Monitoring.
Monitorare sistemi di grandi dimensioni
Questa sezione descrive come gestire le risorse come raccolta e come monitorare le metriche archiviate in più progetti. Google Cloud
Gestire le risorse come raccolta
Per gestire le risorse come raccolta anziché singolarmente, crea un gruppo di risorse. Un gruppo di risorse è una raccolta dinamica di risorse che soddisfano alcuni criteri da te forniti. Man mano che aggiungi e rimuovi risorse, ad esempio aggiungendo istanze VM Compute Engine al tuo progettoGoogle Cloud , l'appartenenza al gruppo cambia automaticamente. Di seguito sono riportati alcuni esempi di gruppi di risorse:
- Istanze Compute Engine i cui nomi iniziano con la stringa
prod-
. - Risorse con il tag
test-cluster
. - Istanze Amazon EC2 nella regione A o nella regione B.
Dopo aver definito un gruppo di risorse, puoi monitorare il gruppo come se fosse una singola risorsa. Ad esempio, puoi configurare un controllo di uptime per monitorare un gruppo di risorse. Per i grafici e i criteri di avviso, puoi anche filtrare in base al nome del gruppo.
Per maggiori informazioni, vedi Configurare i gruppi di risorse.
Monitorare le metriche per più Google Cloud progetti
Per visualizzare e monitorare i dati delle serie temporali per più Google Cloud progetti e account AWS tramite un'unica interfaccia, configura un ambito delle metriche multi-progetto.
Per impostazione predefinita, le pagine di Cloud Monitoring nella console Google Cloud forniscono l'accesso solo alle serie temporali archiviate nel progetto di ambito. Il progetto di ambito è il progetto che hai selezionato con il selettore di progetti della consoleGoogle Cloud . Il progetto di ambito memorizza gli avvisi, i monitoraggi sintetici, le dashboard e i gruppi di monitoraggio che configuri.
Il progetto di definizione dell'ambito ospita anche un ambito delle metriche. L'ambito delle metriche definisce i progetti e gli account le cui metriche sono visibili al progetto di definizione dell'ambito. Puoi configurare l'ambito delle metriche in modo che includa i dati delle serie temporali di altri progetti Google Cloud e di account AWS. Per informazioni su come modificare un ambito delle metriche, consulta Configurare un ambito delle metriche per più progetti.
Modello dei dati di Cloud Monitoring
Questa sezione introduce il modello dei dati di Cloud Monitoring:
Un tipo di metrica descrive qualcosa che viene misurato. Esempi di tipi di metriche includono l'utilizzo della CPU di una VM e la percentuale di un disco utilizzato.
Una serie temporale è una struttura di dati che contiene misurazioni con timestamp di una metrica e informazioni sull'origine e sul significato di queste misurazioni.
Ecco alcuni dettagli su cosa contiene una serie temporale:
L'array
points
contiene le misurazioni con timestamp.Di seguito è riportato un esempio di array
points
con due valori:"points": [ { "interval": { "startTime": "2020-07-27T20:20:21.597143Z", "endTime": "2020-07-27T20:20:21.597143Z" }, "value": { "doubleValue": 0.473005 } }, { "interval": { "startTime": "2020-07-27T20:19:21.597239Z", "endTime": "2020-07-27T20:19:21.597239Z" }, "value": { "doubleValue": 0.473025 } }, ],
Per comprendere il significato di un valore, devi fare riferimento agli altri dati inclusi nella serie temporale e alle definizioni di questi dati.
Il campo
resource
descrive il componente hardware o software che viene monitorato. In Cloud Monitoring, il componente hardware o software è denominato risorsa monitorata. Esempi di risorse monitorate includono istanze Compute Engine e applicazioni App Engine. Per un elenco delle risorse monitorate, consulta l'elenco delle risorse monitorate.Di seguito è riportato un esempio di campo
resource
:"resource": { "type": "gce_instance", "labels": { "instance_id": "2708613220420473591", "zone": "us-east1-b", "project_id": "sampleproject" } }
Il campo
type
elenca la risorsa monitorata comegce_instance
, il che indica che queste misurazioni vengono eseguite su un'istanza VM di Compute Engine.Il campo
labels
contiene coppie chiave-valore che forniscono ulteriori informazioni sulla risorsa monitorata. Per un tipogce_instance
, le etichette identificano l'istanza VM monitorata.
Il campo
metric
descrive cosa viene misurato.Di seguito è riportato un esempio di campo
metric
:"metric": { "labels": { "instance_name": "test" }, "type": "compute.googleapis.com/instance/cpu/utilization" },
- Per i servizi Google Cloud , il campo
type
specifica il servizio e cosa viene monitorato. In questo esempio, il servizio Compute Engine misura l'utilizzo della CPU. Quando il campotype
inizia concustom
oexternal
, la metrica è una metrica personalizzata o una definita da una terza parte.
- Il campo
labels
contiene coppie chiave-valore che forniscono ulteriori informazioni sulla misurazione. Queste etichette sono definite come parte delMetricDescriptor
, ovvero una struttura di dati che definisce gli attributi dei dati misurati. IlMetricDescriptor
per la metricacompute.googleapis.com/instance/cpu/utilization
include l'etichettainstance_name
.
- Per i servizi Google Cloud , il campo
Il campo
metricKind
descrive la relazione tra misurazioni adiacenti all'interno di una serie temporale:Le metriche
GAUGE
memorizzano il valore dell'elemento misurato in un determinato momento, ad esempio una registrazione oraria della temperatura.Le metriche
CUMULATIVE
memorizzano il valore accumulato dell'elemento misurato in un determinato momento, ad esempio il contachilometri di un veicolo.Le metriche
DELTA
memorizzano la variazione del valore dell'elemento misurato in un periodo di tempo specificato, ad esempio un riepilogo delle azioni che mostra i guadagni o le perdite delle azioni.
Il campo
valueType
descrive il tipo di dati per la misurazione:INT64
,DOUBLE
,BOOL
,STRING
oDISTRIBUTION
.
- Puoi mostrare l'utilizzo della CPU di ogni istanza VM.
- Puoi mostrare l'utilizzo della CPU per una specifica istanza VM filtrando la serie temporale per un singolo valore dell'etichetta
instance_id
. Puoi raggruppare le istanze VM in base all'etichetta
machine_type
e poi visualizzare l'utilizzo medio della CPU. Il seguente screenshot mostra un grafico con questa configurazione:
Prezzi
In generale, le metriche di sistema di Cloud Monitoring sono gratuite, mentre le metriche provenienti da sistemi, agenti o applicazioni esterni non lo sono. Le metriche fatturabili vengono fatturate in base al numero di byte o al numero di campioni importati.
Per ulteriori informazioni sui prezzi di Cloud Monitoring, consulta i seguenti documenti:
Passaggi successivi
- Per esplorare Cloud Monitoring, prova la guida rapida per monitorare un'istanza di Compute Engine.
- Per informazioni su come configurare il nostro progetto Google Cloud per visualizzare le metriche per più progetti Google Cloud e account AWS, consulta Panoramica degli ambiti delle metriche.
Per informazioni sul modello dei dati di Cloud Monitoring, consulta Metriche, serie temporali e risorse.
Per informazioni sull'API Cloud Monitoring, consulta la pagina API e riferimenti.
Per gli elenchi di metriche e risorse monitorate, consulta l'elenco delle metriche e l'elenco delle risorse monitorate.