Nesta página, explicamos como usar métricas para monitorar o Policy Controller.
O Policy Controller inclui várias métricas relacionadas ao uso da política. Por exemplo, há métricas que registram o número de restrições e modelos de restrição, e o número de violações de auditoria detectadas. Para criar e registrar essas métricas, o Policy Controller usa o OpenTelemetry. É possível configurar o Policy Controller para exportar essas métricas para o Prometheus ou o Cloud Monitoring. A configuração padrão de exportação de métricas exporta as métricas para o Prometheus e o Cloud Monitoring.
Configurar a exportação de métricas
É possível configurar como o Policy Controller exporta as métricas. É possível escolher o Prometheus, o Cloud Monitoring, os dois ou nenhum deles ao instalar o Policy Controller. Por padrão, o Policy Controller tenta exportar métricas para o Prometheus e para o Cloud Monitoring.
Exportar métricas para o Cloud Monitoring
Se o Controlador de Políticas estiver em execução em um ambiente do Google Cloud que tenha uma conta de serviço padrão, ele vai exportar automaticamente as métricas para o Cloud Monitoring.
Se a Federação de Identidade da Carga de Trabalho para GKE do GKE ou a Federação de Identidade da Carga de Trabalho para GKE da frota estiverem ativadas, permita que o Controlador de Políticas envie métricas executando este comando:
Os clusters do GKE no VMware, em bare metal e em clusters multicloud do GKE (na AWS e no Azure) são registrados automaticamente na frota do projeto com a Federação de Identidade da Carga de Trabalho para GKE ativada.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \
--role=roles/monitoring.metricWriter
Substitua PROJECT_ID
pelo ID do projeto do Google Cloud do cluster.
É possível exibir essas métricas no Metrics Explorer ou usando a API Cloud Monitoring.
Exportar métricas para o Prometheus
O Controlador de Políticas exporta métricas para o Prometheus na porta 8888 do
pod gatekeeper-controller-manager-*
no namespace gatekeeper-system
.
Se o Controlador de Políticas estiver em execução em um cluster com o Google Cloud Managed Service para Prometheus configurado, essas métricas serão coletadas e armazenadas automaticamente no Cloud Monitoring. Isso também funciona para clusters que ativam o Google Cloud Managed Service para Prometheus depois que o Controlador de Políticas é instalado. Dependendo das suas políticas, talvez seja necessário conceder outras permissões à conta de serviço padrão do Compute Engine usada pelo Google Cloud Managed Service para Prometheus. Para saber como conceder permissões ao Google Cloud Managed Service para Prometheus, consulte Ativar a coleta gerenciada: GKE. Para saber como configurar o Google Cloud Managed Service para Prometheus, consulte Introdução à coleta gerenciada.
Como o Controlador de Políticas está disponível com o GKE Enterprise, não há custos adicionais para o Google Cloud Observability, incluindo o Google Cloud Managed Service para Prometheus. Se você tinha o Controlador de Políticas instalado antes de adquirir uma licença do GKE Enterprise e tem o Google Cloud Managed Service para Prometheus ativado, talvez haja cobranças pelas métricas coletadas. Para mais informações sobre os preços do Cloud Monitoring, consulte Preços do Google Cloud Managed Service para Prometheus.
Para conferir exemplos de como consultar métricas com a solução do Google Cloud Managed Service para Prometheus, consulte Realizar consultas com o Cloud Monitoring.
Ver métricas
As métricas do Policy Controller são exportadas para seu projeto do Cloud Monitoring no formato do Prometheus. Sendo assim, é possível consultar métricas usando a API Cloud Monitoring e um painel no console do Google Cloud. Edite esse painel para atender às suas necessidades comerciais e operacionais.
Para consultar a API Cloud Monitoring, use a Linguagem de consulta do Prometheus (PromQL, na sigla em inglês) (a linguagem de consulta real para métricas do Kubernetes) ou a Linguagem de consulta do Monitoring (MQL) (a linguagem de consulta de métricas reservadas do Google).
Para criar o painel do Policy Controller:
No console do Google Cloud, acesse a página Painéis.
Na página Visão geral de painéis, clique na guia Biblioteca de amostra. Essa guia mostra todos os painéis que você pode importar.
Na coluna Categorias, selecione Anthos Config Management.
Na tabela de amostras Anthos Config Management, marque a caixa de seleção Policy Controller.
Clique em download Importar.
Para criar o painel, clique em Confirmar na janela de confirmação.
Para ver e editar o painel do Policy Controller:
- Na página Visão geral de painéis, selecione a guia Lista de painéis.
- Selecione o painel do Policy Controller.
- Para personalizar o painel, clique em Editar painel.
- Faça as alterações necessárias e clique em Salvar. Para saber mais sobre como personalizar painéis, consulte Filtrar um painel na documentação do Cloud Monitoring.
Criar alertas
Para receber notificações quando suas métricas atenderem a determinados limites, crie políticas de alertas no Cloud Monitoring.
Integração de terceiros
Usando a API Cloud Monitoring, qualquer ferramenta de observabilidade de terceiros pode ingerir métricas do Policy Controller.
Por exemplo, se você estiver usando painéis do Grafana, adicione a API Cloud Monitoring como a fonte de dados no Grafana. Para saber mais, consulte Google Cloud Monitoring na documentação do Grafana.
Métricas disponíveis
Se o Controlador de Políticas está ativado no cluster e configurado para realizar exportações para o Cloud Monitoring, você pode consultar as seguintes
métricas (todas prefixadas com OpenCensus/
):
Nome | Tipo | Rótulos | Descrição |
---|---|---|---|
OpenCensus/audit_duration_seconds |
Cumulativo | Distribuição da duração do ciclo de auditoria | |
OpenCensus/audit_last_run_time |
Medidor | O carimbo de data e hora da época desde o último ambiente de execução da auditoria, fornecido como segundos em ponto flutuante | |
OpenCensus/constraint_template_ingestion_count |
Cumulativo | status | Número total de ações de ingestão de modelo de restrição |
OpenCensus/constraint_template_ingestion_duration_seconds |
Cumulativo | status | Distribuição de duração de ingestão de modelo de restrição |
OpenCensus/constraint_templates |
Medidor | status | Número atual de modelos de restrição |
OpenCensus/validation_request_count |
Contador | admission_status | Contagem de solicitações de admissão do servidor da API |
OpenCensus/validation_request_duration_seconds |
Cumulativo | admission_status | Distribuição da duração do pedido de admissão |
OpenCensus/violations |
Medidor | enforcement_action | Número de violações de auditoria detectadas no último ciclo de auditoria |
OpenCensus/watch_manager_intended_watch_gvk |
Medidor | Quantos Policy Controller do GroupVersionKinds exclusivos precisam estar assistindo. Essa métrica é uma combinação de recursos e restrições sincronizados. | |
OpenCensus/watch_manager_watched_gvk |
Medidor | Quantos Policy Controller do GroupVersionKinds exclusivos estão realmente assistindo. Essa métrica precisa convergir para ser igual a OpenCensus/watch_manager_intended_watch_gvk . |
Se o Controlador de Políticas está configurado para realizar exportações para o Prometheus, consulte as seguintes métricas (todas prefixadas com Prometheus/
):
Nome | Tipo | Rótulos | Descrição |
---|---|---|---|
Prometheus/gatekeeper_audit_duration_seconds/histogram |
Cumulativo | Distribuição da duração do ciclo de auditoria | |
Prometheus/gatekeeper_audit_last_run_end_time/gauge |
Medidor | O carimbo de data/hora da época do fim da última execução de auditoria, fornecido como segundos em ponto flutuante | |
Prometheus/gatekeeper_audit_last_run_time/gauge |
Medidor | O carimbo de data/hora da época do início da última execução de auditoria, fornecido como segundos em ponto flutuante | |
Prometheus/gatekeeper_constraint_template_ingestion_count/counter |
Cumulativo | status | Número total de ações de ingestão de modelo de restrição |
Prometheus/gatekeeper_constraint_template_ingestion_duration_seconds/histogram |
Cumulativo | status | Distribuição de duração de ingestão de modelo de restrição |
Prometheus/gatekeeper_constraint_templates/gauge |
Medidor | status | Número atual de modelos de restrição |
Prometheus/gatekeeper_validation_request_count/counter |
Cumulativo | admission_status, admission_dryrun | Contagem de solicitações de admissão do servidor da API |
Prometheus/gatekeeper_validation_request_duration_seconds/histogram |
Cumulativo | admission_status | Distribuição da duração do pedido de admissão |
Prometheus/gatekeeper_violations/gauge |
Medidor | enforcement_action | Número de violações de auditoria detectadas no último ciclo de auditoria |
Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge |
Medidor | Quantos Policy Controller do GroupVersionKinds exclusivos precisam estar assistindo. Essa métrica é uma combinação de recursos e restrições sincronizados. | |
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge |
Medidor | Quantos Policy Controller do GroupVersionKinds exclusivos estão realmente assistindo. Essa métrica precisa convergir para ser igual a Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge . |