Surveiller Policy Controller

Cette page explique comment utiliser OpenCensus pour surveiller Policy Controller.

Policy Controller utilise OpenCensus pour créer et enregistrer des métriques liées à ses processus. Policy Controller peut être configuré pour exporter ces métriques vers Prometheus et Cloud Monitoring.

Métriques disponibles

Si Policy Controller est activé sur votre cluster, vous pouvez interroger les métriques suivantes (toutes précédées du préfixe gatekeeper_) :

Nom Type Libellés Description
gatekeeper_audit_duration_seconds Histogramme Distribution de la durée du cycle d'audit
gatekeeper_audit_last_run_time Jauge Horodatage de l'époch depuis la dernière exécution d'audit, exprimé en secondes avec virgule flottante
gatekeeper_constraint_template_ingestion_count Nombre état Nombre total d'actions d'ingestion de modèle de contrainte
gatekeeper_constraint_template_ingestion_duration_seconds Histogramme état Distribution de la durée d'ingestion de modèle de contrainte
gatekeeper_constraint_templates Jauge état Nombre actuel de modèles de contraintes
gatekeeper_constraints Jauge enforcement_action, état Nombre actuel de contraintes
gatekeeper_request_count Nombre admission_status Décompte de requêtes d'admission du serveur d'API
gatekeeper_request_duration_seconds Histogramme admission_status Distribution de la durée des requêtes d'admission
gatekeeper_violations Jauge enforcement_action Nombre de violations des règles d'audit détectées au cours du dernier cycle d'audit
gatekeeper_watch_manager_intended_watch_gvk Jauge Nombre de GroupVersionKinds uniques que Policy Controller est censé surveiller. Il s'agit d'une combinaison de contraintes et ressources synchronisées. Non mis en œuvre actuellement.
gatekeeper_watch_manager_watched_gvk Jauge Nombre de GroupVersionKinds uniques que Policy Controller surveille réellement. Ceci est censé converger pour correspondre à gatekeeper_watch_manager_intended_watch_gvk. Non mis en œuvre actuellement.
gatekeeper_sync Jauge type, état Nombre de ressources qui ont été répliquées dans le cache de l'OPA
gatekeeper_sync_duration_seconds Histogramme Distribution de la durée de synchronisation des objets
gatekeeper_sync_last_run_time Jauge Date et heure de la dernière synchronisation d'une ressource

Configurer l'exportation des métriques

Dans Anthos Config Management 1.12.0 et versions ultérieures, vous pouvez configurer la manière dont Policy Controller exporte ses métriques. Vous pouvez choisir entre Prometheus et Cloud Monitoring lors de l'installation de Policy Controller. Par défaut, Policy Controller tente d'exporter les métriques vers Prometheus et Cloud Monitoring.

Dans Anthos Config Management versions antérieures à 1.12.0, Policy Controller n'exporte des métriques que vers Prometheus.

Surveiller Policy Controller avec Cloud Monitoring

Si Policy Controller s'exécute dans un environnement Google Cloud doté d'un compte de service par défaut, Policy Controller exporte automatiquement les métriques dans Cloud Monitoring dans Anthos Config Management versions 1.12.0 et ultérieures.

Si Workload Identity est activé, procédez comme suit :

  1. Liez le compte de service Kubernetes gatekeeper-admin dans l'espace de noms gatekeeper-system à un compte de service Google doté du rôle de rédacteur de métriques :

    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
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet.
    • GSA_NAME : compte de service Google disposant du rôle IAM "Rédacteur de métriques Monitoring" (roles/monitoring.metricWriter).

    Cette action nécessite une autorisation iam.serviceAccounts.setIamPolicy sur le projet.

  2. Annotez le compte de service Kubernetes à l'aide de l'adresse e-mail du compte de service Google :

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

Pour obtenir des exemples d'affichage de ces métriques, consultez la page Lire les métriques OpenCensus dans Cloud Monitoring.

Surveiller Policy Controller avec Prometheus

Policy Controller exporte par défaut les métriques pour Prometheus sur le port 8675. Vous pouvez également configurer Cloud Monitoring pour extraire des métriques personnalisées de Prometheus. Pour en savoir plus, consultez la page Prometheus géré.