Configurar canales de notificación para alertas

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

Los canales de notificaciones son los mecanismos de entrega 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. De esta forma, las alertas críticas llegan al personal adecuado a través de sus métodos de comunicación preferidos.

En los entornos aislados de Google Distributed Cloud (GDC), los canales de notificaciones predefinidos, como Slack o el correo electrónico, no están disponibles. Para recibir alertas, debes configurar al menos un canal de notificaciones personalizado. Para aplicar las configuraciones de canales, edita los recursos personalizados ObservabilityPipeline en el espacio de nombres de tu proyecto.

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

  • Dirigirse a destinatarios específicos: enviar alertas directamente a personas, equipos o rotaciones de guardias responsables de solucionar problemas.
  • Usar métodos de comunicación preferidos: enviar alertas a través de canales como SMS, PagerDuty, webhooks o integraciones personalizadas, en función de las preferencias individuales y los flujos de trabajo operativos.
  • Evitar la saturación de alertas: reducir el ruido y asegurarse de que las alertas las reciban quienes 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 utiliza.
  • Destino: el endpoint al que el sistema debe enviar las notificaciones.
  • Autenticación: las credenciales necesarias para acceder al destino.

Al configurar canales de notificaciones, los administradores pueden asegurarse de que la plataforma de monitorización envíe de forma eficaz las alertas críticas, 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 gestionar los recursos personalizados ObservabilityPipeline, debes tener los permisos necesarios.

Solicitar roles de gestión de identidades y accesos de la organización

Ponte en contacto con el administrador de gestión de identidades y accesos de tu organización para solicitar los siguientes roles:

  • Creador de ObservabilityPipeline PA (observabilitypipeline-pa-creator): crea recursos personalizados ObservabilityPipeline.
  • Editor de ObservabilityPipeline PA (observabilitypipeline-pa-editor): edita o modifica recursos personalizados ObservabilityPipeline.
  • Lector de ObservabilityPipeline PA (observabilitypipeline-pa-viewer): ve recursos personalizados ObservabilityPipeline.
  • Editor de ConfigMap (observabilitypipeline-configmap-editor): crea objetos ConfigMap en el espacio de nombres de la plataforma.

Solicitar roles de gestión de identidades y accesos del proyecto

Ponte en contacto con el administrador de gestión de identidades y accesos de tu proyecto para solicitar los siguientes roles:

  • Editor de ObservabilityPipeline (observabilitypipeline-editor): edita o modifica recursos personalizados ObservabilityPipeline en el espacio de nombres del proyecto.
  • Lector de ObservabilityPipeline (observabilitypipeline-viewer): ve recursos personalizados ObservabilityPipeline en el espacio de nombres del proyecto.

Configurar canales de notificaciones

Configura canales de notificaciones para las alertas en el espacio de nombres de tu proyecto:

  1. Define tu configuración personalizada para los canales de notificaciones 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. Usarás este nombre 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 del recurso personalizado 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 ObservabilityPipeline.