Heartbeats
Verifica que tus cronjobs, backups y scripts se ejecutan correctamente. Alertas automáticas si algo falla.
¿Qué es un heartbeat?
Un heartbeat es una señal HTTP que tu script envía a SecuryBlack cuando termina. Si esa señal no llega en el intervalo configurado, recibes una alerta inmediata.
Es ideal para monitorizar:
- • Backups programados
- • Cronjobs críticos
- • Scripts de mantenimiento
- • Trabajos batch
- • Tareas asincrónicas
¿Cómo funciona?
- 1.
Creas un heartbeat en SecuryBlack
Define el nombre, intervalo (cron expression) y acciones en caso de fallo
- 2.
Recibes una URL única
Algo como:
https://ping.securyblack.com/hb/abc123xyz - 3.
Tu script la llama al terminar
Añade una línea de curl al final de tu script:
curl https://ping.securyblack.com/hb/abc123xyz - 4.
SecuryBlack verifica que el ping llega a tiempo
Si no llega dentro del intervalo configurado, envía una alerta
Crear un heartbeat
- 1.
Ve a la sección de Heartbeats
En tu dashboard, busca "Heartbeats"
- 2.
Haz clic en "Nuevo Heartbeat"
Introduce un nombre descriptivo
- 3.
Configura el intervalo
Usando cron expressions o presets (cada hora, cada día, etc.)
- 4.
Configura alertas
Email, Discord, Telegram, Slack, etc.
- 5.
Copia la URL
Úsala en tu script
Cron Expressions
Configura cuándo esperas que tu script se ejecute usando expresiones cron estándar (UTC):
0 2 * * *
Cada día a las 2:00 AM UTC
0 */6 * * *
Cada 6 horas
0 0 * * 0
Cada domingo a las 00:00 UTC
Usa crontab.guru para generar tus expresiones cron.
Ejemplos de uso
Backup diario
Script bash que ejecuta un backup y notifica a SecuryBlack:
#!/bin/bash # Backup script # Tu lógica de backup aquí mysqldump -u root -p mydb > /backups/mydb.sql # Notificar a SecuryBlack que el backup completó curl -s https://ping.securyblack.com/hb/abc123xyz echo "Backup completado"
Script Python con manejo de errores
import subprocess
import requests
try:
# Tu lógica aquí
result = subprocess.run(['python', 'sync_data.py'], check=True)
# Solo notificar si todo fue bien
requests.get('https://ping.securyblack.com/hb/abc123xyz')
except Exception as e:
print(f"Error: {e}")
# No enviar ping si hay error
# SecuryBlack detectará que no llegó el heartbeat
Opciones avanzadas
Grace period
Tiempo adicional después del intervalo esperado antes de enviar una alerta. Útil para scripts que ocasionalmente se retrasan.
Alertas solo después de N fallos
No envía alerta hasta que falte el heartbeat 2-3 veces consecutivas para evitar falsos positivos.
Historial de 90 días
Visualiza todos los heartbeats recibidos en los últimos 90 días para detectar patrones de fallos.
Rotar ping_key
Regenera la URL del heartbeat si crees que ha sido comprometida.
Mejores prácticas
- → Usa heartbeats para cronjobs críticos (backups, sincronizaciones, etc.)
- → Coloca el curl al FINAL del script, solo si todo salió bien
- → Usa cron expressions precisas que reflejen cuándo realmente esperas que se ejecute
- → Revisa el historial regularmente para detectar anomalías
- → No uses heartbeats para servicios 24/7 — usa uptime monitoring para eso