Policy Controller überwachen

Auf dieser Seite wird erläutert, wie Sie Prometheus zum Monitoring von Policy Controller verwenden.

Policy Controller verwendet OpenCensus, um Messwerte zu internen Prozessen zu erstellen und aufzuzeichnen. Policy Controller kann so konfiguriert werden, dass diese Messwerte nach Prometheus und Cloud Monitoring exportiert werden.

Verfügbare Messwerte

Wenn Policy Controller in Ihrem Cluster aktiviert ist, können Sie die folgenden Messwerte abfragen (alle mit dem Präfix gatekeeper_):

Name Typ Label Beschreibung
gatekeeper_audit_duration_seconds Histogramm Verteilung der Prüfzyklusdauer
gatekeeper_audit_last_run_time Gauge Der Epochenzeitstempel seit der letzten Prüflaufzeit, angegeben in Sekunden als Gleitkommawert
gatekeeper_constraint_template_ingestion_count Zähler Status Gesamtzahl der Aktionen zur Aufnahme von Einschränkungsvorlagen
gatekeeper_constraint_template_ingestion_duration_seconds Histogramm Status Verteilung der Aufnahmedauer von Einschränkungsvorlagen
gatekeeper_constraint_templates Gauge Status Aktuelle Anzahl von Einschränkungsvorlagen
gatekeeper_constraints Gauge enforcement_action, Status Aktuelle Anzahl von Einschränkungen
gatekeeper_request_count Zähler admission_status Anzahl der Zulassungsanfragen vom API-Server
gatekeeper_request_duration_seconds Histogramm admission_status Verteilung der Dauer der Zulassungsanfrage
gatekeeper_violations Gauge enforcement_action Anzahl der im letzten Audit-Zyklus festgestellten Audit-Verstöße
gatekeeper_watch_manager_intended_watch_gvk Gauge Wie viele eindeutige GroupVersionKinds Policy Controller sollen beobachtet werden? Dies ist eine Kombination aus synchronisierten Ressourcen und Einschränkungen. Derzeit nicht implementiert
gatekeeper_watch_manager_watched_gvk Gauge Wie viele eindeutige GroupVersionKinds Policy Controller werden tatsächlich überwacht? Dies soll konvergieren, wenn es gleich gatekeeper_watch_manager_intended_watch_gvk ist. Derzeit nicht implementiert
gatekeeper_sync Gauge Art, Status Wie viele Ressourcen wurden in den Cache von OPA repliziert
gatekeeper_sync_duration_seconds Histogramm Verteilung der Objektsynchronisierung
gatekeeper_sync_last_run_time Gauge Letzte Synchronisierung einer Ressource

Messwertexport konfigurieren

In Anthos Config Management Version 1.12.0 und höher können Sie 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.

In Anthos Config Management-Versionen vor 1.12.0 exportiert Policy Controller nur Messwerte nach Prometheus.

Policy Controller mit Cloud Monitoring beobachten

Wenn Policy Controller in einer Google Cloud-Umgebung mit einem Standarddienstkonto ausgeführt wird, exportiert Policy Controller automatisch Messwerte nach Cloud Monitoring in Anthos Config Management-Versionen 1.12.0 und später.

Führen Sie die folgenden Schritte aus, wenn Workload Identity aktiviert ist:

  1. Binden Sie das Kubernetes-Dienstkonto gatekeeper-admin im Namespace gatekeeper-system an ein Google-Dienstkonto mit der Rolle „Messwertautor”:

    gcloud iam service-accounts add-iam-policy-binding \
        --role roles/iam.workloadIdentityUser \
        --member "serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \
        GSA_NAME@PROJECT_ID.iam.gserviceaccount.com
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Ihre Projekt-ID.
    • GSA_NAME: Das Google-Dienstkonto mit der IAM-Rolle Monitoring-Messwert-Autor (roles/monitoring.metricWriter).

    Für diese Aktion ist die Berechtigung iam.serviceAccounts.setIamPolicy für das Projekt erforderlich.

  2. Annotieren Sie dann das Kubernetes-Dienstkonto mit der E-Mail-Adresse des Google-Dienstkontos.

    kubectl annotate serviceaccount \
        --namespace gatekeeper-system \
        gatekeeper-admin \
        iam.gke.io/gcp-service-account=GSA_NAME@PROJECT_ID.iam.gserviceaccount.com
    

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

Policy Controller mit Prometheus überwachen

Policy Controller exportiert Messwerte für Prometheus standardmäßig an Port 8675. Sie haben auch die Möglichkeit, Cloud Monitoring so zu konfigurieren, dass benutzerdefinierte Messwerte von Prometheus abgerufen werden. Weitere Informationen finden Sie unter Verwalteter Prometheus.