Utilizzo delle metriche di Policy Controller

In questa pagina viene spiegato come utilizzare le metriche per monitorare Policy Controller.

Policy Controller include più metriche relative all'utilizzo dei criteri. Ad esempio, esistono metriche che registrano il numero di vincoli e modelli di vincoli e il numero di violazioni dell'audit rilevate. Per creare e registrare queste metriche, Policy Controller utilizza OpenTelemetry. Puoi configurare Policy Controller per esportare queste metriche in Prometheus o Cloud Monitoring. L'impostazione predefinita per l'esportazione delle metriche esporta le metriche sia in Prometheus sia in Cloud Monitoring.

Configura l'esportazione delle metriche

Puoi configurare la modalità di esportazione delle metriche di Policy Controller. Puoi scegliere Prometheus, Cloud Monitoring, entrambi o nessuno dei due quando installi Policy Controller. Per impostazione predefinita, Policy Controller tenta di esportare le metriche sia in Prometheus sia in Cloud Monitoring.

Esporta le metriche in Cloud Monitoring

Se Policy Controller viene eseguito in un ambiente Google Cloud che dispone di un account di servizio predefinito, Policy Controller esporta automaticamente le metriche in Cloud Monitoring.

Se GKE Workload Identity o GKE Workload Identity è abilitato, consenti a Policy Controller di inviare metriche eseguendo questo comando:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \
  --role=roles/monitoring.metricWriter

Sostituisci PROJECT_ID con l'ID progetto Google Cloud del cluster.

Per esempi su come visualizzare queste metriche, consulta Leggere le metriche di OpenCensus in Cloud Monitoring.

Esporta le metriche in Prometheus

Policy Controller esporta le metriche per Prometheus sulla porta 8888 del pod gatekeeper-controller-manager-* nello spazio dei nomi gatekeeper-system.

Se Policy Controller è in esecuzione su un cluster in cui è configurato Google Cloud Managed Service per Prometheus, queste metriche verranno raccolte e archiviate automaticamente in Cloud Monitoring. Questo metodo funziona anche per i cluster che abilitano Google Cloud Managed Service per Prometheus dopo l'installazione di Policy Controller. A seconda dei criteri, potrebbe anche essere necessario concedere autorizzazioni aggiuntive all'account di servizio Compute Engine predefinito che viene utilizzato da Google Cloud Managed Service per Prometheus. Per maggiori dettagli sulla concessione delle autorizzazioni a Google Cloud Managed Service per Prometheus, consulta Abilitare la raccolta gestita: GKE. Per saperne di più sulla configurazione di Google Cloud Managed Service per Prometheus, consulta la guida introduttiva alla raccolta gestita.

Poiché Policy Controller è disponibile con GKE Enterprise, non sono previsti costi aggiuntivi per Google Cloud Observability, incluso Google Cloud Managed Service per Prometheus. Se hai installato Policy Controller prima di richiedere una licenza GKE Enterprise e hai abilitato Google Cloud Managed Service per Prometheus, potresti vedere gli addebiti per le metriche raccolte. Per ulteriori informazioni sui prezzi di Cloud Monitoring, consulta la pagina Prezzi di Google Cloud Managed Service per Prometheus.

Per esempi su come visualizzare le metriche con la soluzione Google Cloud Managed Service per Prometheus, consulta Eseguire query utilizzando Cloud Monitoring.

Visualizza metriche

Le metriche di Policy Controller vengono esportate nel progetto Cloud Monitoring in formato Prometheus. Di conseguenza, puoi eseguire query sulle metriche utilizzando l'API Cloud Monitoring e una dashboard nella console Google Cloud. Puoi modificare questa dashboard per soddisfare le tue esigenze aziendali e operative.

Per eseguire query sull'API Cloud Monitoring, utilizza Prometheus Query Language (PromQL) (il linguaggio di query vero e proprio per le metriche Kubernetes) o Monitoring Query Language (MQL) (il linguaggio di query relativo alle metriche proprietario di Google).

Per creare la dashboard di Policy Controller:

  1. Nella console Google Cloud, vai alla pagina Dashboard.

    Vai a Dashboard

  2. Nella pagina Panoramica delle dashboard, fai clic sulla scheda Libreria di esempio. Questa scheda mostra tutte le dashboard che puoi importare.

  3. Nella colonna Categories, seleziona Anthos Config Management.

  4. Nella tabella Esempi di gestione della configurazione di Anthos, seleziona la casella di controllo Controller dei criteri.

  5. Fai clic su Importa.

  6. Per creare la dashboard, fai clic su Conferma nella finestra di conferma.

