Como criar políticas de alerta

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 do projeto

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.

  1. Faça o download do arquivo de configuração da política: 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 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:

  1. Para fazer o download do arquivo de configuração, clique no link na coluna da direita.

  2. Para criar a política, execute gcloud alpha monitoring policies create.

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
O líder do Anthos em baremetal etcd muda com muita frequência (crítico) A variante etcd é alterada 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 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 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.