Avisos en Telegram cuando algo se cae en casa (Uptime Kuma + un bot en 10 minutos)

Cómo hacer que Uptime Kuma te escriba por Telegram cuando un servicio de tu servidor casero deja de responder, y el detalle que casi todo el mundo se salta.

Iván· Publicado el · 4 minRead in English →

Tengo en casa una Raspberry Pi con varios servicios (un gestor de contraseñas, un repositorio Git, una app para registrar entrenamientos…) y Uptime Kuma vigilándolos todos. Uptime Kuma es una herramienta gratuita que comprueba cada poco tiempo si tus servicios responden y te pinta una bonita barra de colores.

El problema: una barra de colores no sirve de nada si nadie la mira. Me di cuenta cuando descubrí que las copias de seguridad llevaban tres días fallando. Uptime Kuma lo sabía. Yo no, porque no tenía ninguna notificación configurada.

Así que vamos a arreglarlo: que Uptime Kuma te escriba por Telegram cuando algo se caiga, y otra vez cuando vuelva.

Lo que necesitas

  • Uptime Kuma funcionando (yo lo tengo en Docker, en la Pi).
  • Una cuenta de Telegram.
  • Diez minutos.

Paso 1: crea un bot con BotFather

En Telegram, los bots se crean hablando con otro bot: @BotFather.

  1. Abre un chat con @BotFather y envía /newbot.
  2. Te pide un nombre visible. Yo le puse Avisos Casa.
  3. Después, un nombre de usuario que termine en bot, por ejemplo mi_casa_avisos_bot. Si está cogido, prueba otro.
  4. BotFather te devuelve un token con esta pinta: 123456789:AAH....

Ese token es la contraseña del bot. Quien lo tenga puede mandar mensajes en su nombre. No lo pegues en foros, capturas ni repositorios.

Consejo: crea un bot solo para los avisos. Si ya tienes otro bot para otra cosa, no los mezcles: así, si algún día cambias uno, no rompes el otro.

Paso 2: háblale al bot

Esto se lo salta mucha gente. Un bot de Telegram no puede escribirte si tú no le has hablado antes. Busca tu bot por su nombre de usuario, abre el chat y pulsa Iniciar. Mándale también un «hola», que no cuesta nada.

Paso 3: consigue tu ID de chat

Uptime Kuma necesita saber a qué chat escribir. Tiene un botón que lo busca solo (lo verás en el siguiente paso), pero si quieres hacerlo a mano, pide al bot sus últimos mensajes:

curl -s "https://api.telegram.org/bot<TU_TOKEN>/getUpdates"

En la respuesta busca "chat":{"id":123456789,...}. Ese número es tu ID de chat. Si la respuesta sale vacía ("result":[]), es que todavía no le has escrito al bot: vuelve al paso 2.

Paso 4: configura la notificación en Uptime Kuma

En la web de Uptime Kuma ve a Ajustes → Notificaciones → Configurar notificación:

  • Tipo de notificación: Telegram.
  • Nombre: algo que reconozcas, por ejemplo Telegram - Avisos Casa.
  • Token de bot: el del paso 1.
  • ID de chat: el del paso 3, o pulsa el botón para obtenerlo automáticamente.
  • Marca Habilitado por defecto, para que los monitores nuevos lo tengan activado.
  • Marca Aplicar en todos los monitores existentes.

Esta última casilla es la clave de todo el artículo. Si no la marcas, la notificación queda creada pero ningún monitor la usa, y seguirás sin enterarte de nada. Es muy fácil pasarla por alto.

Pulsa Test: te debería llegar un mensaje de prueba al chat del bot. Si llega, Guardar.

Paso 5: comprueba que funciona de verdad

El botón Test solo demuestra que el bot puede escribirte. No demuestra que un monitor, al caerse, vaya a disparar el aviso. Para eso, provoca una caída de verdad en algo poco importante.

Yo lo hice con un panel web que tengo en la Pi (corre como servicio de systemd):

sudo systemctl stop centro-mando
# ...esperar a que llegue el aviso...
sudo systemctl start centro-mando

En menos de un minuto me llegó esto:

[Centro de mando] [🔴 Down] connect ECONNREFUSED 192.168.1.50:8090

Y al arrancarlo otra vez:

[Centro de mando] [✅ Up] 200 - OK

Ahora sí: la cadena completa funciona.

Ajustes que te ahorrarán disgustos

  • Quita los avisos de lo que no está siempre encendido. Si vigilas tu portátil, te llegará un mensaje cada vez que lo apagues. Entra en ese monitor y desmarca la notificación.
  • Reintentos antes de avisar. En cada monitor puedes poner que reintente una o dos veces antes de darlo por caído. Evita falsos positivos por un corte de un segundo.
  • Vigila también las tareas programadas. Uptime Kuma tiene monitores de tipo push: es tu script el que avisa a Kuma de que ha terminado bien. Si un día no avisa, Kuma lo da por caído y te escribe. Es perfecto para copias de seguridad nocturnas.

Conclusión

Monitorizar sin avisos es como tener una alarma sin sirena. Con un bot de Telegram y dos casillas bien marcadas, tu servidor de casa pasa de «ya me enteraré» a avisarte en el móvil en menos de un minuto.

Mini-quiz

¿Te has quedado con la idea?

Tres preguntas rápidas. Cada acierto suma 10 XP.

  1. ¿Qué tienes que hacer en Telegram antes de que el bot pueda escribirte?
  2. ¿Qué casilla evita que la notificación exista pero no la use ningún monitor?
  3. ¿Cuál es la mejor forma de comprobar que los avisos funcionan de verdad?
  • #uptime-kuma
  • #telegram
  • #monitorizacion
  • #raspberry-pi
  • #docker
Esc