Panoramica di Cloud Monitoring

Questo documento fornisce una panoramica dei servizi offerti 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 sul rendimento per la maggior parte dei servizi Google Cloud. Puoi raccogliere le metriche di Prometheus utilizzando Google Cloud Managed Service per Prometheus. Se installi Ops Agent sulle tue VM (macchine virtuali) 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, ad esempio:

  • Qual è il carico del mio servizio?
  • Il mio sito web risponde correttamente?
  • Il mio servizio funziona bene?

Cloud Monitoring fornisce il supporto sia della console sia dell'API Google Cloud per la maggior parte dei suoi servizi. 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 eseguire esperimenti con 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 Google Cloud che utilizzi.

Avvisi e notifiche

Per ricevere una notifica quando il valore di una metrica sul rendimento soddisfa i criteri che hai definito, crea un criterio di avviso. Il criterio di avviso include l'elenco di persone o 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, puoi creare un criterio di avviso per 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 intoppo è un record permanente 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 avviso è integrato con molti servizi Google Cloud. Se queste integrazioni esistono, potresti visualizzare un riquadro che elenca gli avvisi consigliati o un pulsante su un grafico che ti consente di creare un criterio di avviso. In entrambi i casi, i criteri di avviso sono preconfigurati, devi solo specificare l'elenco di persone o gruppi da avvisare.

Puoi creare e gestire i 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 verificare la reattività degli endpoint HTTP, HTTPS e TCP con i controlli di uptime e ricevere una notifica quando un endpoint non risponde. Puoi anche creare un strumento di controllo dei link interrotti per eseguire la scansione di una pagina web e poi informarti quando vengono rilevati link interrotti.

Puoi creare e gestire i monitor sintetici utilizzando la console Google Cloud, l'API Cloud Monitoring, Google Cloud CLI o Terraform.

Visualizzazione dei dati

Per visualizzare i dati in modo da vedere le tendenze, identificare i valori anomali e visualizzare altri dettagli, puoi utilizzare i servizi di dashboard e grafica:

Raccolta e archiviazione dei dati

Cloud Monitoring raccoglie e archivia i seguenti tipi di dati delle metriche:

  • Metriche basate su log che registrano informazioni numeriche sui log scritti in Cloud Logging. Le metriche basate su log definite da Google includono il conteggio degli errori rilevati dal servizio e il numero totale di voci di log ricevute dal progetto Google Cloud. Puoi anche definire metriche basate su log.

Lingue di query

Quando crei un criterio di avviso o un grafico, devi fornire una query che descriva i dati che vuoi monitorare o rappresentare in un grafico:

  • Console Google Cloud: puoi creare la query effettuando selezioni dai menu o scrivendola. Gli editor di query sono disponibili per Prometheus Query Language (PromQL) e Monitoring Query Language (MQL). Gli editor di query forniscono controlli e suggerimenti sulla sintassi. Puoi anche scrivere un'espressione di filtro di monitoraggio.

  • API Cloud Monitoring: l'API supporta Prometheus Query Language (PromQL), query MQL ed espressioni di filtro di monitoraggio.

Monitorare sistemi di grandi dimensioni

Questa sezione descrive come gestire le risorse come raccolta e come monitorare le metriche memorizzate in più progetti Google Cloud.

Gestire le risorse come raccolta

Per gestire le risorse come una raccolta invece che 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 di Compute Engine al tuo progetto Google 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 monitorarlo 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 ulteriori informazioni, consulta Configurare i gruppi di risorse.

Monitorare le metriche per più progetti Google Cloud

Per visualizzare e monitorare i dati delle serie temporali di più progetti Google Cloud 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 accesso solo alle serie temporali archiviate nel progetto di ambito. Il progetto di ambito è il progetto selezionato con il selettore di progetti della console Google Cloud. Il progetto di definizione dell'ambito immagazzina 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 per includere i dati delle serie temporali di altri progetti Google Cloud e 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 illustra il modello dei dati di Cloud Monitoring:

  • Un tipo di metrica descrive un valore misurato. Alcuni esempi di tipi di metriche sono l'utilizzo della CPU di una VM e la percentuale di un disco utilizzata.

  • Una serie temporale è una struttura di dati che contiene misurazioni con timestamp di una metrica e informazioni sulla fonte 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 relative definizioni.

  • Il campo resource descrive il componente hardware o software in fase di monitoraggio. In Cloud Monitoring, il componente hardware o software è indicato come risorsa monitorata. Alcuni esempi di risorse monitorate sono le istanze Compute Engine e le 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 come gce_instance, il che indica che queste misurazioni vengono effettuate su un'istanza VM Compute Engine.

    • Il campo labels contiene coppie chiave-valore che forniscono informazioni aggiuntive sulla risorsa monitorata. Per un tipo gce_instance, le etichette identificano l'istanza VM monitorata.

  • Il campo metric descrive ciò che 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 campo type inizia con custom o external, la metrica è metrica personalizzata o definita da terze parti.
    • Il campo labels contiene coppie chiave-valore che forniscono informazioni aggiuntive sulla misurazione. Queste etichette sono definite nell'ambito del MetricDescriptor, una struttura di dati che definisce gli attributi dei dati misurati. Il MetricDescriptor per la metrica compute.googleapis.com/instance/cpu/utilization include l'etichetta instance_name.
  • Il campo metricKind descrive la relazione tra le misurazioni adiacenti all'interno di una serie temporale:

    • Le metriche GAUGE memorizzano il valore della misura in un determinato momento, ad esempio un record della temperatura ogni ora.

    • Le metriche CUMULATIVE memorizzano il valore accumulato della misura in un determinato momento, ad esempio un contachilometri in un veicolo.

    • Le metriche DELTA memorizzano la variazione del valore dell'elemento misurato in un determinato periodo, ad esempio un riepilogo di un titolo che mostra le relative utili o perdite.

  • Il campo valueType descrive il tipo di dati per la misurazione: INT64, DOUBLE, BOOL, STRING o DISTRIBUTION.

Cloud Monitoring scrive una serie temporale per ogni combinazione di valori delle etichette delle risorse e delle metriche. Puoi utilizzare queste etichette per raggruppare e filtrare le serie temporali. Ad esempio, quando un progetto Google Cloud contiene più istanze VM Compute Engine, l'utilizzo della CPU per ogni istanza VM è una serie temporale univoca. Di seguito sono riportati alcuni modi in cui puoi visualizzare questi dati:

  • 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. Lo screenshot seguente illustra un grafico con questa configurazione:

    Utilizzo medio della CPU raggruppato per tipo di macchina.

Prezzi

In generale, le metriche di sistema di Cloud Monitoring sono gratuite, mentre quelle 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