Configurar un canal de notificaciones de protocolo simple de transferencia de correo (SMTP) para alertas de Prometheus

En esta página se describe cómo configurar un canal de notificaciones del protocolo simple de transferencia de correo (SMTP) para las alertas de Prometheus. Si decides no configurar este canal de notificaciones, podrás seguir viendo las alertas en infra-obs o platform-obs.

Antes de empezar

Configurar el dispositivo e instalar el software

Configurar canales de notificaciones

Sigue estos pasos para configurar los canales de notificación de Slack o de correo electrónico:

  1. Para crear un canal de notificación de alerta personalizado, aloja el servidor SMTP en tu red y ten a mano los detalles de configuración de SMTP (IP, nombre de usuario, contraseña y correo del destinatario) para crear la configuración de Alertmanager. Puedes validar que la IP del host SMTP es correcta haciendo ping desde bm03.

  2. Crea un archivo cm.yml con el siguiente contenido:

    El smtp_smarthost debe tener la dirección IP del servidor SMTP alojado por el 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. Actualiza los campos obligatorios con el contenido correcto.

  4. Ejecuta kubectl apply -f cm.yaml.

  5. Crea un ObservabilityPipelinerecurso personalizado con lo siguiente:

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

    Haz los cambios siguientes:

    • PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
    • CUSTOMIZED_CONFIGMAP_NAME: El nombre que has usado para el archivo de configuración en el objeto ConfigMap debe coincidir exactamente con el nombre del objeto ConfigMap. Por ejemplo, en el paso 2, si ha usado appl-alert-notification como nombre de ConfigMap, utilice el mismo nombre para el archivo de configuración en el objeto ObservabilityPipeline.

  6. Actualiza el espacio de nombres con el valor que has usado en el paso anterior.

  7. Ejecutar kubectl apply -f ob.yaml.

  8. Todas las alertas visibles en el panel de control de Grafana del GDC activan un correo si están en estado firing. Inicia Grafana en el espacio de nombres que has usado en los pasos anteriores y comprueba si hay alertas en estado firing. Las alertas se envían a tu correo.

Siguientes pasos