Open source · MIT Ver en GitHub

Tus apps se rompen a las 3 AM. Vos te enterás antes que tus clientes.

NightGuardian es un monitor de errores y salud, gratis, que corre en tu propio servidor. Agrupa los errores en issues, te avisa solo cuando algo es nuevo, vuelve o se dispara, y le da a tus usuarios una página de error amable con un código que tu equipo de soporte puede buscar.

Sin registro. El panel de la demo es de solo lectura y se reinicia todas las noches.

Detalle de un issue: stack trace con tu código resaltado y las líneas de alrededor

El problema

El monitoreo en la nube es excelente, hasta que sumás asientos, cuotas y dudas sobre dónde viven tus datos.

  • Te enterás de los errores por un cliente, horas después.
  • Cada ocurrencia te avisa, así que aprendés a ignorar los avisos.
  • Tus usuarios ven un 500 en blanco y escriben "no funciona", sin nada que buscar.
  • Los datos de tus errores viven en la nube de otro, con precio por asiento y por evento.

Qué obtenés

Silencioso por defecto

Los errores se agrupan en issues con una huella inteligente. Te avisan cuando un issue es nuevo, regresa o se dispara — no en cada ocurrencia.

Un código que tus usuarios te pueden dar

La página de error amable muestra una referencia como NG-7F3K-92QD y un cuadro "¿qué estabas haciendo?". Buscás el código, abrís el error exacto, leés el comentario.

Nunca frena tu app

Los eventos se envían después de la respuesta, con timeouts cortos, corte automático y cola en disco. Si el colector está caído, tu app ni se entera y no se pierde nada.

Avisos que respetan tu sueño

Telegram y e-mail con nivel por canal, reglas "siempre" y "nunca", enfriamiento, tope por hora y resumen diario.

Privado por defecto

Contraseñas, tokens, cookies y números de tarjeta se filtran en el SDK y otra vez en el colector. Las IP y los cuerpos de las peticiones están apagados salvo que los actives.

Tuyo, y gratis

Licencia MIT, tu servidor, tu base de datos. Sin cuotas, sin asientos, sin tarjeta. Hecho con Laravel y Filament: colaborar es fácil.

Cómo funciona

Un SDK chico en tu app, un colector en tu servidor y un panel para mirarlo.

Tu app+ SDK Cola en discostorage/nightguardian Colector/api/v1/ingest Panel Telegram / e-mail después de la respuesta HTTPS cola
  1. Tu app lanza un error. El SDK lo captura con su stack trace, la petición y el usuario, y filtra los secretos.
  2. Después de la respuesta, lo envía por HTTPS. Si el colector no responde, lo guarda en disco y reintenta más tarde.
  3. El colector lo agrupa en un issue y decide si merece un aviso.
  4. Lo ves en el panel y, si importa, en Telegram o por e-mail.

Mirá cómo se ve

Detalle de un issue: stack trace con tu código resaltado y las líneas de alrededor
Detalle de un issue: stack trace con tu código resaltado y las líneas de alrededor
Comentarios de tus usuarios, asociados al issue que estaban viendo
Comentarios de tus usuarios, asociados al issue que estaban viendo
La página de error que ven tus usuarios, con código de referencia y cuadro de comentario
La página de error que ven tus usuarios, con código de referencia y cuadro de comentario
Crear un token: se muestra una sola vez, con las líneas para pegar en tu app
Crear un token: se muestra una sola vez, con las líneas para pegar en tu app
Dashboard: una tarjeta por proyecto con issues abiertos, nuevos hoy y un gráfico de 7 días
Dashboard: una tarjeta por proyecto con issues abiertos, nuevos hoy y un gráfico de 7 días
Búsqueda por código de referencia desde el buscador global
Búsqueda por código de referencia desde el buscador global

Instalación en 3 pasos

1

Levantá el colector

En cualquier servidor con PHP 8.3 y MySQL, o con Docker. Hay una guía para copiar y pegar en Ubuntu + Apache.

git clone https://github.com/pablozagni/nightguardian.git
cd nightguardian
docker compose up -d --build
docker compose exec app php artisan \
  nightguardian:install --skip-migrate

Guía de producción →

2

Agregá el SDK a tu app Laravel

Un paquete de Composer, sin otras dependencias.

composer require nightguardian/laravel
3

Pegá dos líneas en el .env

El panel te las muestra (una vez) al crear un token. Después corré el comando de prueba y rompé algo.

NIGHTGUARDIAN_URL=https://ng.example.com
NIGHTGUARDIAN_TOKEN=ng_...

php artisan nightguardian:test

Probalo en vivo

Probalo en vivo

Apretá botones que hacen fallar a propósito una app Laravel real — una excepción sin atrapar, una consulta lenta, un job que falla — y mirá cómo llegan los errores a un panel NightGuardian real.

Credenciales del panel de la demo
https://demo.nightguardian.com.ar
E-mail
visitor@demo.example.com
Contraseña
visitor-demo

Cuenta de solo lectura. Los datos se reinician todas las noches.

SDKs

El colector habla un protocolo HTTP chico y documentado. Laravel es el primer SDK; cualquier cosa que pueda enviar JSON puede ser el próximo.

PlataformaPaqueteEstado
Laravel 9 – 13 nightguardian/laravel 2.x Disponible
Laravel 5.8 – 8 nightguardian/laravel 1.x Disponible
PHP puro nightguardian/php Buscamos maintainer
Node.js nightguardian-node Buscamos maintainer
Python nightguardian-python Buscamos maintainer

¿Querés escribir un SDK?

Buscamos maintainers para PHP, Node.js y Python. Empezá por el protocolo y la guía para autores de SDK: el colector tiene un modo de prueba (dry-run) que valida tus payloads.