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. Beispielsweise gibt es Messwerte, die die Anzahl der Einschränkungen und Einschränkungsvorlagen sowie die Anzahl der erkannten Auditverstöße aufzeichnen. Zum Erstellen und Aufzeichnen dieser Messwerte verwendet Policy Controller OpenTelemetry. 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 Prometheus, Cloud Monitoring, beides oder keines davon auswä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 oder die Workload Identity für die Flotte aktiviert sind, können Sie Policy Controller mit diesem Befehl erlauben, Messwerte zu senden:

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.

Beispiele zum Anzeigen dieser Messwerte finden Sie unter OpenCensus-Messwerte in Cloud Monitoring lesen.

Messwerte nach Prometheus exportieren

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

Wenn Policy Controller in einem Cluster ausgeführt wird, für den Google Cloud Managed Service for Prometheus konfiguriert ist, werden diese Messwerte automatisch erfasst und in Cloud Monitoring gespeichert. Dies funktioniert auch für Cluster, die Google Cloud Managed Service for Prometheus nach der Installation von Policy Controller aktivieren. Abhängig von Ihren Richtlinien müssen Sie dem Compute Engine-Standarddienstkonto, das von Google Cloud Managed Service for Prometheus verwendet wird, möglicherweise auch zusätzliche Berechtigungen erteilen. 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 Sammlung.

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

Beispiele zum Ansehen 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 konvergiert, 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 für das Ende der letzten Auditausführung, angegeben in Sekunden als Gleitkommazahl
Prometheus/gatekeeper_audit_last_run_time/gauge Gauge Der Epochenzeitstempel des Beginns der letzten Auditausführung, angegeben in Sekunden als Gleitkommazahl
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 konvergiert, wenn er gleich Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge ist.

Nächste Schritte