Config Sync mit Cloud Monitoring überwachen

Auf dieser Seite wird beschrieben, wie Messwerte von Config Sync an Cloud Monitoring gesendet werden.

Config Sync verwendet OpenTelemetry zum Erstellen, Aufzeichnen und Exportieren von Messwerten. Auf dieser Seite wird erläutert, wie Cloud Monitoring-Messwerte konfiguriert werden. Weitere Möglichkeiten zum Exportieren von Messwerten finden Sie unter Config Sync mit Prometheus überwachen oder Config Sync mit benutzerdefiniertem Monitoring überwachen.

Zum Konfigurieren von Cloud Monitoring-Messwerten ist die Berechtigung iam.serviceAccounts.setIamPolicy für das Projekt erforderlich. Beispiele zum Aufrufen dieser Messwerte finden Sie unter Beispiele für Fehlerbehebungsverfahren und im Artikel OpenCensus-Messwerte in Cloud Monitoring.

Berechtigung zum Schreiben von Messwerten für Cloud Monitoring gewähren

Zum Konfigurieren von Cloud Monitoring für Config Sync müssen Sie einem Dienstkonto in Ihrem Projekt die Berechtigung zum Schreiben von Messwerten erteilen. Die erforderliche Berechtigung hängt davon ab, ob Workload Identity aktiviert ist.

Cloud Monitoring mit Workload Identity konfigurieren

Wenn Workload Identity aktiviert ist, führen Sie den folgenden Befehl aus, um Config Sync das Senden von Messwerten zu erlauben:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --role=roles/monitoring.metricWriter \
   --member="serviceAccount:PROJECT_ID.svc.id.goog[config-management-monitoring/default]"

Ersetzen Sie PROJECT_ID durch die Projekt-ID des Clusters.

Cloud Monitoring ohne Workload Identity konfigurieren

Wenn Workload Identity nicht aktiviert ist und Config Sync in einer Google Cloud-Umgebung ausgeführt wird, können Sie das Compute Engine-Standarddienstkonto verwenden. Wenn die automatische Zuweisung der Rolle „Bearbeiter“ (roles/editor) deaktiviert ist, weisen Sie dem Dienstkonto mit dem folgenden Befehl die IAM-Rolle „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) zu:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --role=roles/monitoring.metricWriter \
   --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • PROJECT_NUMBER: Ihre Projektnummer.

Standardliste mit Messwerten in Cloud Monitoring

Name Typ
api_duration_seconds Verteilung
apply_duration_seconds Verteilung
apply_operations_total Anzahl
declared_resources Letzter Wert
internal_errors_total Anzahl
last_sync_timestamp Letzter Wert
pipeline_error_observed Letzter Wert
reconciler_errors Letzter Wert
resource_fights_total Anzahl
reconcile_duration_seconds Verteilung
resource_group_total Letzter Wert
resource_count Letzter Wert
ready_resource_count Letzter Wert
resource_ns_count Letzter Wert
cluster_scoped_resource_count Letzter Wert
kcc_resource_count Gauge

Folgen Sie der Anleitung zum Patchen der Otel-Collector-Bereitstellung mit ConfigMap, um die Zulassungsliste für Messwerte in Cloud Monitoring zu ändern.

Beispiel für Debugging-Verfahren für Cloud Monitoring

Die folgenden Cloud Monitoring-Beispiele veranschaulichen einige Muster für die Verwendung von OpenCensus-Messwerten, um Probleme im Zusammenhang mit Config Sync zu erkennen und zu diagnostizieren, wenn Sie die RootSync- und RepoSync APIs verwenden.

Messwertformat

In Cloud Monitoring haben Messwerte das folgende Format: custom.googleapis.com/opencensus/config_sync/METRIC.

Dieser Messwertname besteht aus folgenden Komponenten:

  • custom.googleapis.com: Alle benutzerdefinierten Messwerte haben dieses Präfix
  • opencensus: Dieses Präfix wird hinzugefügt, da Config Sync die OpenCensus-Bibliothek verwendet
  • config_sync/: Messwerte, die Config Sync in Cloud Monitoring exportiert, haben dieses Präfix
  • METRIC: der Name des abzufragenden Messwerts

