Questa pagina spiega 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 di controllo 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 le esporta sia in Prometheus che in Cloud Monitoring.
Prezzi
Le metriche di Policy Controller utilizzano Google Cloud Managed Service per Prometheus per caricare le metriche in Cloud Monitoring. Cloud Monitoring addebita l'importazione di queste metriche in base al numero di campioni importati.
Per maggiori informazioni, consulta Prezzi di 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 quando installi Policy Controller. Per impostazione predefinita, Policy Controller tenta di esportare le metriche sia in Prometheus che in Cloud Monitoring.
Esportare le metriche in Cloud Monitoring
Per consentire a Policy Controller di esportare le metriche in Cloud Monitoring, il service account utilizzato da Policy Controller deve disporre del ruolo IAM roles/monitoring.metricsWriter sul progetto. Per concedere questo ruolo, esegui una delle seguenti operazioni:
Se Policy Controller viene eseguito all'interno di un ambiente Google Cloud con un service account predefinito, concedi il ruolo
roles/monitoring.metricsWriternel progetto a questo service account:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role=roles/monitoring.metricsWriterSostituisci quanto segue:
PROJECT_ID: il tuo ID progetto Google Cloud .PROJECT_NUMBER: il numero di progetto Google Cloud numerico.
Se sono abilitate Workload Identity Federation for GKE o la federazione delle identità per i workload del parco risorse, concedi il ruolo
roles/monitoring.metricsWritersul progetto al service account Kubernetes utilizzato da Policy Controller:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \ --role=roles/monitoring.metricWriterSostituisci
PROJECT_IDcon l'ID progetto Google Cloud del cluster.
Puoi visualizzare queste metriche con Esplora metriche o utilizzando l'API Cloud Monitoring.
Esportare 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 con Google Cloud Managed Service per Prometheus configurato, queste metriche verranno raccolte e archiviate automaticamente in Cloud Monitoring. Funziona anche per i cluster che abilitano Google Cloud Managed Service per Prometheus dopo l'installazione di Policy Controller. A seconda delle tue norme, potresti anche dover concedere autorizzazioni aggiuntive al account di servizio Compute Engine predefinito utilizzato da Google Cloud Managed Service per Prometheus. Per informazioni dettagliate sulla concessione delle autorizzazioni a Google Cloud Managed Service per Prometheus, consulta Abilitare la raccolta gestita: GKE. Per ulteriori informazioni sulla configurazione di Google Cloud Managed Service per Prometheus, consulta la guida introduttiva alla raccolta gestita.
Per ulteriori informazioni sui prezzi di Cloud Monitoring, consulta 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 tuo 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 in base alle tue esigenze aziendali e operative.
Per eseguire query sull'API Cloud Monitoring, utilizza Prometheus Query Language (PromQL) (il linguaggio di query di fatto per le metriche di Kubernetes) o Monitoring Query Language (MQL) (il linguaggio di query proprietario di Google).
Puoi utilizzare un modello per configurare una dashboard cercando "Policy Controller" nella pagina Dashboard di Cloud Monitoring. Per saperne di più sulla creazione e la modifica dei modelli di dashboard, consulta la 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 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 cluster ed è configurato per l'esportazione in Cloud Monitoring, puoi eseguire query sulle seguenti metriche (tutte con il prefisso OpenCensus/):
| Nome | Tipo | Etichette | Descrizione |
|---|---|---|---|
OpenCensus/audit_duration_seconds |
Cumulativo | Distribuzione della durata del ciclo di controllo | |
OpenCensus/audit_last_run_time |
Misuratore | Il timestamp dell'epoca dall'ultima esecuzione dell'audit, espresso in secondi in rappresentazione in virgola mobile | |
OpenCensus/constraint_template_ingestion_count |
Cumulativo | stato | Numero totale di azioni di importazione dei modelli di vincolo |
OpenCensus/constraint_template_ingestion_duration_seconds |
Cumulativo | stato | Distribuzione della durata dell'importazione del modello di vincolo |
OpenCensus/constraint_templates |
Misuratore | 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 |
Cumulativo | admission_status | Distribuzione della durata della richiesta di ammissione |
OpenCensus/violations |
Misuratore | enforcement_action | Numero di violazioni del controllo rilevate nell'ultimo ciclo di controllo |
OpenCensus/watch_manager_intended_watch_gvk |
Misuratore | Il numero di GroupVersionKinds unici che Policy Controller deve monitorare. Questa metrica è una combinazione di risorse e vincoli sincronizzati. | |
OpenCensus/watch_manager_watched_gvk |
Misuratore | Il numero di GroupVersionKinds unici che Policy Controller sta effettivamente monitorando. Questa metrica è pensata per convergere ed essere 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 il prefisso Prometheus/):
| Nome | Tipo | Etichette | Descrizione |
|---|---|---|---|
Prometheus/gatekeeper_audit_duration_seconds/histogram |
Cumulativo | Distribuzione della durata del ciclo di controllo | |
Prometheus/gatekeeper_audit_last_run_end_time/gauge |
Misuratore | Il timestamp epoch della fine dell'ultima esecuzione del controllo, espresso in secondi in rappresentazione in virgola mobile | |
Prometheus/gatekeeper_audit_last_run_time/gauge |
Misuratore | Il timestamp dell'epoca dell'inizio dell'ultima esecuzione dell'audit, espresso in secondi in rappresentazione in virgola mobile | |
Prometheus/gatekeeper_constraint_template_ingestion_count/counter |
Cumulativo | stato | Numero totale di azioni di importazione dei modelli di vincolo |
Prometheus/gatekeeper_constraint_template_ingestion_duration_seconds/histogram |
Cumulativo | stato | Distribuzione della durata dell'importazione del modello di vincolo |
Prometheus/gatekeeper_constraint_templates/gauge |
Misuratore | stato | Numero attuale di modelli di vincolo |
Prometheus/gatekeeper_validation_request_count/counter |
Cumulativo | admission_status, admission_dryrun | Conteggio delle richieste di ammissione dal server API |
Prometheus/gatekeeper_validation_request_duration_seconds/histogram |
Cumulativo | admission_status | Distribuzione della durata della richiesta di ammissione |
Prometheus/gatekeeper_violations/gauge |
Misuratore | enforcement_action | Numero di violazioni del controllo rilevate nell'ultimo ciclo di controllo |
Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge |
Misuratore | Il numero di GroupVersionKinds unici che Policy Controller deve monitorare. Questa metrica è una combinazione di risorse e vincoli sincronizzati. | |
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge |
Misuratore | Il numero di GroupVersionKinds unici che Policy Controller sta effettivamente monitorando. Questa metrica è pensata per convergere ed essere uguale a Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge. |