Configurar canales de notificación para alertas

En esta página se describe el proceso para configurar canales de notificaciones y recibir alertas.

Los canales de notificaciones son los mecanismos de envío de las alertas que has configurado. El sistema notifica a los destinatarios designados a través de estos canales cuando un evento activa una alerta. Este proceso asegura que las alertas críticas lleguen al personal adecuado a través de sus métodos de comunicación preferidos.

En los entornos air-gapped de Google Distributed Cloud (GDC), no se pueden usar los canales de notificación predefinidos, como Slack o el correo electrónico. Para recibir alertas, debes configurar al menos un canal de notificaciones personalizado. Edita los ObservabilityPipelinerecursos personalizados en el espacio de nombres de tu proyecto para aplicar las configuraciones del canal.

Al personalizar los canales de notificaciones, los administradores pueden hacer lo siguiente:

  • Dirigir las alertas a destinatarios específicos: envía alertas directamente a personas, equipos o rotaciones de guardia responsables de solucionar los problemas.
  • Usar métodos de comunicación preferidos: envía alertas a través de canales como SMS, PagerDuty, webhooks o integraciones personalizadas, adaptándote a las preferencias individuales y a los flujos de trabajo operativos.
  • Evita la saturación de alertas: reduce el ruido y asegúrate de que las alertas las reciban las personas que deben tomar medidas.

Para implementar canales de notificaciones en GDC, los administradores deben definir la configuración del canal en el sistema. Este proceso suele incluir la especificación de parámetros como los siguientes:

  • Tipo de canal: el tipo de canal que se está usando.
  • Destino: el endpoint al que el sistema debe enviar las notificaciones.
  • Autenticación: las credenciales necesarias para acceder al destino.

Al configurar los canales de notificación, los administradores pueden asegurarse de que la plataforma de monitorización envíe alertas críticas de forma eficaz, lo que permite responder rápidamente a posibles problemas y mantener la estabilidad y el rendimiento de los entornos de GDC.

Antes de empezar

Para obtener los permisos que necesitas para gestionar recursos personalizados de ObservabilityPipeline, pide a tu administrador de gestión de identidades y accesos de la organización o del proyecto que te conceda uno de los roles de ObservabilityPipeline asociados.

Además, para obtener los permisos que necesitas para gestionar objetos ConfigMap en el espacio de nombres de tu proyecto, que son necesarios para definir reglas de configuración, pide al administrador de gestión de identidades y accesos de tu organización o al administrador de gestión de identidades y accesos de tu proyecto que te conceda el rol de creador de ConfigMap.

En función del nivel de acceso y de los permisos que necesites, puedes obtener los roles de creador, editor o lector de estos recursos en una organización o en un proyecto. Para obtener más información, consulta Preparar permisos de gestión de identidades y accesos.

Configurar canales de notificaciones

Configura los canales de notificación de las alertas en el espacio de nombres de tu proyecto:

  1. Define tu configuración personalizada para los canales de notificación en un archivo YAML llamado alertmanager.yml. Debes seguir la misma sintaxis que la especificación de Alertmanager:

    https://prometheus.io/docs/alerting/latest/configuration/.

  2. Crea un objeto ConfigMap e incluye tu configuración personalizada del archivo alertmanager.yml en el campo data.

    En el siguiente ejemplo se muestra cómo debe ser el objeto ConfigMap con el archivo alertmanager.yml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: CONFIGMAP_NAME
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
    data:
      # The file name must be alertmanager.yml
      alertmanager.yml: |
        # Define your notification channels.
        # Add the custom configuration in the following lines of this file.
        # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration
    
      [...]
    

    Haz los cambios siguientes:

    • CONFIGMAP_NAME: el nombre del archivo de definición ConfigMap. Este nombre se usa más adelante en el recurso personalizado ObservabilityPipeline.
    • PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
  3. Aplica el objeto ConfigMap al servidor de la API Management en el mismo espacio de nombres que las alertas configuradas:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Haz los cambios siguientes:

    • KUBECONFIG_PATH: la ruta al archivo kubeconfig del servidor de la API Management.
    • CONFIGMAP_NAME: el nombre del archivo de definición ConfigMap.
  4. Edita la especificación de recursos personalizados ObservabilityPipeline para importar tu configuración al campo alertmanagerConfig:

     # Configure the observability pipeline.
    apiVersion: observability.gdc.goog/v1
    kind: ObservabilityPipeline
    metadata:
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
      name: OBSERVABILITY_PIPELINE_NAME
    spec:
      # Configure alerts.
      alerting:
        # The alerting configuration must be in the ConfigMap.
        # The value must match the ConfigMap name exactly.
        alertmanagerConfig: CONFIGMAP_NAME
    
      [...]
    

    Haz los cambios siguientes:

    • PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
    • OBSERVABILITY_PIPELINE_NAME: el nombre del recurso personalizado ObservabilityPipeline.
    • CONFIGMAP_NAME: el nombre que has usado para el archivo de definición ConfigMap. El nombre debe coincidir exactamente.
  5. Guarda el archivo.

  6. Aplica los cambios del recurso personalizado ObservabilityPipeline al servidor de la API Management en el mismo espacio de nombres que las alertas configuradas:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Haz los cambios siguientes:

    • KUBECONFIG_PATH: la ruta al archivo kubeconfig del servidor de la API Management.
    • OBSERVABILITY_PIPELINE_NAME: el nombre del archivo de definición de ObservabilityPipeline.