Per visualizzare e modificare la dashboard di Policy Controller:

  1. Nella pagina Panoramica delle dashboard, seleziona la scheda Elenco dashboard.
  2. Seleziona la dashboard Policy Controller.
  3. Per personalizzare la dashboard, fai clic su Modifica dashboard.
  4. Apporta le modifiche necessarie e fai clic su Salva. Per scoprire di più sulla personalizzazione delle dashboard, consulta Filtrare una dashboard nella documentazione di Cloud Monitoring.

Crea avvisi

Per ricevere notifiche quando le metriche raggiungono determinate soglie, crea criteri di avviso in Cloud Monitoring.

Integrazione di terze parti

Utilizzando l'API Cloud Monitoring, qualsiasi strumento di osservabilità di terze parti può importare le metriche di Policy Controller.

Ad esempio, se utilizzi le dashboard di Grafana, aggiungi l'API Cloud Monitoring come origine dati in Grafana. Per saperne di più, consulta Google Cloud Monitoring nella documentazione di Grafana.

Metriche disponibili

Se Policy Controller è abilitato nel tuo cluster ed è configurato per l'esportazione in Cloud Monitoring, puoi eseguire query sulle seguenti metriche (tutte con prefisso OpenCensus/):

Nome Tipo Etichette Descrizione
OpenCensus/audit_duration_seconds Cumulativa Distribuzione della durata del ciclo di controllo
OpenCensus/audit_last_run_time Gauge Il timestamp dell'epoca dall'ultimo runtime dell'audit, espresso in secondi in virgola mobile
OpenCensus/constraint_template_ingestion_count Cumulativa stato Numero totale di azioni di importazione del modello di vincolo
OpenCensus/constraint_template_ingestion_duration_seconds Cumulativa stato Distribuzione della durata di importazione del modello di vincolo
OpenCensus/constraint_templates Gauge stato Numero attuale di modelli di vincolo
OpenCensus/validation_request_count Contatore admission_status Conteggio delle richieste di ammissione dal server API
OpenCensus/validation_request_duration_seconds Cumulativa admission_status Distribuzione della durata della richiesta di ammissione
OpenCensus/violations Gauge enforcement_action Numero di violazioni di audit rilevate nell'ultimo ciclo di controllo
OpenCensus/watch_manager_intended_watch_gvk Gauge Il numero di Policy Controller GroupVersionKinds univoco che deve essere controllato. Questa metrica è una combinazione di risorse e vincoli sincronizzati.
OpenCensus/watch_manager_watched_gvk Gauge Numero di criteri univoci di GroupVersionKinds che il controller sta effettivamente controllando. Questa metrica è destinata a convergere in modo che sia uguale a OpenCensus/watch_manager_intended_watch_gvk.

Se Policy Controller è configurato per l'esportazione in Prometheus, puoi eseguire query sulle seguenti metriche (tutte con prefisso Prometheus/):

Nome Tipo Etichette Descrizione
Prometheus/gatekeeper_audit_duration_seconds/histogram Cumulativa Distribuzione della durata del ciclo di controllo
Prometheus/gatekeeper_audit_last_run_end_time/gauge Gauge Il timestamp dell'epoca della fine dell'ultima esecuzione del controllo, espresso in secondi in virgola mobile
Prometheus/gatekeeper_audit_last_run_time/gauge Gauge Il timestamp dell'epoca dell'inizio dell'ultima esecuzione del controllo, espresso in secondi in virgola mobile
Prometheus/gatekeeper_constraint_template_ingestion_count/counter Cumulativa stato Numero totale di azioni di importazione del modello di vincolo
Prometheus/gatekeeper_constraint_template_ingestion_duration_seconds/histogram Cumulativa stato Distribuzione della durata di importazione del modello di vincolo
Prometheus/gatekeeper_constraint_templates/gauge Gauge stato Numero attuale di modelli di vincolo
Prometheus/gatekeeper_validation_request_count/counter Cumulativa stato_ammissione, prova_ammissione_dryrun Conteggio delle richieste di ammissione dal server API
Prometheus/gatekeeper_validation_request_duration_seconds/histogram Cumulativa admission_status Distribuzione della durata della richiesta di ammissione
Prometheus/gatekeeper_violations/gauge Gauge enforcement_action Numero di violazioni di audit rilevate nell'ultimo ciclo di controllo
Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge Gauge Il numero di Policy Controller GroupVersionKinds univoco che deve essere controllato. Questa metrica è una combinazione di risorse e vincoli sincronizzati.
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge Gauge Numero di criteri univoci di GroupVersionKinds che il controller sta effettivamente controllando. Questa metrica è destinata a convergere in modo che sia uguale a Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge.

Passaggi successivi