Systemzustand mit Node Problem Detector überwachen

Ab Meilenstein 77 umfasst Container-Optimized OS Erkennung von Knotenproblemen . Mit dieser Funktion können Sie den Systemzustand von COS-Instanzen kontrollieren. Node Problem Detector überwacht den Instanzzustand und meldet an Cloud Monitoring senden, einschließlich Kapazitäts- und Fehlermesswerten, die Sie dann in Google Cloud-Dashboards für die Beobachtbarkeit 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. Weitere Informationen Quellcode und Konfigurationen in ihren jeweiligen Quell-Repositories.

Aktivieren des Zustands-Monitorings

Der "Node Problem Detector"-Agent ist beim Start standardmäßig deaktiviert. Sie können dieses Feature durch folgendes 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. Im folgendem cloud-config-Beispiel nutzen Sie cloud-init, um die Statusüberwachung zu aktivieren:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Metadaten verwenden

In Container-Optimized OS Milestone 88 und höher kann der Note Problem Detector auch aktiviert werden, wenn Sie im Abschnitt der benutzerdefinierten Metadaten den Wert google-monitoring-enabled auf true setzen.

So aktivieren Sie das Monitoring beim Erstellen einer Instanz:

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

Ersetzen Sie Folgendes:

  • VM_NAME: Name der neuen VM
  • IMAGE: Eine bestimmte Version eines öffentlichen Container-Optimized OS-Images. Beispiel: --image=cos-113-18244-85-29.

So aktivieren Sie das Monitoring in einer vorhandenen Instanz:

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

Ersetzen Sie VM_NAME durch den Namen der VM.

Ab Meilenstein 97 kann das Monitoring in den Projektmetadaten aktiviert werden:

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

Nach der Ausführung wird der Node Problem Detector aktiviert.

Benutzerdefinierte Gastrichtlinien verwenden

Container-Optimized OS enthält den OS Config-Agent, der OS-Systemdienstprogramme verwendet, um den Status für die in der Gastrichtlinie angegebene VM beizubehalten. Weitere Informationen zu Gastrichtlinien finden Sie unter OS Config-Agent aktivieren und Gastrichtlinie erstellen. Die folgende Gastrichtlinie aktiviert den Node Problem Detector-Agent auf allen Instanzen.

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 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

Um den Dienst zu deaktivieren, der bereits über cloud-config oder über Ihr Startskript aktiviert wurde, entfernen Sie den systemctl start node-problem-detector-Schritt. Starten Sie dann die Container-Optimized OS-Instanz neu. Wenn der google-monitoring-enabled-Schlüssel durch Metadaten aktiviert wurde, muss er auf false gesetzt sein.