Configurar um canal de notificação do Simple Mail Transfer Protocol (SMTP) para alertas do Prometheus

Nesta página, descrevemos como configurar um canal de notificação do Simple Mail Transfer Protocol (SMTP) para alertas do Prometheus. Se você não configurar esse canal de notificação, ainda poderá ver alertas em infra-obs ou platform-obs.

Siga estas etapas para configurar canais de notificação por e-mail ou Slack:

  1. Para criar um canal de notificação de alerta personalizado, hospede o servidor SMTP na sua rede e tenha os detalhes de configuração do SMTP (IP, nome de usuário, senha, e-mail do destinatário) prontos para criar a configuração do Alertmanager. Para validar a correção do IP do host SMTP, faça um ping dele em bm03.

  2. Crie um arquivo cm.yml com o seguinte conteúdo.

    O smtp_smarthost precisa ter o endereço IP do servidor SMTP hospedado pelo cliente.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        # The name must match the ConfigMap name specified in the ObservabilityPipeline custom resource.
        name: appl-alert-notification
        # The namespace must match the project namespace
        namespace: PROJECT_NAMESPACE
      data:
        # The file name must be alertmanager.yml
        alertmanager.yml: |
          global:
            smtp_smarthost: SMTP HOST IP ADDRESS
            smtp_from: FROM_EMAIL_ADDRESS
            # Give empty string for unsecured smtp server in username and password and false in smtp_require_tls.
            smtp_auth_username: USERNAME
            smtp_auth_password: PASSWORD
            smtp_require_tls: true
          route:
            group_by: ['alertname', 'cluster', 'service']
            group_wait: 30s
            group_interval: 5m
            repeat_interval: 3h
            receiver: team-X-mails
          receivers:
            - name: 'team-X-mails'
              email_configs:
                - to: **RECIEVER_EMAIL_ID**
    
  3. Atualize os campos obrigatórios com o conteúdo correto.

  4. Execute kubectl apply -f cm.yaml.

  5. Crie um recurso personalizado ObservabilityPipeline com o seguinte:

        # Configure observability pipeline
      apiVersion: observability.gdc.goog/v1
      kind: ObservabilityPipeline
      metadata:
        # Choose namespace that matches the project's namespace
        namespace: PROJECT_NAMESPACE
        name: observability-config
      spec:
        # Configure Alertmanager
        alerting:
          # Permission: PA and AO
          # The alerts configuration must be in the key "alertmanager.yml" of the configMap
          alertmanagerConfig: CUSTOMIZED_CONFIGMAP_NAME
        ...
    

    Substitua:

    • PROJECT_NAMESPACE: o namespace do projeto.
    • CUSTOMIZED_CONFIGMAP_NAME: o nome usado para o arquivo de configuração no objeto ConfigMap precisa corresponder exatamente ao nome do objeto ConfigMap. Por exemplo, na etapa 2, se você usou appl-alert-notification como o nome ConfigMap, use o mesmo nome para o arquivo de configuração no objeto ObservabilityPipeline.

  6. Atualize o namespace para o valor usado na etapa anterior.

  7. Executar kubectl apply -f ob.yaml.

  8. Todos os alertas visíveis no painel do Grafana do GDC acionam um e-mail se estiverem no estado firing. Inicie o Grafana para o namespace usado nas etapas anteriores e verifique se há alertas no estado firing. Os alertas são enviados para seu e-mail.