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
Damit Policy Controller Messwerte in Cloud Monitoring exportieren kann, muss dem vom Policy Controller verwendeten Dienstkonto die IAM-Rolle roles/monitoring.metricsWriter
für das Projekt zugewiesen sein. Führen Sie zum Zuweisen dieser Rolle einen der folgenden Schritte aus:
Wenn Policy Controller in einer Google Cloud -Umgebung mit einem Standarddienstkonto ausgeführt wird, weisen Sie diesem Dienstkonto die Rolle
roles/monitoring.metricsWriter
für das Projekt zu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role=roles/monitoring.metricsWriter
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google Cloud -Projekt-IDPROJECT_NUMBER
: Ihre numerische Google CloudProjektnummer.
Wenn Workload Identity Federation for GKE oder Workload Identity Federation für Flotten aktiviert sind, weisen Sie dem Kubernetes-Dienstkonto, das von Policy Controller verwendet wird, die Rolle
roles/monitoring.metricsWriter
für das Projekt zu: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 Projekt-ID des Clusters. Google Cloud
Sie können diese Messwerte im Metrics Explorer oder über die Cloud Monitoring API ansehen.
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.
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).
Sie können ein Dashboard mithilfe einer Vorlage einrichten. Suchen Sie dazu auf der Seite „Cloud Monitoring-Dashboards“ nach „Policy Controller“. Weitere Informationen zum Erstellen und Bearbeiten von Dashboardvorlagen finden Sie in der Cloud Monitoring-Dokumentation.
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. |