Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Configuración del receptor

El secreto de Alertmanager Config contiene la configuración de una instancia de Alertmanager que envía notificaciones basadas en las alertas que recibe de Prometheus.

Esta sección asume familiaridad con el funcionamiento conjunto de los componentes de monitoreo. Para más información sobre Alertmanager, consulta esta sección.

Creando receptores en la interfaz de usuario de Rancher

Requisitos previos:
  • La aplicación de monitorización necesita estar instalada.

  • Si configuraste la monitorización con un secreto de Alertmanager existente, debe tener un formato que sea compatible con la interfaz de usuario de Rancher. De lo contrario, solo podrás realizar cambios basados en la modificación directa del secreto de Alertmanager. Nota: Estamos continuando con las mejoras en los tipos de configuraciones de Alertmanager que podemos soportar utilizando la interfaz de usuario de Rutas y Receptores, así que por favor informa de un problema si tienes una solicitud para una mejora de funcionalidad.

  1. Ve al clúster donde deseas crear receptores. Haz clic en Monitorización -> Alerting -> AlertManagerConfigs.

  2. Haga clic en Crear.

  3. Introduce un Nombre para la nueva AlertmanagerConfig.

  4. Haga clic en Crear.

  5. Después de crear la AlertManagerConfig, haz clic en ella para añadir un receptor.

  6. Haz clic en Añadir Receptor.

  7. Introduce un Nombre para el receptor.

  8. Configura uno o más proveedores para el receptor. Para ayuda al completar los formularios, consulta las opciones de configuración a continuación.

  9. Haga clic en Crear.

Resultado: Las alertas pueden configurarse para enviar notificaciones a los receptores.

Configuración del receptor

Las integraciones de notificación se configuran con el receiver, que se explica en la documentación de Prometheus.

Nativo vs. Receptores no nativos

Por defecto, AlertManager proporciona integración nativa con algunos receptores, que se enumeran en esta sección. Todos los receptores soportados de forma nativa son configurables a través de la interfaz de usuario de Rancher.

Para mecanismos de notificación, como Telegram, que no son compatibles de forma nativa con AlertManager, la integración se logra utilizando el receptor de webhook. Se puede encontrar una lista de controladores de terceros que proporcionan tales integraciones aquí. El acceso a estos controladores y sus integraciones asociadas se proporciona a través de la aplicación Alerting Drivers. Una vez habilitados, la configuración de receptores no nativos también se puede realizar a través de la interfaz de usuario de Rancher.

Actualmente, la aplicación Alerting Drivers de Rancher proporciona acceso a las siguientes integraciones:

  • Microsoft Teams, basado en el prom2teams controlador.

  • Telegram, basado en el Sachet controlador.

Los siguientes tipos de receptores se pueden configurar en la interfaz de usuario de Rancher:

La opción de receptor personalizado se puede utilizar para configurar cualquier receptor en YAML que no se pueda configurar completando los otros formularios en la interfaz de usuario de Rancher.

Slack

Campo Tipo Descripción

URL

Cadena

Introduce tu URL de webhook de Slack. Para instrucciones sobre cómo crear un webhook de Slack, consulta la documentación de Slack.

Canal Predeterminado

Cadena

Introduce el nombre del canal en el que deseas enviar notificaciones de alerta en el siguiente formato: #<channelname>.

URL del proxy

Cadena

Proxy para las notificaciones de webhook.

Habilitar el envío de alertas resueltas

Bool

Si se debe enviar una notificación de seguimiento si una alerta ha sido resuelta (por ejemplo, [Resuelto] Uso alto de CPU).

Correo electrónico

Campo Tipo Descripción

Dirección de Destinatario Predeterminada

Cadena

La dirección de correo electrónico que recibirá las notificaciones.

Habilitar el envío de alertas resueltas

Bool

Si se debe enviar una notificación de seguimiento si una alerta ha sido resuelta (por ejemplo, [Resuelto] Uso alto de CPU).

Opciones SMTP:

Campo Tipo Descripción

Remitente

Cadena

Introduce una dirección de correo electrónico disponible en tu servidor de correo SMTP desde la que deseas enviar la notificación.

Host

Cadena

Introduce la dirección IP o el nombre de host de tu servidor SMTP. Ejemplo: smtp.email.com.

Usar TLS

Bool

Usar TLS para la encriptación.

Nombre de usuario

Cadena

Introduce un nombre de usuario para autenticarte con el servidor SMTP.

