Systemzustand mit Node Problem Detector überwachen

Ab Meilenstein 77 enthält Container-Optimized OS den Agent Node Problem Detector. Mit dieser Funktion können Sie den Systemzustand von COS-Instanzen kontrollieren. Der Node Problem Detector überwacht den Instanzstatus und meldet Cloud Monitoring Messwerte, die sich auf den Status beziehen, z. B. Kapazitäts- und Fehlermesswerte, die Sie dann mit den Dashboards der Operations-Suite von Google Cloud visualisieren können. Erfasste Messwerte aus der Standardkonfiguration sind kostenlos. Google verwendet aggregierte Messwerte, um Knotenprobleme zu verstehen und die Zuverlässigkeit von Container-Optimized OS zu verbessern.

Die zu exportierenden Messwerten sind beim Agent bereits konfiguriert. Das Anpassen von Messwerten für den integrierten Agent wird derzeit nicht unterstützt. Node Problem Detector ist eine Open-Source-Software. Sie können den Quellcode und die Konfigurationen in den entsprechenden Quell-Repositories einsehen.

Aktivieren des Zustands-Monitorings

Der Knoten-Problemerkennungs-Agent ist standardmäßig beim Booten deaktiviert. Sie können dieses Feature mit folgendem Befehl aktivieren:

Startskript verwenden

Sie können das Knotenproblemerkennung mithilfe eines Startskripts aktivieren.

cloud-init verwenden

Im cloud-init-Beispiel werden die Grundlagen der Konfiguration einer Container-Optimized OS-Instanz erläutert. Sie können cloud-init verwenden, um die Integritätsüberwachung mit dem folgenden cloud-config-Beispiel zu aktivieren:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Metadaten verwenden

In Container-Optimized OS Milestone 88 und höher kann auch das Knoten-Problemerkennungs-Objekt aktiviert werden. Dazu setzen Sie den Wert google-monitoring-enabled im Abschnitt "Benutzerdefinierte Metadaten" auf true.

So aktivieren Sie das Monitoring beim Erstellen einer Instanz:

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

So aktivieren Sie das Monitoring in einer vorhandenen Instanz:

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

Nach der Ausführung wird der Knoten-Problemerkennung-Dienst aktiviert.

Benutzerdefinierte Gastrichtlinien verwenden

Container-Optimized OS enthält einen OS Config-Agent, der Betriebssystemsystemfunktionen verwendet, um den Status für die in der Gastrichtlinie angegebene VM zu verwalten. Weitere Informationen zu Gastrichtlinien finden Sie unter OS Config-Agent aktivieren und Gastrichtlinie erstellen. Mit der folgenden Gastrichtlinie wird der Knoten-Problemerkennungs-Agent auf allen Instanzen aktiviert.

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

Anzeigen der gesammelten Messwerte

Der Node Problem Detector meldet eine Liste von Messwerten für eine überwachte Compute Engine-Instanzressource. Die Messwerte sind in der Liste der Monitoring-Messwerte mit dem Präfix compute.googleapis.com/guest/ dokumentiert. Die erfassten Messwerte können Sie mit dem Monitoring Metrics Explorer aufrufen:

  1. Wählen Sie in der Google Cloud Console Monitoring aus oder verwenden Sie die folgende Schaltfläche:

    Zu Monitoring

  2. Klicken Sie im Monitoring-Navigationsbereich auf Metrics Explorer.

  3. Wählen Sie als Ressourcentyp Compute Engine-VM-Instanz aus.

  4. Wählen Sie einen Messwert aus, zum Beispiel "Problemanzahl".

  5. Auf der rechten Seite sollten Diagramme und Statistiken angezeigt werden. Wenn Sie das Ergebnis für eine bestimmte Container-Optimized OS-Instanz aufrufen möchten, setzen Sie den Filter auf "instance_id=[INSTANCE_ID]" und ersetzen Sie [INSTANCE_ID] durch die ID der gewünschten Instanz.

Deaktivieren des Status-Monitorings

Wenn Sie den Dienst deaktivieren möchten, der bereits über das cloud-config oder über Ihr Startskript aktiviert wurde, entfernen Sie den Schritt systemctl start node-problem-detector und starten Sie anschließend die Container-Optimized OS-Instanz neu. Achten Sie darauf, dass der Schlüssel google-monitoring-enabled auf false gesetzt ist, sofern dieser durch Metadaten aktiviert ist.