Messwerte nach Abgleich abfragen

RootSync- und RepoSync-Objekte sind mit allgemeinen Messwerten instrumentiert, die Ihnen Einblick in die Funktionsweise von Config Sync im Cluster geben. Fast alle Messwerte sind mit dem Abgleichernamen gekennzeichnet, sodass Sie sehen können, ob Fehler aufgetreten sind, und Sie können in Cloud Monitoring Benachrichtigungen für sie einrichten.

Ein Abgleich ist ein Pod, der als Deployment bereitgestellt wird. Damit werden Manifeste aus einer Source of Truth mit einem Cluster synchronisiert. Wenn Sie ein RootSync-Objekt erstellen, erstellt Config Sync einen Abgleich mit dem Namen root-reconciler-ROOT_SYNC_NAME oder root-reconciler, wenn der Name von RootSync root-sync ist. Wenn Sie ein RepoSync-Objekt erstellen, erstellt Config Sync einen Abgleich mit dem Namen ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH oder ns-reconciler-NAMESPACE, wenn der Name von RepoSync repo-sync lautet, wobei NAMESPACE der Namespace ist, in dem Sie das RepoSync-Objekt erstellt haben.

Das folgende Diagramm zeigt, wie Abgleichs-Pods funktionieren, wenn die Quelle der Wahrheit ein Git-Repository ist:

Abgleichsablauf

Führen Sie die folgenden Aufgaben aus, um beispielsweise bei Verwendung von Cloud Monitoring nach dem Namen der Abgleicher zu filtern:

  1. Wechseln Sie in der Google Cloud Console zu Monitoring:

    Zu Monitoring

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

  3. Fügen Sie in der Drop-down-Liste Messwert auswählen Folgendes hinzu: custom.googleapis.com/opencensus/config_sync/reconciler_errors.

  4. Wählen Sie in der Drop-down-Liste Filter die Option Abgleich aus. Ein Filterfeldfeld wird geöffnet.

  5. Wählen Sie im Filterfeld das erste Feld im Feld = und im zweiten Feld den Namen des Abgleichers aus, z. B. root-reconciler.

  6. Klicken Sie auf Anwenden.

Sie können jetzt Messwerte für Ihre RootSync-Objekte abrufen.

Eine Anleitung zum Filtern nach einem bestimmten Datentyp finden Sie unter Daten filtern.

Config Sync-Vorgänge nach Komponente und Status abfragen

Wenn Sie die RootSync und RepoSync APIs aktiviert haben, übernehmen die Abgleiche den Import und die Beschaffung aus einer „Source of Truth“ und die Synchronisierung mit einem Cluster. Der Messwert reconciler_errors ist nach Komponenten gekennzeichnet, damit Sie sehen können, wo Fehler aufgetreten sind.

Führen Sie die folgenden Aufgaben aus, um beispielsweise bei Verwendung von Cloud Monitoring nach Komponenten zu filtern:

  1. Wechseln Sie in der Google Cloud Console zu Monitoring:

    Zu Monitoring

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

  3. Fügen Sie in der Drop-down-Liste Messwert auswählen custom.googleapis.com/opencensus/config_sync/reconciler_errors hinzu.

  4. Wählen Sie in der Drop-down-Liste Filter die Option Komponente aus. Ein Filterfeldfeld wird geöffnet.

  5. Wählen Sie im Feld mit den Filterfeldern im ersten Feld = und im zweiten source aus.

  6. Klicken Sie auf Anwenden.

Sie können jetzt Fehler sehen, die beim Abrufen von einer „Source of Truth“ für Ihre Abgleicher aufgetreten sind.

Sie können auch die Messwerte für den Quell- und Synchronisierungsprozess selbst prüfen, indem Sie die folgenden Messwerte abfragen und nach dem Tag status filtern:

custom.googleapis.com/opencensus/config_sync/parser_duration_seconds
custom.googleapis.com/opencensus/config_sync/apply_duration_seconds
custom.googleapis.com/opencensus/config_sync/remediate_duration_seconds