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:
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Klicken Sie auf der Seite Dashboard-Übersicht auf den Tab Beispielbibliothek. Auf diesem Tab werden alle Dashboards angezeigt, die Sie importieren können.
Wählen Sie in der Spalte Kategorien die Option Anthos Config Management aus.
Klicken Sie in der Tabelle Anthos Config Management-Beispiele das Kästchen Richtliniencontroller an.
Klicken Sie auf downloadImportieren.
Klicken Sie im Bestätigungsfenster auf Bestätigen, um das Dashboard zu erstellen.
So zeigen Sie das Policy Controller-Dashboard an und bearbeiten es:
- Wählen Sie auf der Seite Dashboard-Übersicht den Tab Dashboard-Liste aus.
- Wählen Sie das Dashboard Policy Controller (Richtlinien-Controller) aus.
- Klicken Sie zum Anpassen des Dashboards auf Dashboard bearbeiten.
- 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. |