|
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:
|
-
Ve al clúster donde deseas crear receptores. Haz clic en Monitorización -> Alerting -> AlertManagerConfigs.
-
Haga clic en Crear.
-
Introduce un Nombre para la nueva AlertmanagerConfig.
-
Haga clic en Crear.
-
Después de crear la AlertManagerConfig, haz clic en ella para añadir un receptor.
-
Haz clic en Añadir Receptor.
-
Introduce un Nombre para el receptor.
-
Configura uno o más proveedores para el receptor. Para ayuda al completar los formularios, consulta las opciones de configuración a continuación.
-
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: |
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: |
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 |
|
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.
-
En la interfaz de Rancher, ve al clúster donde deseas instalar rancher-alerting-drivers y haz clic en Apps.
-
Haz clic en la aplicación Alerting Drivers.
-
Haz clic en la pestaña Helm Deploy Options.
-
Selecciona la opción Teams y haz clic en Instalar.
-
Toma nota del espacio de nombres utilizado, ya que será necesario en un paso posterior.
Configurando el receptor de Teams
-
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 -
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ónrancher-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.
-
En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, ve al clúster donde quieras instalar
rancher-alerting-driversy haz clic en Explorar. -
En la barra de navegación izquierda, haz clic en
-
Haz clic en la aplicación Alerting Drivers.
-
Haz clic en la pestaña Opciones de Despliegue de Helm
-
Selecciona la opción SMS y haz clic en Instalar.
-
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 camporeceivers.nameen el ConfigMap, por ejemplotelegram-receiver-1. -
ns-1en la URL se reemplaza con el espacio de nombres donde está instalada la aplicaciónrancher-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:
-
En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, ve al clúster donde quieras instalar
rancher-alerting-driversy haz clic en Explorar. -
En la barra de navegación izquierda, haz clic en Apps.
-
Haz clic en la aplicación Alerting Drivers.
-
Haz clic en Instalar.
-
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.
-
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. |
-
En el menú de navegación de la izquierda, haz clic en Monitorización.
-
Haz clic en Avanzado.
-
Haz clic en .
-
Selecciona un espacio de nombres para colocar la regla y nombra la regla adecuadamente.
-
Establece el nombre del grupo en
test. Utiliza este valor más tarde cuando crees un Route en el AlertManagerConfig. -
Bajo Alerting Rules haz clic en Añadir.
-
Establece un Nombre de Alerta apropiado.
-
Para activar la alerta de inmediato y de forma continua, introduce la siguiente expresión PromQL:
vector(1). -
Bajo Etiquetas, haz clic en Añadir Etiqueta. Introduce la clave
testy el valoralert. 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:
-
Haz clic en , y abre AlertManagerConfigs.
-
Haga clic en Crear
Crea un receptor en AlertManagerConfig.
-
Elige un espacio de nombres del menú desplegable y establece un nombre apropiado.
-
Haga clic en Crear.
-
Abre el AlertManagerConfig recién creado y haz clic en ⋮ > Editar Config.
-
Haz clic en Añadir Receptor.
-
Selecciona Webhook de la lista en la página Crear Receptor en AlertmanagerConfig.
-
Nombra el webhook y haz clic en Añadir Webhook.
-
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 acattle-monitoring-system, la URL de destino reflejará eso. -
Haga clic en Crear.
Crea una Ruta en AlertManagerConfig
-
Haz clic en ⋮ > Editar Configuración.
-
Haz clic en Ruta.
-
En el menú desplegable, selecciona el Receptor que acabas de crear.
-
En el campo Etiquetas para Agrupar Alertas Por, escribe
test. -
Bajo Espera e Intervalos, establece Espera de Grupo en
1sy Intervalo de Grupo en10s. Esto provoca alertas frecuentes. Cambia los valores según sea apropiado. -
Bajo Coincidencias, haz clic en Añadir Coincidencia. Introduce
testen el campo Nombre yalerten el campo Valor. Desde el menú desplegable Tipo de Coincidencia, seleccionaMatchEqual. -
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.