Policy Controller-Messwerte verwenden

Auf dieser Seite wird erläutert, wie Sie Policy Controller mithilfe von Messwerten überwachen.

Policy Controller bietet mehrere Messwerte zur Richtliniennutzung. Es gibt beispielsweise Messwerte, in denen die Anzahl der Einschränkungen und Einschränkungsvorlagen und die Anzahl der erkannten Audit-Verstöße aufgezeichnet werden. Policy Controller verwendet OpenTelemetry, um diese Messwerte zu erstellen und aufzuzeichnen. Sie können Policy Controller so konfigurieren, dass diese Messwerte nach Prometheus oder Cloud Monitoring exportiert werden. Die Standardeinstellung zum Exportieren von Messwerten exportiert die Messwerte sowohl in Prometheus als auch in Cloud Monitoring.

Messwertexport konfigurieren

Sie können konfigurieren, wie Policy Controller seine Messwerte exportiert. Sie können bei der Installation von Policy Controller zwischen Prometheus, Cloud Monitoring und beiden wählen. Standardmäßig versucht Policy Controller, Messwerte sowohl in Prometheus als auch in Cloud Monitoring zu exportieren.

Messwerte nach Cloud Monitoring exportieren

Wenn Policy Controller in einer Google Cloud-Umgebung mit einem Standarddienstkonto ausgeführt wird, exportiert Policy Controller automatisch Messwerte nach Cloud Monitoring.

Wenn GKE-Workload Identity Federation for GKE oder Flotten-Workload Identity Federation for GKE aktiviert ist, erlauben Sie Policy Controller das Senden von Messwerten mit folgendem Befehl:

GKE-Cluster auf VMware, auf Bare Metal und GKE-Multi-Cloud-Cluster (sowohl in AWS als auch in Azure) werden automatisch in Ihrer Projektflotte registriert, wobei Workload Identity Federation for GKE für Flotten aktiviert ist.

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

Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID des Clusters.

Sie können diese Messwerte im Metrics Explorer oder mithilfe der Cloud Monitoring API aufrufen.

Messwerte nach Prometheus exportieren

Policy Controller exportiert Messwerte für Prometheus an Port 8888 des gatekeeper-controller-manager-*-Pods unter dem gatekeeper-system-Namespace.

Wenn Policy Controller in einem Cluster mit konfiguriertem Google Cloud Managed Service for Prometheus ausgeführt wird, werden diese Messwerte automatisch erfasst und in Cloud Monitoring gespeichert. Dies funktioniert auch bei Clustern, die Google Cloud Managed Service for Prometheus nach der Installation von Policy Controller aktivieren. Je nach Ihren Richtlinien müssen Sie möglicherweise auch zusätzliche Berechtigungen für das Compute Engine-Standarddienstkonto erteilen, das von Google Cloud Managed Service for Prometheus verwendet wird. Weitere Informationen zum Gewähren von Berechtigungen für Google Cloud Managed Service for Prometheus finden Sie unter Verwaltete Sammlung aktivieren: GKE. Weitere Informationen zum Konfigurieren von Google Cloud Managed Service for Prometheus finden Sie unter Erste Schritte mit verwalteter Erfassung.

Da Policy Controller mit GKE Enterprise verfügbar ist, fallen keine zusätzlichen Kosten für Google Cloud Beobachtbarkeit an, einschließlich Google Cloud Managed Service for Prometheus. Wenn Policy Controller installiert wurde, bevor eine GKE Enterprise-Lizenz erforderlich war, und Google Cloud Managed Service for Prometheus aktiviert ist, fallen möglicherweise Kosten für die erfassten Messwerte an. Weitere Informationen zu den Preisen von Cloud Monitoring finden Sie unter Preise für Google Cloud Managed Service for Prometheus.

Beispiele zum Aufrufen von Messwerten mit der Google Cloud Managed Service for Prometheus-Lösung finden Sie unter Abfrage mit Cloud Monitoring.

Messwerte aufrufen

Policy Controller-Messwerte werden im Prometheus-Format in Ihr Cloud Monitoring-Projekt exportiert. Daher können Sie Messwerte mithilfe der Cloud Monitoring API und eines Dashboards in der Google Cloud Console abfragen. Sie können dieses Dashboard entsprechend Ihren Geschäfts- und Betriebsanforderungen bearbeiten.

Zum Abfragen der Cloud Monitoring API verwenden Sie entweder Prometheus Query Language (PromQL) (die De-facto-Abfragesprache für Kubernetes-Messwerte) oder die Monitoring Query Language (MQL) MQL (Virtual Private Cloud) (Google-eigene Abfragesprache).

So erstellen Sie das Policy Controller-Dashboard:

  1. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

  2. Klicken Sie auf der Seite Dashboard-Übersicht auf den Tab Beispielbibliothek. Auf diesem Tab werden alle Dashboards angezeigt, die Sie importieren können.

  3. Wählen Sie in der Spalte Kategorien die Option Anthos Config Management aus.

  4. Klicken Sie in der Tabelle Anthos Config Management-Beispiele das Kästchen Richtliniencontroller an.

  5. Klicken Sie auf Importieren.

  6. Klicken Sie im Bestätigungsfenster auf Bestätigen, um das Dashboard zu erstellen.

