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

Esta página descreve como configurar um canal de notificação do protocolo SMTP (Simple Mail Transfer Protocol) para alertas do Prometheus. Se optar por não configurar este canal de notificação, continua a poder ver alertas em infra-obs ou platform-obs.

Siga os passos abaixo para configurar canais de notificação do Slack ou por email:

  1. Para criar um canal de notificação de alerta personalizado, aloje o servidor SMTP na sua rede e tenha os detalhes de configuração do SMTP (IP, nome de utilizador, palavra-passe, email do destinatário) prontos para criar a configuração do Alertmanager. Pode validar a correção do IP do anfitrião SMTP enviando-lhe um ping a partir de bm03.

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

    O smtp_smarthost tem de ter o endereço IP do servidor SMTP alojado 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. Corrida kubectl apply -f cm.yaml.

  5. Crie um ObservabilityPipeline recurso personalizado 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 o seguinte:

    • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
    • CUSTOMIZED_CONFIGMAP_NAME: o nome que usou para o ficheiro de configuração no objeto ConfigMap tem de corresponder exatamente ao nome do objeto ConfigMap. Por exemplo, no passo 2, se usou appl-alert-notification como o nome de ConfigMap, use o mesmo nome para o ficheiro de configuração no objeto ObservabilityPipeline.

  6. Atualize o espaço de nomes para o valor usado no passo anterior.

  7. Execução kubectl apply -f ob.yaml.

  8. Todos os alertas visíveis no painel de controlo do Grafana do GDC acionam um email se estiverem num estado firing. Inicie o Grafana para o espaço de nomes que usou nos passos anteriores e verifique se existem alertas no estado firing. Os alertas são enviados para o seu email.