Monitoraggio dell'integrità del sistema con rilevatore problemi nodo

A partire dal traguardo 77, il sistema operativo ottimizzato per i container include l'agente Node Problem Detector. Puoi utilizzare questa funzionalità per monitorare lo stato di salute del sistema delle istanze COS. Node Problem Detector monitora l'integrità dell'istanza e genera report sulle metriche relative all'integrità in Cloud Monitoring, tra cui metriche relative a capacità ed errori che puoi visualizzare con le dashboard di Google Cloud Observability. Le metriche raccolte dalla configurazione predefinita sono gratuite. Google utilizzerà le metriche aggregate per comprendere i problemi dei nodi e migliorare l'affidabilità di Container-Optimized OS.

L'agente è preconfigurato con l'insieme di metriche da esportare. Al momento, la personalizzazione delle metriche registrate per l'agente integrato non è supportata. Node Problem Detector è un software open source. Puoi esaminare il codice sorgente e le configurazioni nei rispettivi repository di origine.

Attivazione del monitoraggio dello stato di integrità

L'agente Node Problem Detector è disattivato per impostazione predefinita all'avvio. Puoi attivare questa funzionalità utilizzando:

Utilizzo di uno script di avvio

Puoi attivare Node Problem Detector utilizzando un script di avvio.

Utilizzo di cloud-init

L'esempio cloud-init spiega le nozioni di base per la configurazione di un'istanza Container-Optimized OS. Puoi utilizzare cloud-init per attivare il monitoraggio dello stato di integrità con il seguente cloud-config esempio:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Utilizzo dei metadati

In Container-Optimized OS Milestone 88 e versioni successive, Node Problem Detector può essere attivato anche impostando il valore di google-monitoring-enabled su true nella sezione dei metadati personalizzati.

Per attivare il monitoraggio durante la creazione di un'istanza:

gcloud compute instances create VM_NAME \
    --image=IMAGE \
    --image-project=cos-cloud \
    --metadata=google-monitoring-enabled=true

Sostituisci quanto segue:

  • VM_NAME: nome della nuova VM
  • IMAGE: una versione specifica di un'immagine Container-Optimized OS pubblica. Ad esempio, --image=cos-113-18244-85-29.

Per attivare il monitoraggio in un'istanza esistente:

gcloud compute instances add-metadata VM_NAME \
    --metadata=google-monitoring-enabled=true

Sostituisci VM_NAME con il nome della VM.

A partire dal traguardo 97, il monitoraggio può essere attivato nei metadati del progetto:

gcloud compute project-info add-metadata \
    --metadata google-monitoring-enabled=true

Al termine dell'esecuzione, il servizio node-problem-detector verrà attivato.

Utilizzare i criteri guest definiti dall'utente

Container-Optimized OS include l'agente di configurazione del sistema operativo, che utilizza le utilità di sistema del sistema operativo per mantenere lo stato della VM specificato nel criterio guest. Per informazioni dettagliate sui criteri ospite, consulta Attivare l'agente di configurazione del sistema operativo e Creare un criterio ospite. Il seguente criterio guest attiva l'agente Node Problem Detector su tutte le istanze.

recipes:
- name: recipe-enable-npd
  desiredState: INSTALLED
  installSteps:
  - scriptRun:
      interpreter: SHELL
      script: |-
        #!/bin/bash
        systemctl start node-problem-detector

Visualizzazione delle metriche raccolte

Node Problem Detector genera un elenco di metriche relative a una risorsa monitorata di istanze Compute Engine. Le metriche sono documentate nell'elenco delle metriche di monitoraggio, con prefisso compute.googleapis.com/guest/. Puoi visualizzare le metriche raccolte utilizzando Metrics Explorer di Monitoring:

  1. Nella console Google Cloud, vai a Monitoraggio o utilizza il pulsante seguente:

    Vai a Monitoring

  2. Nel riquadro di navigazione di Monitoring, fai clic su Esplora metriche.

  3. Per il tipo di risorsa, seleziona Istanza VM Compute Engine.

  4. Seleziona una metrica, ad esempio "Numero di problemi".

  5. Sul lato destro dovresti vedere grafici e statistiche. Per visualizzare il risultato per un'istanza Container-Optimized OS specifica, imposta il filtro su "instance_id=[INSTANCE_ID]", sostituendo [INSTANCE_ID] con l'ID dell'istanza desiderata.

Disabilitazione del monitoraggio dello stato di integrità

Per disattivare il servizio già attivato tramite cloud-config o tramite lo script di avvio,rimuovi il passaggio systemctl start node-problem-detector e riavvia l'istanza del sistema operativo ottimizzato per i contenitori. Se abilitato dai metadati, assicurati che la chiave google-monitoring-enabled sia impostata su false.