Configura canales de notificaciones para las alertas

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

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

En los entornos aislados de Google Distributed Cloud (GDC), no están disponibles 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 recursos personalizados de ObservabilityPipeline en el espacio de nombres de tu proyecto para aplicar la configuración del canal.

Si personalizan los canales de notificaciones, los administradores pueden lograr lo siguiente:

  • Dirige las alertas a destinatarios específicos: Envía alertas a personas, equipos o rotaciones de guardia específicos responsables de abordar los problemas.
  • Usa los métodos de comunicación preferidos: Envía alertas a través de canales como SMS, PagerDuty, webhooks o integraciones personalizadas, según las preferencias individuales y los flujos de trabajo operativos.
  • Evita la fatiga que generan las alertas: Reduce el ruido y asegúrate 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. Por lo general, este proceso implica especificar parámetros como los siguientes:

  • Tipo de canal: Es el tipo de canal que se usa.
  • Destino: Es el extremo al que el sistema debe enviar notificaciones.
  • Autenticación: Cualquier credencial requerida para acceder al destino.

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

Antes de comenzar

Para obtener los permisos que necesitas para administrar recursos personalizados de ObservabilityPipeline, pídele al administrador de IAM de la organización o al administrador de IAM del proyecto que te otorgue uno de los roles de ObservabilityPipeline asociados.

Además, para obtener los permisos que necesitas para administrar objetos ConfigMap en el espacio de nombres de tu proyecto, que se requieren para definir reglas de configuración, pídele a tu administrador de IAM de la organización o a tu administrador de IAM del proyecto que te otorgue el rol de creador de ConfigMap.

Según el nivel de acceso y los permisos que necesites, es posible que obtengas roles de creador, editor o visualizador para estos recursos en una organización o un proyecto. Para obtener más información, consulta Prepara los permisos de IAM.

Configura los 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 y, luego, incluye tu configuración personalizada del archivo alertmanager.yml en el campo data.

    En el siguiente ejemplo, se muestra cómo debe verse 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
    
      [...]
    

    Reemplaza lo siguiente:

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

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Reemplaza lo siguiente:

    • KUBECONFIG_PATH: Es la ruta al archivo kubeconfig del servidor de la API de Management.
    • CONFIGMAP_NAME: Es el nombre del archivo de definición de 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
    
      [...]
    

    Reemplaza lo siguiente:

    • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
    • OBSERVABILITY_PIPELINE_NAME: es el nombre del recurso personalizado de ObservabilityPipeline.
    • CONFIGMAP_NAME: Es el nombre que usaste 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 de Management en el mismo espacio de nombres que las alertas configuradas:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Reemplaza lo siguiente:

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