Monitoraggio dell'integrità del sistema con rilevatore problemi nodo

A partire da Milestone 77, Container-Optimized OS include l'agente Node Problem Detector. Puoi utilizzare questa funzionalità per monitorare l'integrità del sistema delle istanze COS. Il rilevatore di problemi dei nodi monitora l'integrità dell'istanza e segnala le metriche correlate a integrità a Cloud Monitoring, incluse le metriche di capacità ed errori che puoi visualizzare con le dashboard di Google Cloud Observability. Le metriche raccolte dalla configurazione predefinita sono gratuite. Google utilizzerà 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. La personalizzazione delle metriche dei report per l'agente integrato non è al momento supportata. Il rilevatore di problemi dei nodi è un software open source. Puoi esaminare il relativo codice sorgente e le relative configurazioni nei rispettivi repository di codice sorgente.

Abilitazione del monitoraggio dello stato di integrità in corso...

L'agente Node Problem Detector è disabilitato per impostazione predefinita al momento dell'avvio. Puoi attivare questa funzionalità utilizzando:

Utilizzo di uno script di avvio

Puoi abilitare il rilevatore di problemi dei nodi utilizzando uno script di avvio.

Utilizzo di cloud-init

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

#cloud-config

runcmd:
- systemctl start node-problem-detector

Utilizzo dei metadati

Nel programma Container-Optimized OS Milestone 88 e versioni successive, è possibile abilitare il rilevatore dei problemi dei nodi anche impostando il valore google-monitoring-enabled su true nella sezione dei metadati personalizzati.

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

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --metadata google-monitoring-enabled=true

Per abilitare il monitoraggio in un'istanza esistente:

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

A partire dalla versione milestone 97, il monitoraggio può essere abilitato nei metadati del progetto:

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

Dopo l'esecuzione, il servizio di rilevamento dei problemi dei nodi verrà abilitato.

Utilizzo dei criteri guest definiti dall'utente

Container-Optimized OS include l'agente OS Config, che utilizza le utilità di sistema del sistema operativo per mantenere lo stato della VM specificata nel criterio guest. Per maggiori dettagli sui criteri guest, vedi Abilitare l'agente OS Config e Creare un criterio guest. Il seguente criterio guest abilita 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

Visualizzare le metriche raccolte

Il rilevatore dei problemi dei nodi segnala un elenco di metriche relative a una risorsa monitorata dell'istanza Compute Engine. Le metriche sono documentate nell'elenco delle metriche di Monitoring, con prefisso compute.googleapis.com/guest/. Puoi visualizzare le metriche raccolte utilizzando Monitoring Metrics Explorer:

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

    Vai a Monitoring

  2. Nel riquadro di navigazione di Monitoring, fai clic su Metrics Explorer.

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

  4. Seleziona una metrica, ad esempio "Conteggio problemi".

  5. Dovresti visualizzare grafici e statistiche a destra. Per visualizzare il risultato per una specifica istanza di Container-Optimized OS, 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 disabilitare il servizio che è già stato abilitato tramite cloud-config o tramite lo script di avvio, rimuovi il passaggio systemctl start node-problem-detector, quindi riavvia l'istanza del sistema operativo Container-Optimized OS. Se attivata dai metadati, assicurati che la chiave google-monitoring-enabled sia impostata su false.