Nesta página, mostramos como criar políticas de alertas para clusters do Anthos em clusters do VMware (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-unavailable.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 GKE on-prem admin cluster API server uptime is absent GKE on-prem admin cluster API server uptime is less than 99.99% per minute
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_MEAN groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name - resource.label.namespace_name - resource.label.container_name perSeriesAligner: ALIGN_MAX duration: 300s filter: resource.type = "k8s_container" AND resource.labels.namespace_name = "kube-system" AND metric.type = "kubernetes.io/anthos/container/uptime" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 displayName: GKE on-prem admin cluster API server uptime is absent name: projects/…/alertPolicies/17065318077071152828/conditions/17065318077071154437 - conditionThreshold: aggregations: - alignmentPeriod: 120s crossSeriesReducer: REDUCE_MEAN groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name - resource.label.namespace_name - resource.label.container_name perSeriesAligner: ALIGN_MAX comparison: COMPARISON_LT duration: 300s filter: resource.type = "k8s_container" AND resource.labels.namespace_name = "kube-system" AND metric.type = "kubernetes.io/anthos/container/uptime" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") thresholdValue: 119.0 trigger: count: 1 displayName: GKE on-prem admin cluster API server uptime is less than 99.99% per minute name: projects/…/alertPolicies/17065318077071152828/conditions/17065318077071151950 creationRecord: mutateTime: … mutatedBy: … displayName: GKE on-prem admin cluster API server unavailable (critical) enabled: true mutationRecord: mutateTime: … mutatedBy: … name: projects/xxxxxx/alertPolicies/17065318077071152828
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 do cluster de administrador não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | admin-cluster-apiserver-unavailable.json |
Programador de cluster de administrador local do GKE inativo (crítico) | O programador do cluster de administrador não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | admin-cluster-scheduler-unavailable.json |
Gerenciador do controlador de cluster do administrador no GKE On-Prem inativo (crítico) | O gerenciador de controladores do cluster de administrador não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | admin-cluster-controller-manager-unavailable.json |
Cluster de administrador do GKE On-Prem etcd indisponível (crítico) | O etcd do cluster de administrador não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | admin-cluster-etcd-unavailable.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 tempo de atividade 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 do cluster de usuário não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | user-cluster-apiserver-unavailable.json | |
Programador de cluster de usuário local do GKE On-Prem inativo (crítico) | O programador de cluster de usuário não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | user-cluster-scheduler-unavailable.json | |
Gerenciador do controlador de cluster de usuário do GKE On-Prem inativo (crítico) | O gerenciador de controladores de cluster do usuário não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | user-cluster-controller-manager-unavailable.json | |
Etcd do cluster do usuário do GKE On-Prem inativo (crítico) | O cluster do usuário etcd não está ativo ou o tempo de atividade é inferior a 99,99% por minuto | user-cluster-etcd-unavailable.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.