Nesta página, mostramos como criar políticas de alertas para clusters do GKE On-Prem.
Antes de começar
Para criar políticas de alertas, é necessário ter as seguintes permissões:
- monitoring.alertPolicies.create
- monitoring.alertPolicies.delete
- monitoring.alertPolicies.update
Você terá essas permissões se tiver um dos seguintes papéis:
- monitoring.alertPolicyEditor
- monitoring.editor
- Editor do projeto
- Proprietário de projetos
Para verificar seus papéis, acesse a página do IAM no Console do Google Cloud.
Como criar uma política: servidor da API de cluster do administrador indisponível
Neste exercício, você cria uma política de alertas para os servidores da API Kubernetes dos clusters de administrador. Com essa política em vigor, é possível ser notificado sempre que o servidor da API de um cluster de administrador ficar inativo.
Faça o download do arquivo de configuração da política: admin-cluster-apiserver-down.json.
Crie a política:
gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
Substitua POLICY_CONFIG pelo caminho do arquivo de configuração que você acabou de receber.
Veja suas políticas de alertas:
Console
No Console do Google Cloud, acesse a página Monitoring.
À esquerda, selecione Alertas.
Em Políticas, é possível ver uma lista das suas políticas de alertas.
Na lista, selecione Servidor da API de cluster de administrador do GKE On-Prem inativo (crítico) para ver detalhes sobre a nova política. Em Condições, você pode ver uma descrição da política. Por exemplo:
Policy violates when ANY condition is met Anthos On-Prem Admin Cluster API Server is up Violates when: Any kubernetes.io/anthos/up stream is absent for greater than 5 minutes
gcloud
gcloud alpha monitoring policies list
A resposta mostra informações detalhadas sobre a política. Por exemplo:
combiner: OR conditions: – conditionAbsent: aggregations: - alignmentPeriod: 60s crossSeriesReducer: REDUCE_SUM groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name perSeriesAligner: ALIGN_MEAN duration: 300s filter: resource.type="k8s_container" AND metric.type="kubernetes.io/anthos/up" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 ... displayName: GKE on-prem admin cluster API server down (critical) enabled: true ... name: projects/xxxxxx/alertPolicies/12331540576820203183
Como criar outras políticas de alertas
Nesta seção, fornecemos descrições e arquivos de configuração para um conjunto de políticas de alertas recomendadas.
Para criar uma política, siga as mesmas etapas usadas no exercício anterior:
Clique no link na coluna à direita para fazer o download do arquivo de configuração.
Execute
gcloud alpha monitoring policies create
para criar a política.
Disponibilidade de componentes do plano de controle do cluster do administrador
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring |
---|---|---|
Servidor da API de cluster de administrador do GKE On-Prem inativo (crítico) | O servidor da API de cluster de administrador desapareceu da descoberta do alvo de métricas | admin-cluster-apiserver-down.json |
Programador de cluster de administrador local do GKE inativo (crítico) | O programador de clusters do administrador desapareceu da descoberta do alvo de métricas | admin-cluster-scheduler-down.json |
Gerenciador do controlador de cluster do administrador no GKE On-Prem inativo (crítico) | O gerenciador do controlador de cluster do administrador desapareceu da descoberta do alvo de métricas | admin-cluster-controller-manager-down.json |
Gerenciador do controlador de cluster do administrador no GKE On-Prem inativo (crítico) | O gerenciador do controlador de cluster do administrador desapareceu da descoberta do alvo de métricas | admin-cluster-etcd-down.json |
Disponibilidade de componentes do plano de controle do cluster do usuário
Os alertas do plano de controle do cluster do usuário são baseados em métricas. Para a maioria das
métricas do cluster, o campo cluster_name
é o nome do próprio cluster. Mas para
métricas de plano de controle do cluster do usuário, o campo cluster_name
é o nome do
cluster de administrador, e o campo namespace_name
é o nome do cluster de usuário.
Você pode ver isso em uma captura de tela em Criar um painel de status do plano de controle.
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring | |
---|---|---|---|
Servidor da API do cluster de usuários do GKE On-Prem inativo (crítico) | O servidor da API de cluster de usuários desapareceu da descoberta do alvo de métricas | user-cluster-apiserver-down.json | |
Programador de cluster de usuário local do GKE On-Prem inativo (crítico) | O programador de cluster do usuário desapareceu da descoberta do alvo de métricas | user-cluster-scheduler-down.json | |
Gerenciador do controlador de cluster de usuário do GKE On-Prem inativo (crítico) | O gerenciador do controlador de cluster do usuário desapareceu da descoberta do alvo de métricas | user-cluster-controller-manager-down.json | |
Etcd do cluster do usuário do GKE On-Prem inativo (crítico) | Etcd do cluster do usuário desapareceu da descoberta do alvo de métricas | user-cluster-etcd-down.json |
Sistema Kubernetes
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring |
---|---|---|
Ciclo de falha do pod do GKE On-Prem (crítico) | O pod está em um status de loop de falha | pod-crash-looping.json |
O pod do GKE On-Prem está há mais de uma hora em um estado "não pronto" (crítico). | O pod leva mais de uma hora para ficar pronto | pod-not-ready-1h.json |
Alto uso do volume permanente do GKE On-Prem (crítico) | O volume permanente requisitado deve ser preenchido | persistent-volume-usage-high.json |
O nó do GKE On-Prem está há mais de uma hora em um estado "não pronto" (crítico). | O nó leva mais de uma hora para ficar pronto | node-not-ready-1h.json |
Desempenho do Kubernetes
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring |
---|---|---|
A proporção de erros do servidor da API do cluster de administrador do GKE On-Prem ultrapassa 10% (crítico) | O servidor da API do cluster de administrador está retornando erros em mais de 10% das solicitações | admin-cluster-apiserver-error-ratio-10-percent.json |
A proporção de erros do servidor da API do cluster de administrador do GKE On-Prem ultrapassa 5 por cento (aviso) | O servidor da API do cluster de administrador está retornando erros em mais de 5% das solicitações | admin-cluster-apiserver-error-ratio-5-percent.json |
A proporção de erros do servidor da API do cluster de usuário do GKE On-Prem excede 10% (crítico) | O servidor da API do cluster de usuário está retornando erros em mais de 10% das solicitações | user-cluster-apiserver-error-ratio-10-percent.json |
A proporção de erros do servidor da API do cluster de usuário do GKE On-Prem excede 5% (aviso) | O servidor da API do cluster de usuário está retornando erros em mais de 5% das solicitações | user-cluster-apiserver-error-ratio-5-percent.json |
Como receber notificações
Depois de criar uma política de alertas, é possível definir um ou mais canais de notificação para essa política. Há vários tipos de canais de notificação. Por exemplo, é possível ser notificado por e-mail, um canal do Slack ou um app para dispositivos móveis. Você pode escolher os canais mais adequados.
Para instruções sobre como configurar canais de notificação, consulte Como gerenciar canais de notificação.