Config Sync-Messwerte

Auf dieser Seite werden die OpenTelemetry-Messwerte beschrieben, die zum Monitoring Ihrer Config Sync-Ressourcen verfügbar sind.

Preise

Config Sync-Messwerte verwenden Google Cloud Managed Service for Prometheus, um Messwerte in Cloud Monitoring zu laden. In Cloud Monitoring fallen Gebühren für die Aufnahme dieser Messwerte basierend auf der Anzahl der aufgenommenen Stichproben an.

Weitere Informationen finden Sie unter Cloud Monitoring-Preise.

So erfasst Config Sync Messwerte

Config Sync verwendet OpenCensus, um Messwerte zu erstellen und aufzuzeichnen und OpenTelemetry, um seine Messwerte in Prometheus und Cloud Monitoring zu exportieren. In den folgenden Anleitungen wird erläutert, wie Sie Messwerte exportieren:

Zum Konfigurieren des OpenTelemetry Collectors erstellt Config Sync standardmäßig eine ConfigMap mit dem Namen otel-collector. Das otel-collector-Deployment wird im Namespace config-management-monitoring ausgeführt.

Durch das Erstellen der ConfigMap otel-collector wird der prometheus-Exporter konfiguriert, der einen Messwert-Endpunkt für den Scan durch Prometheus bereitstellt.

Wenn Sie Config Sync in GKE oder in einer anderen Kubernetes-Umgebung ausführen, die mit Google Cloud -Anmeldedaten konfiguriert ist, erstellt Config Sync eine ConfigMap mit dem Namen otel-collector-google-cloud. Die otel-collector-google-cloud überschreibt die Konfiguration in der ConfigMap otel-collector. Config Sync macht alle Änderungen an den ConfigMaps otel-collector oder otel-collector-google-cloud rückgängig.

Durch das Erstellen der otel-collector-google-cloud-ConfigMap wird auch der cloudmonitoring-Exporter hinzugefügt, der Daten nach Cloud Monitoring exportiert, sowie der kubernetes-Exporter, der Daten in den internen Messwertdienst von Google exportiert. Der kubernetes-Exporter sendet ausgewählte, anonymisierte Messwerte an Google, um Config Sync zu verbessern.

In Cloud Monitoring werden die Messwerte, die Sie an dasGoogle Cloud -Projekt senden, gespeichert. Die Exporter cloudmonitoring und kubernetes verwenden dasselbeGoogle Cloud -Dienstkonto, das die IAM-Berechtigung zum Schreiben in Cloud Monitoring benötigt. Informationen zum Konfigurieren dieser Berechtigungen finden Sie unter Berechtigung zum Schreiben von Messwerten für Cloud Monitoring erteilen.

OpenTelemetry-Messwerte

Config Sync und der Resource Group Controller erfassen die folgenden Messwerte mit OpenCensus und stellen sie über den OpenTelemetry-Collector bereit . In der Spalte Tags sind Config Sync-spezifische Tags aufgeführt, die für die einzelnen Messwerte gelten. Messwerte mit Tags repräsentieren mehrere Messungen, eine für jede Kombination von Tag-Werten.

Config Sync-Messwerte

Name Typ Tags Beschreibung
api_duration_seconds Verteilung Vorgang, Status Latenzverteilung von API-Serveraufrufen
apply_duration_seconds Verteilung Status Die Latenzverteilung der Anwendung von Ressourcen, die von der "Source of Truth" auf einen Cluster deklariert wurden.
apply_operations_total Anzahl Vorgang, Status, Controller Die Gesamtzahl der Vorgänge, die ausgeführt wurden, um Ressourcen von der "Source of Truth" mit einem Cluster zu synchronisieren.
declared_resources Letzter Wert Die Anzahl der deklarierten Ressourcen, die von Git geparst wurden
internal_errors_total Anzahl Quelle Gesamtzahl der internen Fehler, denen Config Sync begegnet Der Messwert wird möglicherweise nicht in den Abfrageergebnissen angezeigt, wenn kein interner Fehler aufgetreten ist.
last_sync_timestamp Letzter Wert Status Der Zeitstempel der letzten Synchronisierung aus Git
parser_duration_seconds Verteilung Status, Trigger, Quelle Die Latenzverteilung verschiedener Phasen der Synchronisierung von der "Source of Truth" mit einem Cluster.
pipeline_error_observed Letzter Wert Name, Abgleicher, Komponente Der Status der benutzerdefinierten RootSync- und RepoSync-Ressourcen. Der Wert 1 weist auf einen Fehler hin.
reconcile_duration_seconds Verteilung Status Die Latenzverteilung der Abgleichereignisse, die vom Abgleicher verarbeitet werden
reconciler_errors Letzter Wert Komponente, Fehlerklasse Die Anzahl der Fehler, die beim Synchronisieren von Ressourcen aus der "Source of Truth" mit einem Cluster aufgetreten sind.
remediate_duration_seconds Verteilung Status Latenzverteilung von Abgleich-Ereignissen
resource_conflicts_total Anzahl Die Gesamtzahl der Ressourcenkonflikte aufgrund einer Diskrepanz zwischen den im Cache gespeicherten Ressourcen und Clusterressourcen Der Messwert wird möglicherweise nicht in den Abfrageergebnissen angezeigt, wenn kein Ressourcenkonflikt aufgetreten ist.
resource_fights_total Anzahl Die Gesamtzahl der Ressourcen, die zu häufig synchronisiert werden. Bei einem höheren Wert als null wird ein Problem angezeigt. Weitere Informationen finden Sie unter KNV2005: ResourceFightWarning. Der Messwert wird möglicherweise nicht in den Abfrageergebnissen angezeigt, wenn kein Ressourcenkonflikt stattgefunden hat.