Contraseña

Cadena

Introduce una contraseña para autenticarte con el servidor SMTP.

PagerDuty

Campo Tipo Descripción

Tipo de integración

Cadena

Events API v2 o Prometheus.

Clave de integración por defecto

Cadena

Para instrucciones sobre cómo obtener una clave de integración, consulta la documentación de PagerDuty.

URL del proxy

Cadena

Proxy para las notificaciones de PagerDuty.

Habilitar el envío de alertas resueltas

Bool

Si se debe enviar una notificación de seguimiento si una alerta ha sido resuelta (por ejemplo, [Resuelto] Uso alto de CPU).

Opsgenie

Campo Descripción

Clave de API

Para instrucciones sobre cómo obtener una clave de API, consulta la documentación de Opsgenie.

URL del proxy

Proxy para las notificaciones de Opsgenie.

Habilitar el envío de alertas resueltas

Si se debe enviar una notificación de seguimiento si una alerta ha sido resuelta (por ejemplo, [Resuelto] Uso alto de CPU).

Respondedores de Opsgenie:

Campo Tipo Descripción

Tipo

Cadena

Horario, Equipo, Usuario o Escalación. Para más información sobre los respondedores de alertas, consulta la documentación de Opsgenie.

Enviar a

Cadena

Id, Nombre o Nombre de usuario del destinatario de Opsgenie.

Webhook

Campo Descripción

URL

URL del webhook para la aplicación de tu elección.

URL del proxy

Proxy para la notificación del webhook.

Habilitar el envío de alertas resueltas

Si se debe enviar una notificación de seguimiento si una alerta ha sido resuelta (por ejemplo, [Resuelto] Uso alto de CPU).

Personalizado

El YAML proporcionado aquí se añadirá directamente a tu receptor dentro del secreto de Configuración de Alertmanager.

Equipos

Habilitando el receptor de Teams para clústeres downstream

El receptor de Teams no es un receptor nativo y debe ser habilitado antes de poder ser utilizado. Puedes habilitar el receptor de Teams para un clúster downstream yendo a la página de Apps e instalando la aplicación rancher-alerting-drivers con la opción de Teams seleccionada.

  1. En la interfaz de Rancher, ve al clúster donde deseas instalar rancher-alerting-drivers y haz clic en Apps.

  2. Haz clic en la aplicación Alerting Drivers.

  3. Haz clic en la pestaña Helm Deploy Options.

  4. Selecciona la opción Teams y haz clic en Instalar.

  5. Toma nota del espacio de nombres utilizado, ya que será necesario en un paso posterior.

Configurando el receptor de Teams

  1. Para configurar el receptor de Teams, actualiza su ConfigMap. El siguiente ejemplo es una configuración mínima del receptor de Teams:

     [Microsoft Teams]
     connector: https://your-teams-webhook-url
  2. Después de actualizar la configuración, sigue las instrucciones en Creando Receptores en la interfaz de Rancher para añadir el receptor. Utiliza el ejemplo a continuación para formar tu URL. Asegúrate de reemplazar <namespace> con el espacio de nombres de la aplicación rancher-alerting-drivers:

     url: http://rancher-alerting-drivers-prom2teams.<namespace>.svc:8089/v2/connector

SMS

Habilitando el receptor de SMS para clústeres downstream

El receptor de SMS no es un receptor nativo y debe ser habilitado antes de poder ser utilizado. Puedes habilitar el receptor de SMS para un clúster downstream yendo a la página de Apps e instalando la aplicación rancher-alerting-drivers con la opción de SMS seleccionada.

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, ve al clúster donde quieras instalar rancher-alerting-drivers y haz clic en Explorar.

  3. En la barra de navegación izquierda, haz clic en

  4. Haz clic en la aplicación Alerting Drivers.

  5. Haz clic en la pestaña Opciones de Despliegue de Helm

  6. Selecciona la opción SMS y haz clic en Instalar.

  7. Toma nota del espacio de nombres utilizado, ya que será necesario en un paso posterior.

Configurando el Receptor de SMS

El receptor de SMS se puede configurar actualizando su ConfigMap. Por ejemplo, la siguiente es una configuración mínima del receptor de SMS.

providers:
  telegram:
    token: 'your-token-from-telegram'

receivers:
- name: 'telegram-receiver-1'
  provider: 'telegram'
  to:
    - '123456789'

Cuando la configuración esté completa, añade el receptor utilizando los pasos en esta sección.

