Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Integración con Webhooks

Puedes configurar Atlas para que envíe notificaciones de alerta a un punto final de webhook como solicitudes HTTP POST para su procesamiento programático. Los webhooks te permiten integrar las alertas de Atlas con sistemas de monitorización personalizados, plataformas de gestión de incidentes o flujos de trabajo de automatización.

Para integrar Atlas con webhooks, debe Organization Owner tener acceso o Project Owner al proyecto.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en el icono junto a Project Overview.

La página Configuración del proyecto se muestra.

2

Haz clic en la pestaña Integrations.

La página de Integraciones del proyecto se muestra.

3
4

En el campo Webhook URL, introduzca la URL del punto final donde Atlas debe enviar las notificaciones de alerta.

5

En el campo Webhook Secret, introduzca una clave secreta. Atlas utiliza esta clave secreta para generar el encabezado X-MMS-Signature para la verificación de la solicitud.

6

Para enviar alertas a tu webhook, configura las notificaciones de alerta. Para obtener más información, consulta Configurar ajustes de alerta.

Atlas incluye los siguientes encabezados HTTP con cada solicitud de webhook:

Encabezado
Descripción

X-MMS-Event

Indica el estado de alerta. Valores posibles:

  • alert.openAtlas acaba de abrir la alerta.

  • alert.close: Atlas resolvió la alerta.

  • alert.update: Una alerta previamente abierta sigue abierta.

  • alert.acknowledge: El usuario confirmó haber recibido la alerta.

  • alert.cancelLa alerta dejó de ser válida; Atlas la canceló.

  • alert.inform: Representa una alerta informativa, que es un evento puntual, como por ejemplo "Elección primaria".

X-MMS-Signature

(Opcional) Si especifica un secreto en el Webhook Secret campo, Atlas incluye este encabezado. Contiene la firma64 HMAC-SHA-codificada en Base1 del cuerpo de la solicitud. Atlas crea la firma utilizando el secreto proporcionado. Utilice este encabezado para verificar que la solicitud del webhook se originó en Atlas.

El cuerpo de la solicitud contiene un documento JSON que utiliza el mismo formato que el recurso Alertas de la API de administración de Atlas. La carga útil incluye campos clave como:

  • id: Identificador único para la alerta.

  • eventTypeName: Tipo de evento que activó la alerta.

  • created: Marca de tiempo en la que se creó la alerta.

  • status: Estado actual de la alerta (por ejemplo, OPEN, CLOSED).

  • humanReadable: Descripción legible para humanos de la alerta. Este campo contiene el nombre del proyecto y el nombre de la organización en el formato "Proyecto: [nombre del proyecto] Organización: [nombre de la organización]", junto con otros detalles de la alerta.

Para obtener una lista completa de los campos, consulte la documentación de la API de administración de Atlas "Obtener todas las alertas del proyecto".

El siguiente ejemplo muestra una carga útil de webhook de muestra para una alerta de espacio en disco:

{
"id": "5d1b6f8e8c2e4e2d3c4a5b6c",
"groupId": "5d1b6f8e8c2e4e2d3c4a5b6d",
"eventTypeName": "OUTSIDE_METRIC_THRESHOLD",
"status": "OPEN",
"created": "2024-01-15T10:30:00Z",
"updated": "2024-01-15T10:30:00Z",
"lastNotified": "2024-01-15T10:30:00Z",
"humanReadable": "Disk space used on data partition is 95.2%.
Project: MyProject Organization: MyOrganization",
"metricName": "DISK_PARTITION_SPACE_USED_DATA",
"currentValue": {
"number": 95.2,
"units": "RAW"
}
}

El campo Webhook Secret almacena un secreto que Atlas utiliza únicamente para generar el encabezado X-MMS-Signature para la verificación de la solicitud. Atlas no envía el secreto directamente como encabezado de autenticación ni como token de portador.

Si su punto final de webhook requiere autenticación, debe gestionarla de forma independiente utilizando uno de los siguientes métodos:

  • Parámetros de consulta: Incluya las credenciales de autenticación en como Webhook URL parámetros de consulta. Por ejemplo: https://example.com/webhook?token=your-auth-token

  • Lista de acceso IP: Configure su punto final de webhook para que solo acepte solicitudes de direcciones IP de Atlas. Esta configuración garantiza que solo Atlas pueda enviar solicitudes a su punto final.

  • Proxy inverso o puerta de enlace API: utilice un proxy inverso o una puerta de enlace API que gestione la autenticación antes de reenviar las solicitudes a su punto final de webhook.

Para verificar que una solicitud de webhook se originó en Atlas, valide el encabezado X-MMS-Signature:

1
2
3

Si coinciden, la solicitud es auténtica.

Al utilizar integraciones de webhook, tenga en cuenta las siguientes limitaciones:

La carga útil del webhook no incluye el nivel de gravedad de la alerta que configura en Atlas. Para recuperar la gravedad configurada, realice una llamada adicional al punto final Get One Alert Configuration de la API de administración de Atlas utilizando el valor de la alertConfigId carga útil del webhook.

Atlas no ofrece una forma de activar alertas de prueba manualmente. Para probar su punto final de webhook, puede configurar temporalmente una alerta con condiciones fáciles de activar, como por ejemplo:

  • Un umbral bajo de espacio en disco en un clúster de prueba.

  • Un umbral de recuento de conexiones que se activa al abrir varias conexiones.

  • Un umbral de retardo de replicación en un conjunto de réplicas de prueba.

Una vez que confirme que su webhook recibe las alertas correctamente, puede eliminar la configuración de alerta de prueba.

Si su firewall requiere que configure una lista de control de acceso IP, permita el acceso desde las direcciones IP de Atlas para que Atlas pueda comunicarse con su punto final de webhook.

Si tu webhook no recibe alertas:

1
2
3

Atlas considera otros códigos de estado como fallos.

4
5