Messwerte von Resource Group Controller

Der Resource Group Controller ist eine Komponente in Config Sync, die die verwalteten Ressourcen verfolgt und prüft, ob jede einzelne Ressource bereit oder abgeglichen ist. Folgende Messwerte sind verfügbar:

Name Typ Tags Beschreibung
rg_reconcile_duration_seconds Verteilung stallreason Die Verteilung der Zeit, die zum Abgleich einer ResourceGroup-CR benötigt wird
resource_group_total Letzter Wert Die aktuelle Anzahl der ResourceGroup-CRs
resource_count Letzter Wert resourcegroup Die Gesamtzahl der Ressourcen, die von einer ResourceGroup verfolgt werden
ready_resource_count Letzter Wert resourcegroup Die Gesamtzahl der einsatzbereiten Ressourcen in einer ResourceGroup
resource_ns_count Letzter Wert resourcegroup Die Anzahl der Namespaces, die von Ressourcen in einer ResourceGroup verwendet werden
cluster_scoped_resource_count Letzter Wert resourcegroup Die Anzahl der clusterbezogenen Ressourcen in einer ResourceGroup
crd_count Letzter Wert resourcegroup Die Anzahl der CRDs in einer ResourceGroup
kcc_resource_count Letzter Wert resourcegroup Die Gesamtzahl der KCC-Ressourcen in einer ResourceGroup
pipeline_error_observed Letzter Wert Name, Abgleicher, Komponente Der Status der benutzerdefinierten RootSync- und RepoSync-Ressourcen. Der Wert 1 weist auf einen Fehler hin.

Config Sync-Messwertlabels

Messwertlabels können zum Aggregieren von Messwertdaten in Cloud Monitoring und Prometheus verwendet werden. Sie können in der Drop-down-Liste "Gruppieren nach" in der Monitoring Console ausgewählt werden.

Weitere Informationen zum Cloud Monitoring-Label und zum Prometheus-Messwertlabel finden Sie unter Komponenten des Messwertmodells und Prometheus-Datenmodells.

Messwertlabels

Die folgenden Labels werden von Config Sync- und Resource Group Controller-Messwerten verwendet, die beim Monitoring mit Cloud Monitoring und Prometheus verfügbar sind.

Name Werte Beschreibung
operation erstellen, patchen, aktualisieren, löschen Die Art des ausgeführten Vorgangs
status Erfolg, Fehler Ausführungsstatus eines Vorgangs
reconciler Rootsync, Reposync Der Typ des Abgleichers
source parser, differ, remediator Ursache des internen Fehlers
trigger retry, watchUpdate, managementConflict, resync, reimport Der Trigger eines Abgleichsereignisses
name Der Name des Abgleichers Der Name des Abgleichers
component Parsen, Quelle, Synchronisierung, Rendering, Bereitschaft Der Name der Komponente / der aktuellen Abgleichsphase
container Abgleicher, git-sync Der Name des Containers
resource CPU, Arbeitsspeicher Der type der Ressource
controller Anwender, Remediator Name des Controllers in einem Root- oder Namespace-Abgleicher
type Beliebige Kubernetes-Ressource, z. B. ClusterRole, Namespace, NetworkPolicy, Role usw. Die Art der Kubernetes API
commit ---- Hash des letzten synchronisierten Commits

Ressourcenlabels

Für Config Sync-Messwerte, die an Prometheus und Cloud Monitoring gesendet werden, sind die folgenden Messwertlabels festgelegt, um den Quell-Pod zu identifizieren:

