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 sulle prestazioni Puoi raccogliere le metriche di 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 offerti da Cloud Monitoring consentono di rispondere a domande importanti, come le seguenti:

  • Qual è il carico sul mio servizio?
  • Il mio sito web risponde correttamente?
  • Il mio servizio è buono?

Cloud Monitoring fornisce il supporto sia per la console Google Cloud che per le API per la maggior parte dei suoi servizi. Alcuni servizi supportano anche Google Cloud CLI o Terraform. Le pagine di riferimento dell'API Cloud Monitoring, ad esempio la pagina alertPolicies.list, ti consentono di sperimentare le chiamate API direttamente dalla pagina di riferimento.

Servizi di Cloud Monitoring

Cloud Monitoring offre diversi servizi che puoi utilizzare per comprendere integrità e 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 delle prestazioni soddisfa i criteri da te definiti, crea un criterio di avviso. Il criterio di avviso include l'elenco di persone o gruppi che devono ricevere notifiche. Monitoring supporta i canali di notifica più 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 include un link a un incidente. Un incidente è un record permanente che archivia le informazioni che puoi utilizzare per risolvere l'errore. In genere, un record elenca lo stato dell'incidente, link ai log, un grafico con i dati delle metriche registrate, le etichette e la durata.

Il servizio di avviso è integrato in molti servizi Google Cloud. In presenza di queste integrazioni, potresti visualizzare un riquadro che elenca gli avvisi consigliati oppure un pulsante in un grafico che consente di creare un criterio di avviso. In entrambi i casi, i criteri di avviso sono preconfigurati. Tu specifichi solo l'elenco di persone o gruppi da notificare.

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 disponibilità, coerenza e prestazioni di servizi, applicazioni, pagine web e API, crea monitor sintetici. Ad esempio, puoi verificare la reattività degli endpoint HTTP, HTTPS e TCP con controlli di uptime e ricevere una notifica quando un endpoint non risponde. Puoi anche creare uno strumento di verifica dei link inaccessibili per eseguire la scansione di una pagina web e ricevere una notifica quando vengono rilevati link inaccessibili.

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

Visualizzazione dei dati

Per visualizzare i dati al fine di individuare le tendenze, identificare gli outlier e visualizzare altri dettagli sui dati, puoi utilizzare i servizi di dashboard e di creazione di grafici:

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 numero di errori rilevati dal servizio e il numero totale di voci di log ricevute dal progetto Google Cloud. Puoi anche definire metriche basate su log.

Linguaggio per le query

Quando crei un criterio di avviso o un grafico, devi fornire una query che descriva i dati da monitorare o registrare:

  • Console Google Cloud: puoi creare la tua query effettuando selezioni dai menu oppure puoi scrivere una query. Gli editor di query sono disponibili per Prometheus Query Language (PromQL) e Monitoring Query Language (MQL). Gli editor delle query forniscono controlli e suggerimenti della 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.

Monitora sistemi di grandi dimensioni

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

Gestione delle 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 soddisfa 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. Ecco alcuni esempi di gruppi di risorse:

  • Istanze di 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 saperne di più, consulta Configurare i gruppi di risorse.

Monitora le metriche per più progetti Google Cloud

Per visualizzare e monitorare i dati delle serie temporali per più progetti Google Cloud e account AWS tramite un'unica interfaccia, configura un ambito delle metriche multiprogetto.

Per impostazione predefinita, le pagine di Cloud Monitoring nella console Google Cloud consentono l'accesso solo alle serie temporali archiviate nel progetto di ambito. Il progetto di definizione dell'ambito è il progetto che hai selezionato con il selettore di progetti della console Google Cloud. Il progetto di definizione dell'ambito archivia gli avvisi, i monitor 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 da includere 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 un valore misurato. Gli 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 contenente le misurazioni con timestamp di una metrica, nonché informazioni sull'origine e sul significato di queste misurazioni.

Ecco alcuni dettagli sul contenuto di 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 capire il significato di un valore, è necessario fare riferimento agli altri dati inclusi nella serie temporale e alle definizioni di questi dati.

  • Il campo resource descrive il componente hardware o software da monitorare. In Cloud Monitoring, il componente hardware o software è definito risorsa monitorata. Esempi di risorse monitorate includono le istanze di Compute Engine e le applicazioni App Engine. Per un elenco delle risorse monitorate, vedi 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, che indica che queste misurazioni vengono effettuate su un'istanza VM di 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 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, il campo type specifica il servizio e ciò che viene monitorato. In questo esempio, il servizio Compute Engine misura l'uso della CPU. Quando il campo type inizia con custom o external, la metrica è metrica personalizzata o definita da una terza parte.

    • Il campo labels contiene coppie chiave-valore che forniscono informazioni aggiuntive sulla misurazione. Queste etichette fanno parte della MetricDescriptor, che è una struttura dati che definisce gli attributi dei dati misurati. MetricDescriptor per la metrica compute.googleapis.com/instance/cpu/utilization include l'etichetta instance_name.

  • Il campo metricKind descrive la relazione tra misurazioni adiacenti all'interno di una serie temporale:

    • Le metriche GAUGE memorizzano il valore dell'oggetto misurato in un determinato momento, ad esempio una registrazione della temperatura oraria.

    • Le metriche CUMULATIVE memorizzano il valore accumulato dell'oggetto misurato in un determinato momento, ad esempio un contachilometri in un veicolo.

    • Le metriche DELTA memorizzano la variazione del valore dell'azione misurata in un determinato periodo, ad esempio un riepilogo delle azioni che mostra i guadagni o le perdite dell'azione.

  • 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 di etichette di risorse e metriche. Puoi usare queste etichette per raggruppare e filtrare le serie temporali. Ad esempio, quando un progetto Google Cloud contiene più istanze VM di Compute Engine, l'utilizzo della CPU per ogni istanza VM è una serie temporale univoca. Ecco 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 un'istanza VM specifica filtrando le serie temporali per un singolo valore dell'etichetta instance_id.
  • Puoi raggruppare in base alle istanze VM in base all'etichetta machine_type e visualizzare l'utilizzo medio della CPU. Il seguente screenshot 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 di 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 informazioni su come configurare il progetto Google Cloud per visualizzare le metriche per più progetti Google Cloud e account AWS, consulta la panoramica degli ambiti delle metriche.