Nesta página, mostramos como criar políticas de alertas para clusters do Anthos em clusters bare metal.
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 indisponível
Neste exercício, você cria uma política de alertas para os servidores da API Kubernetes dos clusters. Com essa política em vigor, é possível ser notificado sempre que o servidor da API de um cluster ficar inativo.
Faça o download do arquivo de configuração da política: 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 do Anthos em bare metal indisponível (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 baremetal API server is up
gcloud
gcloud alpha monitoring policies list
A resposta mostra informações detalhadas sobre a política. Por exemplo:
--- combiner: OR conditions: - conditionMonitoringQueryLanguage: duration: 0s query: |- { t_0: fetch k8s_container | metric 'kubernetes.io/anthos/up' | filter (resource.container_name =~ 'kube-apiserver') | align mean_aligner() | group_by 1m, [value_up_mean: mean(value.up)] | every 1m | group_by [resource.project_id, resource.location, resource.cluster_name], [value_up_mean_aggregate: aggregate(value_up_mean)] ; t_1: fetch k8s_container::kubernetes.io/anthos/anthos_cluster_info | filter (metric.anthos_distribution = 'baremetal') | align mean_aligner() | group_by [resource.project_id, resource.location, resource.cluster_name], [value_anthos_cluster_info_aggregate: aggregate(value.anthos_cluster_info)] | every 1m } | join | value [t_0.value_up_mean_aggregate] | window 1m | absent_for 300s trigger: count: 1 displayName: Anthos on baremetal API server is up name: projects/xxxxxx/alertPolicies/8497323605386949154/conditions/8497323605386950375 creationRecord: mutateTime: '2021-03-17T23:07:18.618778106Z' mutatedBy: sharon@example.com displayName: Anthos on baremetal API server down (critical) enabled: true mutationRecord: mutateTime: '2021-03-17T23:07:18.618778106Z' mutatedBy: sharon@example.com name: projects/xxxxxx/alertPolicies/8497323605386949154
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 dos componentes do plano de controle
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring |
---|---|---|
Servidor da API do Anthos em bare metal indisponível (crítico) | O servidor da API desapareceu da descoberta do alvo de métricas | apiserver-down.json |
Programador do Anthos em bare metal indisponível (crítico) | O programador desapareceu da descoberta do alvo de métricas | scheduler-down.json |
Gerenciador do controlador do Anthos em bare metal indisponível (crítico) | O gerenciador do controlador desapareceu da descoberta do alvo de métricas | controller-manager-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 Anthos em bare metal (crítico) | O pod está em um status de loop de falha | pod-crash-looping.json |
O pod do Anthos em bare metal 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 Anthos em bare metal (crítico) | Espera-se que o volume permanente requisitado seja preenchido | persistent-volume-usage-high.json |
O nó do Anthos em bare metal 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 |
O uso da CPU do nó do Anthos em bare metal excede 80% (crítico) | O uso da CPU do nó é superior a 80% | node-cpu-usage-high.json |
O uso da memória do nó do Anthos em bare metal excede 80% (crítico) | O uso da memória do nó é superior a 80% | node-memory-usage-high.json |
O uso do disco de nós do Anthos em bare metal excede 80% (crítico) | O uso do disco de nós é superior a 80% | node-disk-usage-high.json |
Desempenho do Kubernetes
Nome do alerta | Descrição | Definição da política de alertas no Cloud Monitoring |
---|---|---|
A proporção de erros de servidor da API do Anthos em bare metal excede 10% (crítico) | O servidor da API está retornando erros para mais de 10% das solicitações | api-server-error-ratio-10-percent.json |
A proporção de erros de servidor da API do Anthos em bare metal excede 5% (aviso) | O servidor da API está retornando erros para mais de 5% das solicitações | api-server-error-ratio-5-percent.json |
A variante do etcd do Anthos em bare metal muda com muita frequência (crítico). | A variante do etcd muda com muita frequência | etcd-leader-changes-too-frequent.json |
As propostas do etcd do Anthos em bare metal estão falhando com muita frequência (crítico) | As propostas do etcd estão falhando com muita frequência | etcd-proposals-failed-too-frequent.json |
O servidor do etcd do Anthos em bare metal não está no quórum (crítico) | O servidor do etcd não está no quórum | etcd-server-not-in-quorum.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.