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:
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 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. |