So zeigen Sie das Policy Controller-Dashboard an und bearbeiten es:

  1. Wählen Sie auf der Seite Dashboard-Übersicht den Tab Dashboard-Liste aus.
  2. Wählen Sie das Dashboard Policy Controller (Richtlinien-Controller) aus.
  3. Klicken Sie zum Anpassen des Dashboards auf Dashboard bearbeiten.
  4. Nehmen Sie die erforderlichen Änderungen vor und klicken Sie auf Speichern. Weitere Informationen zum Anpassen von Dashboards finden Sie in der Cloud Monitoring-Dokumentation unter Dashboard filtern.

Benachrichtigungen erstellen

Wenn Sie Benachrichtigungen erhalten möchten, wenn Ihre Messwerte bestimmte Schwellenwerte erreichen, erstellen Sie Benachrichtigungsrichtlinien in Cloud Monitoring.

Integration von Drittanbietern

Mit der Cloud Monitoring API kann jedes Beobachtbarkeitstool von Policy Controller-Messwerte aufnehmen.

Wenn Sie beispielsweise Grafana-Dashboards verwenden, fügen Sie die Cloud Monitoring API als Datenquelle in Grafana hinzu. Weitere Informationen finden Sie in der Grafana-Dokumentation unter Google Cloud Monitoring.

Verfügbare Messwerte

Wenn Policy Controller in Ihrem Cluster aktiviert und für den Export nach Cloud Monitoring konfiguriert ist, können Sie die folgenden Messwerte abfragen (alle mit dem Präfix OpenCensus/):

Name Typ Labels Beschreibung
OpenCensus/audit_duration_seconds Cumulative Verteilung der Prüfzyklusdauer
OpenCensus/audit_last_run_time Gauge Der Epochenzeitstempel seit der letzten Prüflaufzeit, angegeben in Sekunden als Gleitkommawert
OpenCensus/constraint_template_ingestion_count Cumulative Status Gesamtzahl der Aktionen zur Aufnahme von Einschränkungsvorlagen
OpenCensus/constraint_template_ingestion_duration_seconds Cumulative Status Verteilung der Aufnahmedauer von Einschränkungsvorlagen
OpenCensus/constraint_templates Gauge Status Aktuelle Anzahl von Einschränkungsvorlagen
OpenCensus/validation_request_count Zähler admission_status Anzahl der Zulassungsanfragen vom API-Server
OpenCensus/validation_request_duration_seconds Cumulative admission_status Verteilung der Dauer der Zulassungsanfrage
OpenCensus/violations Gauge enforcement_action Anzahl der im letzten Audit-Zyklus festgestellten Audit-Verstöße
OpenCensus/watch_manager_intended_watch_gvk Gauge Wie viele eindeutige GroupVersionKinds Policy Controller sollen beobachtet werden? Dieser Messwert ist eine Kombination aus synchronisierten Ressourcen und Einschränkungen.
OpenCensus/watch_manager_watched_gvk Gauge Wie viele eindeutige GroupVersionKinds Policy Controller werden tatsächlich überwacht? Dieser Messwert soll konvergieren, wenn er gleich OpenCensus/watch_manager_intended_watch_gvk ist.

Wenn Policy Controller für den Export nach Prometheus konfiguriert ist, können Sie die folgenden Messwerte abfragen (alle mit dem Präfix Prometheus/):

Name Typ Labels Beschreibung
Prometheus/gatekeeper_audit_duration_seconds/histogram Cumulative Verteilung der Prüfzyklusdauer
Prometheus/gatekeeper_audit_last_run_end_time/gauge Gauge Der Epochenzeitstempel des Endes der letzten Prüfausführung, angegeben in Sekunden als Gleitkommawert
Prometheus/gatekeeper_audit_last_run_time/gauge Gauge Der Epochenzeitstempel des Beginns der letzten Prüfausführung, angegeben in Sekunden als Gleitkommawert
Prometheus/gatekeeper_constraint_template_ingestion_count/counter Cumulative Status Gesamtzahl der Aktionen zur Aufnahme von Einschränkungsvorlagen
Prometheus/gatekeeper_constraint_template_ingestion_duration_seconds/histogram Cumulative Status Verteilung der Aufnahmedauer von Einschränkungsvorlagen
Prometheus/gatekeeper_constraint_templates/gauge Gauge Status Aktuelle Anzahl von Einschränkungsvorlagen
Prometheus/gatekeeper_validation_request_count/counter Cumulative admission_status, admission_dryrun Anzahl der Zulassungsanfragen vom API-Server
Prometheus/gatekeeper_validation_request_duration_seconds/histogram Cumulative admission_status Verteilung der Dauer der Zulassungsanfrage
Prometheus/gatekeeper_violations/gauge Gauge enforcement_action Anzahl der im letzten Audit-Zyklus festgestellten Audit-Verstöße
Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge Gauge Wie viele eindeutige GroupVersionKinds Policy Controller sollen beobachtet werden? Dieser Messwert ist eine Kombination aus synchronisierten Ressourcen und Einschränkungen.
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge Gauge Wie viele eindeutige GroupVersionKinds Policy Controller werden tatsächlich überwacht? Dieser Messwert soll konvergieren, wenn er gleich Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge ist.

Nächste Schritte