Utiliza el ejemplo a continuación como el nombre y la URL, donde:

  • el nombre asignado al receptor, por ejemplo telegram-receiver-1, debe coincidir con el nombre en el campo receivers.name en el ConfigMap, por ejemplo telegram-receiver-1.

  • ns-1 en la URL se reemplaza con el espacio de nombres donde está instalada la aplicación rancher-alerting-drivers.

name: telegram-receiver-1
url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert

Telegram

Habilitando el Receptor de Telegram para clústeres downstream

El receptor de Telegram no es un receptor nativo. Debes habilitarlo antes de que se pueda utilizar. Puedes habilitar el receptor de Telegram para un clúster downstream yendo a la página Apps e instalando la aplicación rancher-alerting-drivers con la opción Telegram seleccionada:

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, ve al clúster donde quieras instalar rancher-alerting-drivers y haz clic en Explorar.

  3. En la barra de navegación izquierda, haz clic en Apps.

  4. Haz clic en la aplicación Alerting Drivers.

  5. Haz clic en Instalar.

  6. En la página que se abre a continuación, asegúrate de que la casilla Habilitar SMS esté seleccionada. Las notificaciones de Telegram requieren que habilites SMS.

  7. Toma nota del espacio de nombres utilizado, ya que será necesario en un paso posterior.

Prueba la configuración configurando una PrometheusRule.

Para probar tu configuración, crea una PrometheusRule que genere alertas continuamente.

NOTA

Esta regla está destinada únicamente a probar si las alertas de Telegram funcionan como se espera. No la dejes activa una vez completada la prueba.

  1. En el menú de navegación de la izquierda, haz clic en Monitorización.

  2. Haz clic en Avanzado.

  3. Haz clic en PrometheusRules  Crear.

  4. Selecciona un espacio de nombres para colocar la regla y nombra la regla adecuadamente.

  5. Establece el nombre del grupo en test. Utiliza este valor más tarde cuando crees un Route en el AlertManagerConfig.

  6. Bajo Alerting Rules haz clic en Añadir.

  7. Establece un Nombre de Alerta apropiado.

  8. Para activar la alerta de inmediato y de forma continua, introduce la siguiente expresión PromQL: vector(1).

  9. Bajo Etiquetas, haz clic en Añadir Etiqueta. Introduce la clave test y el valor alert. Este par clave-valor también se utilizará más tarde.

Configura un AlertManagerConfig.

Configura un AlertManagerConfig para contener la configuración de Receiver y Route para la PrometheusRule creada anteriormente:

  1. Haz clic en Monitorización  Alertas, y abre AlertManagerConfigs.

  2. Haga clic en Crear

Crea un receptor en AlertManagerConfig.

  1. Elige un espacio de nombres del menú desplegable y establece un nombre apropiado.

  2. Haga clic en Crear.

  3. Abre el AlertManagerConfig recién creado y haz clic en ⋮ > Editar Config.

  4. Haz clic en Añadir Receptor.

  5. Selecciona Webhook de la lista en la página Crear Receptor en AlertmanagerConfig.

  6. Nombra el webhook y haz clic en Añadir Webhook.

  7. En el menú desplegable Seleccionar Tipo de Webhook, selecciona SMS. Esto rellenará automáticamente el campo Objetivo como http://rancher-alerting-drivers-sachet.cattle-monitoring-system.svc:9876/alert. Si instalaste los Controladores de Alerta en un espacio de nombres diferente a cattle-monitoring-system, la URL de destino reflejará eso.

  8. Haga clic en Crear.

Crea una Ruta en AlertManagerConfig

  1. Haz clic en ⋮ > Editar Configuración.

  2. Haz clic en Ruta.

  3. En el menú desplegable, selecciona el Receptor que acabas de crear.

  4. En el campo Etiquetas para Agrupar Alertas Por, escribe test.

  5. Bajo Espera e Intervalos, establece Espera de Grupo en 1s y Intervalo de Grupo en 10s. Esto provoca alertas frecuentes. Cambia los valores según sea apropiado.

  6. Bajo Coincidencias, haz clic en Añadir Coincidencia. Introduce test en el campo Nombre y alert en el campo Valor. Desde el menú desplegable Tipo de Coincidencia, selecciona MatchEqual.

  7. Haz clic en Guardar.

Configurando el Receptor de Telegram

