Como criar políticas de alerta

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.

  1. Faça o download do arquivo de configuração da política: admin-cluster-apiserver-down.json.

  2. 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.

  3. Veja suas políticas de alertas:

    Console

    1. No Console do Google Cloud, acesse a página Monitoring.

      Acessar Monitoring

    2. À esquerda, selecione Alertas.

    3. 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:

  1. Clique no link na coluna à direita para fazer o download do arquivo de configuração.

  2. 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.