Configura un canal de notificaciones del Protocolo para transferencia simple de correo (SMTP) para las alertas de Prometheus

En esta página, se describe cómo configurar un canal de notificaciones del Protocolo para transferencia simple 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.

Sigue estos pasos para configurar los canales de notificaciones por Slack o correo electrónico:

  1. Para crear un canal de notificaciones de alerta personalizado, aloja el servidor SMTP en tu red y ten listos los detalles de configuración de SMTP (IP, nombre de usuario, contraseña y correo electrónico del receptor) para crear la configuración de Alertmanager. Puedes validar la corrección de la IP del host SMTP 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 recurso personalizado ObservabilityPipeline 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
        ...
    

    Reemplaza lo siguiente:

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

  6. Actualiza el espacio de nombres al valor que se usó en el paso anterior.

  7. Ejecuta kubectl apply -f ob.yaml.

  8. Todas las alertas visibles en el panel de Grafana del GDC activan un correo electrónico si se encuentran en estado firing. Inicia Grafana para el espacio de nombres que usaste en los pasos anteriores y verifica si hay alertas en estado firing. Las alertas llegan a tu correo electrónico.