Puedes configurar el receptor de Telegram actualizando el rancher-alerting-drivers-sachet ConfigMap en el espacio de nombres cattle-monitoring-system. Por ejemplo, lo siguiente es una configuración mínima del receptor de Telegram:

providers:
  telegram:
    token: <your-token-from-telegram>

receivers:
- name: 'cattle-monitoring-system/test-amc/prom2tel'
  provider: 'telegram'
  to:
    - '123456789'

Para obtener un token de Telegram, configura un bot de Telegram. Consulta la guía oficial de Telegram para más detalles. Después de terminar de configurar el receptor, añádelo.

Nombra el receptor <namespace>/<alertmanagerconfig-name>/<receiver-name>. Introduce 123456789 como un marcador de posición para el ID de usuario de Telegram al que enviar las notificaciones. Para encontrar tu ID de Telegram, consulta el bot de información de usuario de Telegram.

Ahora deberías recibir notificaciones de Telegram al ID de usuario. Si no recibes notificaciones, por favor verifica si hay errores reportados en el Pod para la ampliación rancher-alerting-drivers-sachet bajo el espacio de nombres cattle-monitoring-system.

Configurando múltiples receptores.

Al editar los formularios en la interfaz de usuario de Rancher, puedes configurar un recurso de Receptor con toda la información que Alertmanager necesita para enviar alertas a tu sistema de notificación.

También es posible enviar alertas a múltiples sistemas de notificación. Una forma es configurar el Receptor utilizando YAML personalizado, en cuyo caso puedes añadir la configuración para múltiples sistemas de notificación, siempre que estés seguro de que ambos sistemas deben recibir los mismos mensajes.

También puedes configurar múltiples receptores utilizando la opción continue para una ruta, de modo que las alertas enviadas a un receptor continúen siendo evaluadas en el siguiente nivel del árbol de enrutamiento, que podría contener otro receptor.

Ejemplos de Configuraciones de Alertmanager

Slack

Para configurar notificaciones a través de Slack, el siguiente YAML de configuración de Alertmanager puede ser colocado en la clave alertmanager.yaml del Secreto de Configuración de Alertmanager, donde el api_url debe ser actualizado para usar tu URL de Webhook de Slack:

route:
  group_by: ['job']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
  slack_configs:
  - send_resolved: true
    text: '{{ template "slack.rancher.text" . }}'
    api_url: <user-provided slack webhook url here>
templates:
- /etc/alertmanager/config/*.tmpl

PagerDuty

Para configurar notificaciones a través de PagerDuty, utiliza el ejemplo a continuación de la documentación de PagerDuty como guía. Este ejemplo configura una ruta que captura alertas para un servicio de base de datos y las envía a un receptor vinculado a un servicio que notificará directamente a los DBAs en PagerDuty, mientras que todas las demás alertas serán dirigidas a un receptor por defecto con una clave de integración de PagerDuty diferente.

El siguiente YAML de configuración de Alertmanager puede ser colocado en la clave alertmanager.yaml del Secreto de Configuración de Alertmanager. El service_key debe ser actualizado para usar tu clave de integración de PagerDuty y se puede encontrar según la sección "Integración con el Enrutamiento de Eventos Global" de la documentación de PagerDuty. Para la lista completa de opciones de configuración, consulta la documentación de Prometheus.

route:
 group_by: [cluster]
 receiver: 'pagerduty-notifications'
 group_interval: 5m
 routes:
  - match:
      service: database
    receiver: 'database-notifcations'

receivers:
- name: 'pagerduty-notifications'
  pagerduty_configs:
  - service_key: 'primary-integration-key'

- name: 'database-notifcations'
  pagerduty_configs:
  - service_key: 'database-integration-key'

Ejemplo de Configuración de Ruta para Alertas de Escaneo de Cumplimiento

Al configurar las rutas para las alertas de rancher-compliance, podéis especificar la coincidencia utilizando el par clave-valor job: rancher-compliance-scan.

Por ejemplo, la siguiente configuración de ruta de ejemplo podría ser utilizada con un receptor de Slack llamado test-compliance:

spec:
  receiver: test-compliance
  group_by:
#    - string
  group_wait: 30s
  group_interval: 30s
  repeat_interval: 30s
  match:
    job: rancher-compliance-scan
#    key: string
  match_re:
    {}
#    key: string

Para más información sobre cómo habilitar alertas para rancher-compliance, consulta esta sección.

CA de confianza para Notificadores

Si necesitas añadir CA de confianza a tu notificador, sigue los pasos en esta sección.