Genaue Zeit für U4 Compute Engine-Instanzen konfigurieren
Auf dieser Seite wird beschrieben, wie Sie die genaue Zeit für eine U4-Compute Engine-Instanz konfigurieren und wie Sie das Monitoring konfigurieren, damit Sie die Genauigkeit der Zeitsynchronisierung sehen können.
Funktionsweise
Google Cloud Die ULL-Lösung (Ultra Low Latency) verwendet das Firefly-Protokoll zur Taktzeit-Synchronisierung, um eine Synchronisierung auf Nanosekundenebene zu ermöglichen. Firefly führt automatisch die folgenden Schritte aus:
- Führt eine interne Synchronisierung durch, um die Uhren der physischen Netzwerkschnittstellen (NICs) aller U4-Instanz-Hostserver miteinander zu synchronisieren.
- Führt eine externe Synchronisierung durch, um die physischen NIC-Uhren aller U4-Instanz-Hostserver mit der koordinierten Weltzeit (UTC) zu synchronisieren.
Da die physischen NIC-Uhren von Hostservern, auf denen U4-Instanzen ausgeführt werden, automatisch von Firefly synchronisiert werden, können Sie die genaue Zeit für Ihre Instanz konfigurieren, indem Sie die Systemuhr der Instanz mit der physischen NIC-Uhr des Hostservers synchronisieren.
Weitere Informationen zu Firefly finden Sie im Google Cloud Blogbeitrag Understanding the Firefly clock synchronization protocol.
Hinweis
Bevor Sie die genaue Zeit für U4 Compute Engine-Instanzen konfigurieren, lesen Sie die folgenden Abschnitte.
U4-Instanz mit dem erforderlichen Image erstellen
Erstellen Sie eine U4-Compute Engine-Instanz mit dem von Google bereitgestellten Image für Tests. Wählen Sie das Verfahren aus, das Ihrem Anwendungsfall entspricht:
- Informationen zum Erstellen einer U4P- oder U4C-Instanz finden Sie unter ULL Compute Engine-Instanzen erstellen.
- Informationen zum Erstellen einer U4S-Instanz finden Sie unter Nicht-ULL-Compute Engine-Instanzen für zusätzliche Arbeitslasten erstellen.
Prüfen, ob keine anderen Dienste zur Synchronisierung der Uhrzeit ausgeführt werden
In den Verfahren auf dieser Seite wird chrony als empfohlener Client für die Uhrzeitsynchronisierung verwendet. Bevor Sie beginnen, sollten Sie sicherstellen, dass auf Ihrer Instanz keine anderen Zeitsynchronisierungsdienste wie ntpd, systemd-timesyncd oder phc2sys ausgeführt werden. Unerwartete Interaktionen mit diesen Diensten können zu Fehlern in Ihrer chrony-Konfiguration führen.
In chrony-Version 4.7 und höher können Sie das chronyd-Warnungslog nach anderen Diensten zur Uhrzeitsynchronisierung durchsuchen, indem Sie den folgenden Befehl ausführen:
journalctl -u chronyd
Wenn ein anderer Dienst zur Synchronisierung der Uhrzeit ausgeführt wird, enthält die Ausgabe eine Warnmeldung wie die folgende: System clock interference detected (another NTP client?).
chrony so konfigurieren, dass sie erst geladen wird, wenn die Netzwerktreiber stabil sind
In einigen Fällen wird systemd möglicherweise geladen, bevor die Initialisierung der Treiber der Netzwerkschnittstelle abgeschlossen ist. Dies kann dazu führen, dass chrony nicht gestartet werden kann, weil das PTP-Hardwareuhr-Gerät (PHC) nicht initialisiert werden kann.chrony
Um das oben genannte Problem zu vermeiden, überschreiben Sie die chrony-Gerätedatei von systemd, um zu warten, bis PHC-Geräte bereit sind:
Führen Sie den Bearbeitungsbefehl aus:
systemctl edit chronyd
Fügen Sie den Überschreibungsbefehl hinzu, der Ihrem Instanztyp entspricht:
Für U4P- und U4C-Instanzen:
[Unit] After=dev-ptp0.device dev-ptp1.device dev-ptp2.device Requires=dev-ptp0.device dev-ptp1.device dev-ptp2.device
Für U4S-Instanzen:
[Unit] After=dev-ptp0.device Requires=dev-ptp0.device
Starten Sie den Dienst neu. Mit dem Befehl
systemctl edit, den Sie zuvor ausgeführt haben, wurde der Daemon automatisch neu geladen. Wir empfehlen Ihnen jedoch, den folgenden Befehl auszuführen, um sicherzustellen, dasschronynach Ihren Änderungen ausgeführt wird.systemctl restart chronyd
chrony für die Verwendung der mit Firefly synchronisierten physischen NIC-Uhr konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie chrony konfigurieren, um die Systemuhr Ihrer Instanz mit der physischen NIC-Uhr auf dem Hostserver Ihrer Instanz zu synchronisieren, die bereits von Firefly synchronisiert wird.
Die virtuellen Netzwerkschnittstellen (vNICs) Ihrer U4-Instanz, wie im Gastbetriebssystem dargestellt (z. B. eth0), werden physischen NICs auf dem Hostserver der Instanz zugeordnet. Eine bestimmte virtuelle NIC kann über das entsprechende PTP-Hardwareuhrgerät (PHC) auf die physische NIC-Uhr zugreifen:
PHC-Gerätenamen unter Linux haben das folgende Format:
/dev/ptpNUMBER, wobeiNUMBERvom Linux-Kernel entsprechend der Initialisierungsreihenfolge des Geräts bestimmt wird. Beispiele für PHC-Gerätenamen:/dev/ptp0,/dev/ptp1,/dev/ptp2.Wenn Sie eine physische NIC-Uhr als Quelle für die Synchronisierung angeben möchten, muss die
chrony-Konfiguration das entsprechende PHC-Gerät verwenden oder darauf verweisen.
In den folgenden Abschnitten finden Sie Beispiele für die Konfiguration von chrony gemäß den oben genannten Anforderungen. Sehen Sie sich den Abschnitt an, der Ihrem Instanztyp und Ihrer chrony-Version entspricht:
chrony4.7 und höher auf U4P- und U4C-Instanzen konfigurierenchrony4.6.1 und niedriger auf U4P- und U4C-Instanzen konfigurierenchrony4.7 und höher auf U4S-Instanzen konfigurieren
chrony 4.7 und höher auf U4P- und U4C-Instanzen konfigurieren
In chrony-Version 4.7 und höher kann ein vNIC-Name (z. B. eth0) als Taktquelle angegeben werden. Er wird automatisch in das entsprechende PTP-Hardwaretaktgerät (PHC) aufgelöst, das den physischen NIC-Takt darstellt.
So konfigurieren Sie chrony Version 4.7 und höher auf einer U4P- oder U4C-Instanz:
Fügen Sie der Konfigurationsdatei
chrony,/etc/chrony.conf, Folgendes hinzu. Die Datei darf nur die folgende Konfiguration enthalten. Entfernen oder überschreiben Sie alle vorhandenen Inhalte der Datei.# Record the rate at which the system clock gains/loses time. driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 micro-second. makestep 0.0000001 3 # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. log measurements statistics tracking refclocks # U4 Compute Engine instance clocks are 200ppb accurate maxclockerror 0.2 # Configure all clocks for tracking, but select only one of them as source. refclock PHC eth0:nocrossts poll -1 noselect refclock PHC eth1:nocrossts poll -1 refclock PHC eth2:nocrossts poll -1 noselect # The following lines opportunistically enable Precision Time Measurement (PTM) based clock synchronization. # Note that PTM can potentially result in a (constant) clock skew of up to 700 nanoseconds # which is not accounted for in chrony's accuracy metrics. refclock PHC eth0 poll -1 noselect refclock PHC eth1 poll -1 noselect refclock PHC eth2 poll -1 noselect
Starten Sie
chronyneu, um die Konfiguration anzuwenden:systemctl restart chronyd
chronyprotokolliert Statistiken zur Uhrensynchronisierung in/var/log/chrony/tracking.logund verwendet dabei die PTP-Hardwareuhr voneth1als Zeitquelle.
chrony 4.6.1 und früher auf U4P- und U4C-Instanzen konfigurieren
Für chrony-Versionen 4.6.1 und früher müssen Sie den Gerätenamen der PTP-Hardwareuhr (PHC) manuell in Ihrer Konfigurationsdatei angeben.
So konfigurieren Sie chrony-Versionen 4.6.1 und früher auf einer U4P- oder U4C-Instanz:
Rufen Sie die Indexnummer des PHC-Geräts ab, das einer vNIC zugeordnet ist. Im folgenden Beispiel wird
eth0verwendet.ethtool -T eth0
Prüfen Sie die Ausgabe auf
PTP Hardware Clock:NUMBER.In dieser Beispielausgabe wird
PTP Hardware Clock: 1angezeigt, was/dev/ptp1entspricht.Time stamping parameters for eth0: Capabilities: hardware-receive software-receive software-system-clock hardware-raw-clock PTP Hardware Clock: 1 Hardware Transmit Timestamp Modes: off Hardware Receive Filter Modes: none all
Fügen Sie der Konfigurationsdatei
chrony,/etc/chrony.conf, Folgendes hinzu. Die Datei darf nur die folgende Konfiguration enthalten. Entfernen oder überschreiben Sie alle vorhandenen Inhalte der Datei.Die
ethtool-Ausgabe im vorherigen Schritt hat gezeigt, dasseth0/dev/ptp1verwendet. Im folgenden Beispiel wird die Systemuhr mit der entsprechenden physischen NIC-Uhr füreth0synchronisiert, indemrefclock PHC /dev/ptp1:nocrossts poll -1angegeben wird.# Record the rate at which the system clock gains/loses time. driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 micro-second. makestep 0.0000001 3 # Enable kernel synchronization of the real-time clock (RTC). rtcsync # Save NTS keys and cookies. ntsdumpdir /var/lib/chrony # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. log measurements statistics tracking refclocks # U4 Compute Engine instance clocks are 200ppb accurate maxclockerror 0.2 # Configure all clocks for tracking, but select only one of them as source. refclock PHC /dev/ptp0:nocrossts poll -1 noselect refclock PHC /dev/ptp1:nocrossts poll -1 refclock PHC /dev/ptp2:nocrossts poll -1 noselect # The following lines opportunistically enable Precision Time Measurement (PTM) based clock synchronization. # Note that PTM can potentially result in a (constant) clock skew of up to 700 nanoseconds # which is not accounted for in chrony's accuracy metrics. refclock PHC /dev/ptp0 poll -1 noselect refclock PHC /dev/ptp1 poll -1 noselect refclock PHC /dev/ptp2 poll -1 noselect
Starten Sie
chronyneu, um die Konfiguration anzuwenden:systemctl restart chronyd
chronyprotokolliert Statistiken zur Uhrensynchronisierung in/var/log/chrony/tracking.logund verwendet dabei die PTP-Hardwareuhr voneth0als Zeitquelle.
chrony 4.7 und höher auf U4S-Instanzen konfigurieren
Wir empfehlen, für U4S-Instanzen chrony-Versionen 4.7 und höher zu verwenden.
Bei Verwendung älterer Versionen kann es häufig zu Fehlern kommen, da das Compute Engine-Gerät zur Zeitsynchronisierung für virtuelle Maschinen (VM) (ptp_kvm) Änderungen an den Indexnummern von PTP-Hardwareuhrgeräten (PHC) verursachen kann.
Diese Beispielkonfiguration für U4S-Instanzen ähnelt der für U4P- und U4C-Instanzen, weist aber die folgenden Unterschiede auf:
- Dieses Beispiel enthält eine einzelne vNIC. Eine U4S-Instanz kann mehrere vNICs haben, aber alle vNICs werden von derselben physischen NIC unterstützt und greifen auf denselben physischen NIC-Takt zu.
- Präzise Zeitmessung (PTM) ist nicht verfügbar.
So konfigurieren Sie chrony-Versionen 4.7 und höher auf einer U4S-Instanz:
Fügen Sie der Konfigurationsdatei
chrony,/etc/chrony.conf, Folgendes hinzu. Die Datei darf nur die folgende Konfiguration enthalten. Entfernen oder überschreiben Sie alle vorhandenen Inhalte der Datei.# Record the rate at which the system clock gains/loses time. driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 micro-second. makestep 0.0000001 3 # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. log measurements statistics tracking refclocks # U4 Compute Engine instance clocks are 200ppb accurate maxclockerror 0.2 # Configure all clocks for tracking, but select only one of them as source. refclock PHC eth0:nocrossts poll -1
Starten Sie
chronyneu, um die Konfiguration anzuwenden:systemctl restart chronyd
chronyprotokolliert Statistiken zur Uhrensynchronisierung in/var/log/chrony/tracking.logund verwendet dabei die PTP-Hardwareuhr voneth0als Zeitquelle.
chrony-Konfiguration prüfen
Führen Sie den folgenden Befehl aus, um zu prüfen, ob chrony richtig konfiguriert ist:
chronyc sourcestats
Eine erfolgreiche Konfiguration führt zu einer Ausgabe, die in etwa so aussieht:
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ============================================================================== PHC0 5 3 2 -0.002 0.014 +9ns 2ns PHC1 5 3 2 -0.003 0.007 -0ns 1ns PHC2 5 3 2 -0.004 0.016 +33ns 2ns PHC3 5 5 2 +0.002 0.078 +135ns 10ns PHC4 5 3 2 -0.005 0.077 +130ns 9ns PHC5 5 5 2 -0.006 0.131 +123ns 16ns
Wenn der Befehl eine unerwartete Ausgabe zurückgibt, lesen Sie den Abschnitt Fehlerbehebung.
chrony-Konfiguration ändern
Wenn Sie ändern möchten, mit welcher physischen NIC die Systemuhr Ihrer Instanz synchronisiert werden soll, können Sie die Konfiguration so aktualisieren:
- Entfernen Sie
noselectaus der Zeile, die den Namen der virtuellen NIC enthält, für die Sie die entsprechende physische NIC-Uhr verwenden möchten. - Fügen Sie
noselectder Zeile hinzu, die den Namen der virtuellen NIC enthält, für die Sie die Verwendung der entsprechenden physischen NIC-Uhr beenden möchten. - Wenden Sie die neue Konfiguration an, indem Sie
chronydneu starten:systemctl restart chronyd.
Zeitsynchronisierung überwachen
In diesem Abschnitt werden die Messwerte beschrieben, die für die Zeitsynchronisierung verfügbar sind, und wie Sie sie verwenden können, um die Genauigkeit der Zeitsynchronisierung zu überwachen.
Verfügbare Messwerte für die Zeitsynchronisierung
Sie können die folgenden Messwerte verwenden, um die Zeitsynchronisierung zu überwachen:
| Messung | Verfügbarer Messwert und Beschreibung |
|---|---|
| Instanzsystemuhr mit physischer NIC-Uhr synchronisieren |
logging.googleapis.com/user/phc-clock-max-error
Dieser Messwert gibt an, wie genau die Systemuhr der Instanz mit der Uhr der physischen NIC auf dem Hostserver synchronisiert ist. Sie müssen diesen Messwert konfigurieren, indem Sie ihn über den Ops-Agent erfassen und einen logbasierten Messwert erstellen, wie unter Benutzerdefinierten Messwert für die Systemuhr der Instanz konfigurieren beschrieben. Dadurch wird auch ein benutzerdefiniertes Dashboard erstellt. Außerdem können Sie diesen Messwert in den unter Cloud Monitoring-Messwerte verwenden beschriebenen Verfahren verwenden. |
| Physische NIC-Uhr auf UTC einstellen |
compute.googleapis.com/instance/time/firefly_utc_traceable_uncertainty
Dieser Messwert gibt die maximale Fehlergrenze der physischen NIC-Uhr im Vergleich zur tatsächlichen UTC-Zeit an. Sie wird automatisch an Cloud Monitoring gemeldet. Sie können diesen Messwert aufrufen, Benachrichtigungsrichtlinien definieren und benutzerdefinierte Dashboards erstellen, wie unter Cloud Monitoring-Messwerte verwenden beschrieben. |
| Allgemeiner Status der physischen NIC-Uhr |
compute.googleapis.com/instance/time/firefly_nic_sync_healthy
Dieser boolesche Messwert gibt den allgemeinen Zustand der physischen NIC-Uhr an, einschließlich der Synchronisierung zwischen NICs und zwischen NIC und UTC. Sie wird automatisch an Cloud Monitoring gemeldet. Sie können diesen Messwert aufrufen, Benachrichtigungsrichtlinien definieren und benutzerdefinierte Dashboards erstellen, wie unter Cloud Monitoring-Messwerte verwenden beschrieben. |
Informationen zur Aufbewahrungsdauer von Messwertdaten in Cloud Monitoring finden Sie unter Datenaufbewahrung in Kontingente und Limits für Cloud Monitoring. Informationen zum Exportieren von Messwerten für die Langzeitanalyse finden Sie in der Dokumentation zum Cloud Architecture Center unter Cloud Monitoring-Messwerte exportieren.
Benutzerdefinierten Messwert für die Systemuhr der Instanz konfigurieren
In diesem Abschnitt finden Sie eine Beispielkonfiguration für das Monitoring, die Folgendes bewirkt:
- Konfiguriert den Ops-Agent so, dass das Protokoll von
chronyfür die Synchronisationsgenauigkeit aus Ihrer Instanz erfasst wird. - Konfiguriert Cloud Monitoring, um den entsprechenden Log von allen Instanzen in Ihrem Projekt als logbasierten Messwert aufzunehmen.
Google Cloud Ops-Agent auf Ihrer Instanz konfigurieren
So konfigurieren Sie den Ops-Agent zum Erfassen des für die Überwachung erforderlichen Messwerts:
Installieren Sie den Ops-Agent auf Ihrer Instanz, falls noch nicht geschehen.
Fügen Sie der Datei
/etc/google-cloud-ops-agent/config.yamldie folgende Konfiguration hinzu:logging: receivers: chrony_tracking_receiver: type: files include_paths: - /var/log/chrony/tracking.log processors: chrony_tracking_processor: type: parse_regex regex: "^.*PHC.* (?<max_error>[-\d\.eE]+)$" service: pipelines: chrony_tracking_pipeline: receivers: [chrony_tracking_receiver] processors: [chrony_tracking_processor]
Starten Sie den Ops-Agent mit dem folgenden Befehl neu:
systemctl restart google-cloud-ops-agent
Logbasierten Messwert und Dashboard in Ihrem Projekt konfigurieren
Führen Sie das folgende Script zum Einrichten von Logging und Dashboard aus, um die Zeitabgleichsüberwachung für die Instanzen in Ihrem Projekt zu konfigurieren. Mit diesem Skript können Sie die folgenden Aufgaben ausführen:
- Damit werden die entsprechenden Berechtigungen für das Dienstkonto festgelegt, das dem Projekt Ihrer Instanz zugeordnet ist. Das Skript geht davon aus, dass das für die Instanzen verwendete Dienstkonto das Standarddienstkonto für das Projekt ist. Ersetzen Sie
SERVICE_ACCOUNT_EMAILbei Bedarf durch einen anderen Wert. - Er erstellt einen logbasierten Messwert, mit dem die Genauigkeit der Zeitsynchronisierung zwischen der Systemuhr der Instanz und der physischen Netzwerkkarte-Uhr auf dem Hostserver der Instanz gemessen wird.
- Es wird ein Dashboard erstellt, in dem die Genauigkeit der Zeitsynchronisierung basierend auf dem Messwert angezeigt wird.
Führen Sie das folgende Skript aus, um die vorherigen Aufgaben auszuführen. Nachdem das Skript ausgeführt wurde, können Sie im erstellten Dashboard die Daten zur Taktgenauigkeit für die Instanzen Ihres Projekts ansehen.
#!/bin/bash if [ -z "$1" ]; then echo "Usage: setup_logging.sh <project_id>" >&2 exit 1 fi PROJECT_ID="$1" PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") SERVICE_ACCOUNT_EMAIL=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com # Grant permissions: gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \ --role="roles/compute.instanceAdmin" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \ --role="roles/monitoring.metricWriter" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \ --role="roles/logging.logWriter" # Configure log-based metric METRIC_CONF=' { "name": "phc-clock-max-error", "description": "Maximum error of the VM clock from the host clock exposed by ptp_kvm", "filter": "logName=~\".*/logs/chrony_tracking_receiver\"", "metricDescriptor": { "metricKind": "DELTA", "valueType": "DISTRIBUTION", "unit": "s", "labels": [ { "key": "instance_id", "valueType": "STRING", "description": "Instance ID for the source instance" } ] }, "valueExtractor": "REGEXP_EXTRACT(jsonPayload.max_error, \"(.*)\")", "bucketOptions": { "explicitBuckets": { "bounds": [ 0.0, 1.0E-6, 5.0E-6, 1.0E-5, 1.0E-4, 0.001, 0.01, 0.1, 1.0 ] } }, "labelExtractors": { "instance_id": "REGEXP_EXTRACT(resource.labels.instance_id, \"(.*)\")" } } ' echo "$METRIC_CONF" > /tmp/clock-error-metric.json gcloud logging metrics create --project=${PROJECT_ID} phc-clock-max-error --config-from-file=/tmp/clock-error-metric.json # Create a dashboard plotting the clock accuracy DASHBOARD_CONF=' { "displayName": "Chrony Accuracy", "dashboardFilters": [], "labels": {}, "mosaicLayout": { "columns": 48, "tiles": [ { "height": 28, "width": 28, "widget": { "xyChart": { "chartOptions": { "displayHorizontal": false, "mode": "COLOR" }, "dataSets": [ { "plotType": "LINE", "targetAxis": "Y1", "timeSeriesQuery": { "prometheusQuery": "(\n histogram_quantile(\n 1,\n sum by (le, instance_id, monitored_resource) (\n increase(\n logging_googleapis_com:user_phc_clock_max_error_bucket{monitored_resource=\"gce_instance\"}[1m]\n )\n )\n ) * 1000000000\n)", "unitOverride": "ns" } } ], "thresholds": [], "yAxis": { "label": "Clock Accuracy", "scale": "LINEAR" } } } } ] } } ' echo "$DASHBOARD_CONF" > /tmp/metrics-dashboard.json gcloud monitoring dashboards create --project=${PROJECT_ID} --config-from-file=/tmp/metrics-dashboard.json
Cloud Monitoring-Messwerte verwenden
In den folgenden Abschnitten wird beschrieben, wie Sie Cloud Monitoring-Messwerte verwenden. Sie können jeden der verfügbaren Messwerte für die Zeitsynchronisierung in den folgenden Abschnitten verwenden.
Zusätzlich zur Google Cloud Konsole können Sie über die Monitoring API benutzerdefinierte Dashboards erstellen, Benachrichtigungen einrichten und Messwerte abfragen.
Messwerte in Monitoring ansehen
In diesem Abschnitt wird beschrieben, wie Sie Messwerte in Monitoring aufrufen.
Console
So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
-
Rufen Sie in der Google Cloud Console das leaderboard auf der Seite des Metrics Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Projekt von Google Cloud aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
VM instancein die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option VM-Instanz aus.
- Einen Messwert wählen Sie in den Menüs Aktive Messwertkategorien und Aktive Messwerte aus. Eine Liste der verfügbaren Messwerte finden Sie unter Verfügbare Messwerte für die Zeitsynchronisierung.
- Klicken Sie auf Übernehmen.
Verwenden Sie das Element Filter, um Filter hinzuzufügen, mit denen Zeitreihen aus den Abfrageergebnissen entfernt werden.
- Konfigurieren Sie, wie die Daten angezeigt werden.
Standardmäßig werden die Messwerte aus allen Instanzen und physischen NICs aggregiert.
So rufen Sie Messwerte pro NIC und pro Instanz auf: Wählen Sie im Element Aggregation die Option Nicht aggregiert aus.
Weitere Informationen zum Konfigurieren eines Diagramms finden Sie unter Messwerte bei Verwendung von Metrics Explorer auswählen.
Benachrichtigungsrichtlinien definieren
In diesem Abschnitt wird beschrieben, wie Sie Benachrichtigungsrichtlinien definieren.
Wenn Sie konfigurieren, wie Monitoring eine Bedingung auswertet, wenn keine Daten mehr eingehen, empfehlen wir die Option Fehlende Datenpunkte werden als Werte behandelt, die gegen die Richtlinienbedingung verstoßen, da so auch unbemerkte Datenverluste erfasst werden. Diese Einstellung führt jedoch zu fälschlicherweise positiven Benachrichtigungen, wenn eine Instanz gelöscht wird.
Console
Sie können Benachrichtigungsrichtlinien erstellen, um Messwerte zu beobachten und sich informieren zu lassen, wenn diese gegen eine Bedingung verstoßen.
-
Rufen Sie in der Google Cloud Console die Seite notifications Benachrichtigungen auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wenn Sie keine Benachrichtigungskanäle erstellt haben und Benachrichtigungen erhalten möchten, klicken Sie auf Benachrichtigungskanäle bearbeiten und fügen Sie Benachrichtigungskanäle hinzu. Kehren Sie nach dem Hinzufügen der Kanäle zur Seite Benachrichtigungen zurück.
- Klicken Sie auf der Seite Benachrichtigungen auf Richtlinie erstellen.
- Maximieren Sie zum Auswählen des Messwerts das Menü Messwert auswählen und gehen Sie dann so vor:
- Um das Menü auf relevante Einträge zu beschränken, geben Sie in die Filterleiste
VM Instanceein. Wenn nach dem Filtern des Menüs keine Ergebnisse angezeigt werden, deaktivieren Sie die Option Nur aktive Ressourcen und Messwerte anzeigen. - Wählen Sie unter Ressourcentyp die Option VM-Instanz aus.
- Wählen Sie als Messwertkategorie Instanz aus.
- Wählen Sie für Messwert einen Messwert aus der Liste unter Verfügbare Messwerte für die Zeitsynchronisierung aus.
- Klicken Sie auf Anwenden.
- Um das Menü auf relevante Einträge zu beschränken, geben Sie in die Filterleiste
- Klicken Sie auf Weiter.
- Die Einstellungen auf der Seite Benachrichtigungstrigger konfigurieren bestimmen, wann die Benachrichtigung ausgelöst wird. Wählen Sie einen Bedingungstyp aus, und geben Sie ggf. einen Schwellenwert an. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien mit Messwertschwellen erstellen.
- Klicken Sie auf Weiter.
- Optional: Klicken Sie auf Benachrichtigungskanäle, um Benachrichtigungen zu Ihrer Benachrichtigungsrichtlinie hinzuzufügen. Wählen Sie im Dialogfeld einen oder mehrere Benachrichtigungskanäle aus dem Menü aus, und klicken Sie dann auf OK.
- Optional: Aktualisieren Sie die Dauer bis zur automatischen Schließung von Vorfällen. Dieses Feld bestimmt, wann Monitoring Vorfälle ohne Messwertdaten schließt.
- Optional: Klicken Sie auf Dokumentation, und geben Sie alle Informationen an, die in einer Benachrichtigung angezeigt werden sollen.
- Klicken Sie auf Benachrichtigungsname, und geben Sie einen Namen für die Benachrichtigungsrichtlinie ein.
- Klicken Sie auf Richtlinie erstellen.
Benutzerdefinierte Monitoring-Dashboards erstellen
In diesem Abschnitt wird beschrieben, wie Sie benutzerdefinierte Dashboards erstellen.
Console
-
Öffnen Sie in der Google Cloud Console die Seite Dashboards :
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie auf Dashboard erstellen
- Optional: Aktualisieren Sie den Dashboard-Titel mit einem aussagekräftigen Namen für Ihr Dashboard.
Klicken Sie für jedes Widget, das Sie dem Dashboard hinzufügen möchten, auf Widget hinzufügen, füllen Sie das Dialogfeld aus und wählen Sie dann Übernehmen aus.
Weitere Informationen zum Hinzufügen von Widgets finden Sie auf den folgenden Seiten:
Fehlerbehebung
Beim Prüfen der chrony-Konfiguration erhalten Sie möglicherweise eine unerwartete Ausgabe, z. B. die folgende Ausgabe, die angibt, dass chrony nicht gestartet werden konnte:
506 Cannot talk to daemon
Zur Fehlerbehebung können Sie die journald-Logs für chrony prüfen:
journalctl -u chronyd.service
Die folgende Beispielausgabe zeigt einen Fehler, der auftritt, wenn Sie eine Konfiguration anwenden, die für chrony 4.7 und höher vorgesehen ist, während eine frühere Version von chrony auf Ihrer Instanz installiert ist.
Feb 19 06:19:42 host-name systemd[1]: Starting chronyd.service - NTP client/server... Feb 19 06:19:42 host-name chronyd[35160]: chronyd version 4.6.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG) Feb 19 06:19:42 host-name chronyd[35160]: Setting filter length for PHC0 to 1 Feb 19 06:19:42 host-name chronyd[35160]: Could not open eth0 : No such file or directory Feb 19 06:19:42 host-name chronyd[35160]: Fatal error : Could not open PHC Feb 19 06:19:42 host-name chronyd[35157]: Could not open PHC Feb 19 06:19:42 host-name systemd[1]: chronyd.service: Control process exited, code=exited, status=1/FAILURE Feb 19 06:19:42 host-name systemd[1]: chronyd.service: Failed with result 'exit-code'. Feb 19 06:19:42 host-name systemd[1]: Failed to start chronyd.service - NTP client/server.
Beschränkungen
Beachten Sie die folgenden Einschränkungen:
- Die Messwerte
firefly_utc_traceable_uncertaintyundfirefly_nic_sync_healthysind nur für U4P- und U4C-Instanzen verfügbar. Diese Messwerte sind für U4S-Instanzen nicht verfügbar.