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 VMIMAGE
: 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:
Wählen Sie in der Cloud Console Monitoring aus oder verwenden Sie die folgende Schaltfläche:
Klicken Sie im Monitoring-Navigationsbereich auf Metrics Explorer.
Wählen Sie als Ressourcentyp Compute Engine-VM-Instanz aus.
Wählen Sie einen Messwert aus, zum Beispiel "Problemanzahl".
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.