Monitorización
Dependencias
@blipit/node 0.2 o posterior, y @blipit/nextjs 0.3, registran cada llamada que tu servidor hace a una base de datos, una caché o un servicio externo como un proveedor de SMS, pagos o correo. La página Dependencias muestra una tarjeta por servicio, así ves al instante cuándo Twilio empieza a fallar o la base de datos se vuelve lenta. fetch, http, pg, mysql2 e ioredis no necesitan configuración.
1Instala o actualiza el SDK
Actualiza a @blipit/node 0.2 o @blipit/nextjs 0.3 e inicialízalo antes de que arranque tu app, con la clave secreta. En Next.js, exporta además register desde instrumentation.ts para que Blipit arranque con el servidor.
npm install @blipit/node@latestexport { captureRequestError as onRequestError, register } from "@blipit/nextjs/server";2Lo que se registra solo
- Llamadas salientes con fetch y http o https. Los proveedores conocidos aparecen con su nombre: Twilio, Vonage, MessageBird, Unifonic, Plivo, Sinch, Infobip, Stripe, PayPal, Checkout.com, Tap Payments, SendGrid, Mailgun, Postmark, Resend, Microsoft Graph, Google APIs, AWS, Supabase, Firebase, OpenAI, Anthropic, Slack, GitHub, Shopify y más. Cualquier otro host aparece con su nombre.
- PostgreSQL con pg y su Pool, MySQL y MariaDB con mysql2, y Redis con ioredis.
- Las peticiones HTTP entrantes se convierten en transacciones en la página Pulse, y cada llamada hecha al atenderlas queda enlazada en la traza.
3Otros clientes
postgres.js, node-redis y Prisma necesitan una línea cada uno. trace() envuelve todo lo demás, como un SDK de SMS que no usa HTTP.
import postgres from "postgres";
import { createClient } from "redis";
import { PrismaClient } from "@prisma/client";
import * as Blipit from "@blipit/node";
const sql = Blipit.instrumentPostgres(postgres(process.env.DATABASE_URL));
const redis = Blipit.instrumentRedis(createClient());
const prisma = new PrismaClient().$extends(Blipit.prismaExtension("postgresql"));
await Blipit.trace("send OTP", () => sms.send(phone, code), { "server.address": "sms.example.ae" });4Lee la página
Cada tarjeta muestra las llamadas, el tiempo de respuesta mediano y en el percentil 95, la tasa de errores y la disponibilidad del servicio hoy (UTC), con un minigráfico donde las llamadas fallidas van en rojo. Los servicios que fallan salen primero. Abre una tarjeta para ver gráficos de llamadas y tiempo de respuesta, las últimas llamadas fallidas y las más lentas, cada una enlazada a su traza.
5Recibe alertas
En Alertas, dentro de Alertas de dependencias y servidores, elige un proyecto y fija tus propios límites para Una dependencia está fallando y Una dependencia va lenta, o desactiva cualquiera de las dos. Las alertas llegan por correo, Slack, Microsoft Teams y webhooks, y un segundo mensaje avisa cuando el servicio vuelve a la normalidad.
6Otros lenguajes
Cualquier SDK de OpenTelemetry que envíe spans como OTLP JSON a https://in.blipit.io/v1/traces con la cabecera X-Blipit-Key también aparece: los spans de cliente con db.system se convierten en bases de datos, y los spans de cliente con una URL HTTP en servicios externos.
Conviene saber
- Nunca se envía: los valores en SQL (los literales pasan a ?), las cadenas de consulta y credenciales de las URL, ni el cuerpo de peticiones o respuestas. Las llamadas al propio Blipit se omiten.
- tracesSampleRate (0.2 por defecto) fija la proporción de peticiones registradas; los conteos de la página se escalan de vuelta. tracing: false lo desactiva.
- Los spans cuentan para la cuota mensual de spans del plan. Los datos de dependencias se guardan lo mismo que los spans: 7 días en Free y Solo, 14 días en Team y Scale.
- El registro automático necesita Node.js 20.16 o 22.3 y posteriores. En hosts serverless, envuelve el handler para que la petición entrante se registre y se envíe antes de que la función se pause: wrapHandler para AWS Lambda, withBlipit para route handlers y server actions de Next.js, traceRequest para otros handlers que reciban una Request.
¿Atascado? Escribe a support@blipit.io. Las claves y el id de cada proyecto están en Claves API en app.blipit.io.