Monitora il conteggio dei processi su una VM

Questo documento descrive come utilizzare la Google Cloud console per creare un criterio di avviso che monitora il numero di processi in esecuzione sulle macchine virtuali (VM) che soddisfano le condizioni specificate. Questo tipo di policy di avviso è a volte chiamato criterio di avviso di integrità dei processi. Ad esempio, puoi contare il numero di processi avviati dall'utente root. Puoi anche contare il numero di processi il cui comando di chiamata conteneva una stringa specifica. Una criterio di avviso può inviarti una notifica quando il numero di processi è maggiore o minore di una soglia. Per informazioni sui processi che possono essere monitorati, consulta Processi monitorati.

Questi contenuti non si applicano ai criteri di avviso basati su log. Per informazioni sui criteri di avviso basati su log, che ti inviano una notifica quando nei log viene visualizzato un messaggio specifico, consulta Monitorare i log.

Prima di iniziare

  1. Per ottenere le autorizzazioni necessarie per creare e modificare i criteri di avviso utilizzando la console, chiedi all'amministratore di concederti il ruolo IAM Editor di Monitoring (roles/monitoring.editor) sul tuo progetto. Google Cloud Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Per saperne di più sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Assicurati di conoscere i concetti generali dei criteri di avviso. Per informazioni su questi argomenti, consulta la Panoramica degli avvisi.

  3. Configura i canali di notifica che vuoi utilizzare per ricevere gli avvisi. Per motivi di ridondanza, ti consigliamo anche di creare più tipi di canali di notifica. Per informazioni su questi passaggi, consulta Crea e gestisci i canali di notifica.

  4. Assicurati di aver installato l'Ops Agent sulle VM che vuoi monitorare. Per saperne di più, consulta Agenti di Google Cloud Observability.

Crea criterio di avviso

Per creare un criterio di avviso che monitora il conteggio dei processi in esecuzione su una VM utilizzando l'API Cloud Monitoring, l'espressione di filtro deve specificare un selettore di serie temporali. Per un esempio di file JSON che specifica questo selettore, consulta Criterio di integrità dei processi.

Per creare un criterio di avviso che monitora il conteggio dei processi in esecuzione su una VM:

  1. Nella Google Cloud console, vai alla  pagina Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Seleziona Crea criterio.
  3. Seleziona ? nell'intestazione della sezione Seleziona metrica e poi seleziona Modalità filtro diretto nel suggerimento.

  4. Inserisci un filtro di Monitoring.

    Ad esempio, per contare il numero di processi in esecuzione sulle istanze VM di Compute Engine il cui nome include nginx, inserisci quanto segue:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Per informazioni sulla sintassi, consulta le seguenti risorse:

  5. Completa la criterio di avviso. Devi configurare il trigger della condizione, le notifiche, la documentazione e il nome del criterio, quindi fare clic su Crea criterio.

    Per saperne di più, consulta Crea policy di avviso basate su soglie metriche.

Processi monitorati

Non tutti i processi in esecuzione nel sistema possono essere monitorati da una condizione di integrità dei processi. Questa condizione seleziona i processi da monitorare utilizzando un'espressione regolare applicata alla riga di comando che ha richiamato il processo. Quando il campo della riga di comando non è disponibile, il processo non può essere monitorato.

Un modo per determinare se un processo può essere monitorato da una condizione di integrità dei processi è esaminare i processi attivi. Ad esempio, su un sistema Linux, puoi utilizzare il comando ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Quando una voce COMMAND è racchiusa tra parentesi quadre, ad esempio [nfsd], le informazioni della riga di comando per il processo non sono disponibili. In questa situazione, non puoi utilizzare Cloud Monitoring per monitorare il processo.