Cómo te informamos o alertamos
Una interrupción solo vale la pena detectarla si la persona adecuada se entera. Enviamos notificaciones a donde ya está tu equipo y a tus propios sistemas mediante webhooks.
Los canales
Cada canal recibe el mismo mensaje: qué monitor, desde cuándo y por qué. Abajo encuentras una lista de canales disponibles.
-
Email Todos los planes
Un mensaje a cualquier dirección. La dirección de correo electrónico debe confirmarse una vez.
-
Webhook (POST) Todos los planes
Un cuerpo JSON con los datos relevantes enviado a una URL que proporcionaste. Para tu propia automatización: abre un ticket, avisa a alguien, cambia una luz de estado.
-
Webhook (GET) Todos los planes
Los mismos campos que el webhook POST pero ahora como parámetros de consulta, para un receptor que acepta una solicitud GET.
-
PagerDuty Starter y superiores
Un incidente a través de la Events API v2, abierto en una interrupción y resuelto en la recuperación, para que la propia escalada de PagerDuty lo gestione desde ahí.
-
Slack Pro y Business
Un mensaje en un canal, rojo para caído y verde para recuperado, a través de un webhook.
-
Microsoft Teams Pro y Business
El mismo mensaje en un canal de Teams, a través de un webhook.
-
Discord Pro y Business
El mismo mensaje en un canal de Discord, a través de un webhook del canal.
-
Telegram Pro y Business
El mismo mensaje en un chat, a través de tu propio bot.
Quién se entera de qué, y cuándo
Confirmado primero
No se envía nada solo por lo que diga una sonda. Una falla se convierte en una interrupción cuando sondas en tres continentes están de acuerdo, así que una alerta significa que el sitio está caído y no un problema de red.
Reglas y escalación
Una regla describe quién se entera de qué monitores y a qué hora. Pon la lista de guardia en un grupo de contacto con un retraso por miembro. Esto funciona como tu política de escalada.
Recuperado, dicho una vez
A todos los que se les informó sobre la interrupción se les dice cuándo termina, con cuánto tiempo duró. No te despertaremos para decirte que la interrupción terminó.
Prueba antes de necesitarlo
Cada dirección tiene un botón que envía una prueba por el mismo camino que toma una alerta real, redactada para que no pueda confundirse con una interrupción real.
El webhook, para tus propios sistemas
Una dirección de webhook es una URL tuya. La llamamos cuando se confirma una interrupción, cuando se recupera y cuando presionas probar. POST envía los campos como un cuerpo JSON; GET los envía como parámetros de consulta. La URL se almacena cifrada y nunca se muestra completa de nuevo, porque quien la tenga puede hacer publicaciones en ella.
| Campo | Lo que contiene |
|---|---|
| reason | down cuando se confirma una interrupción, recovery cuando termina, test cuando alguien presiona el botón |
| monitor | El nombre del monitor |
| monitor_id | Su id |
| target | Lo que verifica: la URL, el host o el nombre |
| type | El tipo de verificación, como un nombre corto como https, dns o ssl_cert |
| cause | Por qué falló, en pocas palabras, cuando lo sabemos |
| error_class | Lo mismo como un nombre corto que un programa puede usar, como timeout, connection o certificate_expired |
| started | Cuándo comenzó la interrupción |
| confirmed_at | Cuándo se confirmó el fallo |
| confirmed_from | Los continentes que lo confirmaron, como una lista de nombres. |
| degraded | true cuando el monitor está lento o perdiendo paquetes en lugar de estar down |
| resolved | Cuándo terminó, como un timestamp ISO 8601, en una recuperación |
| duration | Cuánto duró, en palabras, en una recuperación |
| incident_id | El id del incidente, el mismo en la interrupción y su recuperación |
Un campo sin valor es null en el JSON y se omite en un GET. Debes responder con cualquier estado por debajo de 400. Cualquier otra cosa cuenta como una entrega fallida y se intenta de nuevo después de 30 segundos, 2 minutos y 10 minutos, luego se abandona: una alerta que no ha llegado en un cuarto de hora es historia, no noticia.