Name Beschreibung
k8s.node.name Der Name des Knotens, der einen Kubernetes-Pod hostet
k8s.pod.namespace Der Namespace des Pods
k8s.pod.uid Die UID des Pods
k8s.pod.ip Die IP-Adresse des Pods
k8s.deployment.name Der Name des Deployments, dem der Pod gehört

Für Config Sync-Messwerte, die von reconciler-Pods an Prometheus und Cloud Monitoring gesendet werden, sind auch die folgenden Messwertlabels festgelegt, um das RootSync- oder RepoSync zu identifizieren, das zur Konfiguration des Abgleichers verwendet wird:

Name Beschreibung
configsync.sync.kind Die Art der Ressource, die diesen Abgleicher konfiguriert: RootSync oder RepoSync
configsync.sync.name Der Name des RootSync oder RepoSync, der diesen Abgleicher konfiguriert
configsync.sync.namespace Der Namespace von RootSync oder RepoSync, der diesen Abgleicher konfiguriert

Cloud Monitoring-Ressourcenlabels

Cloud Monitoring-Ressourcenlabels werden zur Indexierung von Messwerten im Speicher verwendet. Das bedeutet, dass sie im Gegensatz zu Messwertlabels vernachlässigbare Auswirkungen auf die Kardinalität haben. Bei Messwertlabels ist die Kardinalität ein wichtiger Leistungsaspekt. Weitere Informationen finden Sie unter Überwachte Ressourcentypen.

Der Ressourcentyp k8s_container legt die folgenden Ressourcenlabels fest, um den Quellcontainer zu identifizieren:

Name Beschreibung
container_name Der Name des Containers
pod_name Der Name des Pods
namespace_name Der Namespace des Pods
location Die Region oder Zone des Clusters, in dem der Knoten gehostet wird
cluster_name Der Name des Clusters, in dem der Knoten gehostet wird
project Die ID des Projekts, in dem der Cluster gehostet wird

Filterung benutzerdefinierter Messwerte konfigurieren

Sie können die benutzerdefinierten Messwerte anpassen, die Config Sync in Prometheus, Cloud Monitoring und den internen Monitoring-Dienst von Google exportiert. Passen Sie benutzerdefinierte Messwerte an, um die enthaltenen Messwerte zu optimieren oder verschiedene Back-Ends zu konfigurieren.

Wenn Sie benutzerdefinierte Messwerte ändern möchten, erstellen Sie eine ConfigMap mit dem Namen otel-collector-custom und bearbeiten Sie sie. Wenn Sie diese ConfigMap verwenden, werden keine Änderungen, die Sie vornehmen, von Config Sync rückgängig gemacht. Wenn Sie die ConfigMaps otel-collector oder otel-collector-google-cloud ändern, macht Config Sync alle Änderungen rückgängig.

Beispiele zum Anpassen dieser ConfigMap finden Sie in der Open-Source-Dokumentation zu Config Sync unter Custom Metric Filtering (Benutzerdefinierte Messwertfilterung).

Informationen zum Messwert "pipeline_error_observing"

Der Messwert pipeline_error_observed ist ein Messwert, mit dem Sie RepoSync- oder RootSync-CRs schnell identifizieren können, die nicht synchron sind oder Ressourcen enthalten, die nicht mit dem gewünschten Status abgeglichen werden.

  • Bei einer erfolgreichen Synchronisierung durch eine RootSync oder RepoSync werden die Messwerte mit allen Komponenten (rendering, source, sync, readiness) mit dem Wert 0 beobachtet.

    Screenshot des Messwerts "pipeline_error_oblived" mit allen für den Wert 0 beobachteten Komponenten

  • Wenn der letzte Commit das automatische Rendering nicht besteht, wird der Messwert mit der Komponente rendering mit dem Wert 1 beobachtet.

  • Wenn der letzte Commit einen Fehler feststellt oder der letzte Commit eine ungültige Konfiguration enthält, wird der Messwert mit der Komponente source mit dem Wert 1 beobachtet.

  • Wenn eine Ressource nicht auf den Cluster angewendet werden kann, wird der Messwert mit der Komponente sync mit dem Wert 1 beobachtet.

  • Wenn eine Ressource angewendet wird, aber nicht den gewünschten Status erreicht, wird der Messwert mit der Komponente readiness mit dem Wert 1 beobachtet. Beispiel: Eine Bereitstellung wird auf den Cluster angewendet, aber die entsprechenden Pods werden nicht erfolgreich erstellt.

Nächste Schritte