Usar métricas do Policy Controller
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 OpenCensus. É 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
No Anthos Config Management versão 1.12.0 e posteriores, é 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.
Nas versões do Anthos Config Management anteriores à 1.12.0, o Policy Controller exporta métricas apenas para o Prometheus.
Exportar métricas para o Cloud Monitoring
Se o Policy Controller estiver em execução em um ambiente do Google Cloud que tenha uma conta de serviço padrão, o Policy Controller exportará automaticamente as métricas para o Cloud Monitoring no Anthos Config Management versão 1.12.0 e posteriores.
Se a Identidade da carga de trabalho do GKE ou a Identidade da carga de trabalho da frota estiver ativada, siga as etapas a seguir:
Vincule o
gatekeeper-admin
da conta de serviço do Kubernetes no namespacegatekeeper-system
a uma conta de serviço do Google com o papel de gravador de métricas: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
Substitua:
PROJECT_ID
: o ID do projeto.GSA_NAME
: a conta de serviço do Google com o papel do IAM de gravador de métricas do Monitoring (roles/monitoring.metricWriter
).
Essa ação requer a permissão
iam.serviceAccounts.setIamPolicy
no projeto.Anote a conta de serviço do Kubernetes que usa o endereço de e-mail da conta de serviço do Google.
kubectl annotate serviceaccount \ --namespace gatekeeper-system \ gatekeeper-admin \ iam.gke.io/gcp-service-account=GSA_NAME@PROJECT_ID.iam.gserviceaccount.com
Reinicie o pod
gatekeeper-controller-manager
:kubectl rollout restart deployment gatekeeper-controller-manager -n gatekeeper-system
Para exemplos sobre como visualizar essas métricas, consulte Ler métricas do OpenCensus no Cloud Monitoring.
Exportar métricas para o Prometheus
Por padrão, o Policy Controller exporta métricas para o Prometheus na porta 8675. Também é possível configurar o Cloud Monitoring para extrair métricas personalizadas do Prometheus. Para mais informações, consulte Prometheus gerenciado.
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 Policy Controller estiver ativado no cluster, consulte as seguintes
métricas (todas prefixadas com OpenCensus/
):
Nome | Tipo | Rótulos | Descrição |
---|---|---|---|
OpenCensus/audit_duration_seconds |
Cumulative | 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 |
Cumulative | status | Número total de ações de ingestão de modelo de restrição |
OpenCensus/constraint_template_ingestion_duration_seconds |
Cumulative | 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 |
Cumulative | 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. Não implementado no momento | |
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. Não implementado no momento |