Alertas y canales
Un canal es un sitio al que puede ir una alerta. Añada tantos como quiera y elija después, para cada monitor, cuáles son rutinarios y cuáles sirven para escalar.
Qué puede añadir
Estos los añade usted mismo, desde Ajustes → Notificaciones:
- Correo electrónico — cualquier dirección.
- Slack, Teams, Discord — una URL de webhook entrante de esa aplicación.
- Telegram — un chat, vinculado a través de nuestro bot.
- PagerDuty y Jira Service Management — una clave de integración.
- Webhook — su propio endpoint. Solo HTTPS, firmado, y vea más abajo.
Estos los añade la persona que los recibe, no los escribe otra persona:
- Push — instalar la aplicación móvil y permitir notificaciones.
- SMS — inscribir su propio número y confirmar un código que le enviamos.
- WhatsApp — lo mismo, por WhatsApp.
- Satélite — un terminal Iridium, Inmarsat o Thuraya, alcanzado por correo a través del operador.
De quién es el canal
Todo canal es o del equipo o de una persona, y esa diferencia decide qué ocurre cuando alguien se va.
Un canal compartido — un webhook #alerts, un servicio de PagerDuty, una lista de distribución — pertenece a la organización y sobrevive a cualquier salida.
Uno personal — un teléfono, un chat privado de Telegram, un número de móvil — pertenece a quien lo inscribió, y se elimina cuando se le retira de la organización. Antes de que eso fuera así, el chat de Telegram de un compañero retirado seguía recibiendo mensajes de caída indefinidamente, con su pertenencia y sus claves de API ya revocadas.
Así que, al enrutar una alerta, mire de quién es el canal al que la dirige. Quien monta el aviso no suele ser la persona a la que despierta.
Una dirección tiene que aceptar antes de que se le envíe nada
Correo, SMS, WhatsApp y satélite confirman primero. Añada un canal de correo y la dirección recibirá exactamente un mensaje — preguntándole si quiere ser destino de alertas — y nada más hasta que diga que sí. Al inscribir un número de teléfono, usted teclea de vuelta un código.
Esto existe porque un canal de correo es una dirección que otra persona escribió en la cuenta de otra persona. Sin ello, un editor podría apuntar un monitor inestable a la bandeja de un desconocido y nosotros lo entregaríamos. El botón de envío de prueba se rechaza hasta que la dirección haya confirmado, por la misma razón: si no, es una forma ilimitada de escribir a una dirección sin consentimiento, con una etiqueta de aspecto servicial.
Los canales de chat y push no preguntan, y eso no es una excepción. Quien pegó una URL de webhook de Slack tuvo que tenerla, y un canal push lo registra el propio dueño del teléfono — ninguno de los dos puede apuntarse a un desconocido escribiendo una dirección.
Una dirección que ya pertenece a un miembro verificado de su organización se confirma automáticamente. Esa persona demostró que era suya al registrarse.
SMS y WhatsApp
Ambos desde Pro, y ambos consumen la misma asignación — Pro recibe 10 al día, 15 a la semana y 30 al mes; Business y Enterprise reciben 15, 50 y 100. Son un solo fondo porque los dos cuestan dinero por mensaje y los dos llegan al mismo teléfono, así que aquello de lo que protege el tope — un único monitor inestable gastando el presupuesto de un mes en una hora — es un mismo suceso, sea cual sea el medio.
Tres ventanas en lugar de una, porque una sola tiene la forma equivocada. Un tope mensual por sí solo deja que un único monitor inestable lo gaste todo en una tarde; un tope diario por sí solo deja que un goteo lento cueste treinta veces lo que usted pretendía.
El tope se aplica al encolar el mensaje, de modo que uno bloqueado nunca ocupa una plaza, y se cuenta a partir de lo que realmente se envió y no de un contador — un contador no puede mantenerse honesto a través de una llamada a la API de otro.
El SMS no llega a todas partes, y lo decimos antes de inscribirse
El alcance del SMS depende del país del destinatario. Algunas redes no transportan en absoluto un mensaje de un remitente como el nuestro; otras solo lo aceptan desde un nombre de remitente registrado ante el regulador local. El selector de países solo ofrece destinos que creemos poder alcanzar, y la página de precios trae la lista completa.
Donde el nombre del remitente pueda ser sustituido por un número local, se le avisa al inscribirse en lugar de que lo descubra por un mensaje que llega de un desconocido. WhatsApp no tiene ninguna de estas limitaciones, no necesita registro en ningún sitio y llega a todos los países a los que el SMS no llega.
Las alertas nunca contienen enlaces. Los operadores filtran las URL desconocidas, y una alerta filtrada es una alerta que nunca recibe — así que un monitor llamado acme.com llega como acme com.
Satélite
Para un terminal sin ninguna red móvil. Los mensajes van por correo a través de la pasarela del operador, así que paga tarifas de correo y no de SMS — pero los operadores limitan la entrega a cinco mensajes al día por terminal, que es su límite y no el nuestro, y cada mensaje se corta a 160 caracteres.
Inusualmente lento
Un monitor puede superar todas las comprobaciones y aun así tener problemas. En cuanto tiene al menos un día de historial, comparamos lo rápido que responde ahora con lo que suele tardar desde el mismo punto de medición, y le avisamos cuando es mucho más lento de lo normal — por los mismos canales que usaría un incidente en ese monitor. Cuando vuelve a su velocidad habitual, también se lo decimos. Está en todos los planes.
No es un incidente. No hay nada caído, así que no cuenta contra la disponibilidad, no aparece en una página de estado y no escala. Más rápido de lo habitual nunca genera una alerta; una ralentización tiene que ser de al menos 100 ms y quedar claramente fuera de la variación normal del monitor; y no se evalúa nada mientras el monitor está en pausa, dentro de una ventana de mantenimiento o con un incidente ya abierto.
Un webhook recibe estos eventos como latency_anomaly y latency_recovered, con los tiempos de respuesta habitual y observado en milisegundos.
Webhooks
Solo HTTPS. Cada petición va firmada para que pueda verificar que vino de nosotros. Las direcciones privadas y link-local se rechazan al guardar la URL y otra vez al enviar la alerta — porque un nombre de host que resolvía a una dirección pública cuando lo guardó puede resolver a otro sitio más tarde, y una URL que validó puede responder con una redirección a cualquier parte. Las redirecciones no se siguen.
Guardias
Desde Pro. Monte una rotación, defina los pasos de escalado, y un incidente sin confirmar los va subiendo. Confirmar detiene el escalado; resolver lo cierra.
El escalado es lo que hace que valga la pena añadir un canal personal: el primer paso puede ser el chat del equipo y el último el teléfono de alguien a las cuatro de la mañana.
Análisis posincidente
En todos los planes. Cuando un incidente está resuelto, cualquiera que pueda resolver incidentes puede escribir su análisis — qué pasó, por qué y qué cambia — y editarlo a medida que avanza la investigación. Hay uno por incidente, escrito en Markdown: encabezados, negrita y cursiva, listas, código, citas y enlaces. El HTML se muestra como texto y nunca se ejecuta.
El análisis es interno. Nunca aparece en una página de estado, porque suele nombrar a personas, sistemas y errores. Guardarlo queda registrado en el registro de auditoría, con su longitud y no con su contenido.
Qué pasa cuando no se puede entregar nada
Un canal que falla anota el motivo en sí mismo, con las palabras del proveedor, en lugar de fallar en silencio. Un SMS rechazado dice lo que dijo la red. Un mensaje de WhatsApp rechazado minutos después de ser aceptado dice qué plantilla y qué idioma.
Esto importa más de lo que parece. Todos estos proveedores responden «aceptado» de inmediato e informan del resultado real más tarde — así que sin leer ese informe, un canal parecería verificado, el mensaje parecería enviado, y lo primero que se sabría sería una caída de la que nadie avisó.