Configura un canale di notifica Simple Mail Transfer Protocol (SMTP) per gli avvisi di Prometheus

Questa pagina descrive come configurare un canale di notifica Simple Mail Transfer Protocol (SMTP) per gli avvisi di Prometheus. Se scegli di non configurare questo canale di notifica, puoi comunque visualizzare gli avvisi in infra-obs o platform-obs.

Segui i passaggi riportati di seguito per configurare i canali di notifica Slack o email:

  1. Per creare un canale di notifica degli avvisi personalizzato, ospita il server SMTP nella tua rete e tieni a portata di mano i dettagli di configurazione SMTP (IP, nome utente, password, email del destinatario) per creare la configurazione di Alertmanager. Puoi convalidare la correttezza dell'IP host SMTP eseguendo il ping da bm03.

  2. Crea un file cm.yml con il seguente contenuto:

    smtp_smarthost deve avere l'indirizzo IP del server SMTP ospitato dal 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. Aggiorna i campi obbligatori con i contenuti corretti.

  4. Esegui kubectl apply -f cm.yaml.

  5. Crea una risorsa personalizzata ObservabilityPipeline con quanto segue:

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

    Sostituisci quanto segue:

    • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
    • CUSTOMIZED_CONFIGMAP_NAME: il nome che hai utilizzato per il file di configurazione nell'oggetto ConfigMap deve corrispondere esattamente al nome dell'oggetto ConfigMap. Ad esempio, nel passaggio 2, se hai utilizzato appl-alert-notification come nome di ConfigMap, utilizza lo stesso nome per il file di configurazione nell'oggetto ObservabilityPipeline.

  6. Aggiorna lo spazio dei nomi al valore utilizzato nel passaggio precedente.

  7. Esegui kubectl apply -f ob.yaml.

  8. Tutti gli avvisi visibili nella dashboard Grafana del GDC attivano un'email se si trovano nello stato firing. Avvia Grafana per lo spazio dei nomi che hai utilizzato nei passaggi precedenti e verifica la presenza di avvisi nello stato firing. Gli avvisi vengono inviati al tuo indirizzo email.