Monitoring
Afhankelijkheden
@blipit/node 0.2 en nieuwer, en @blipit/nextjs 0.3, leggen elke aanroep van je server naar een database, een cache of een externe dienst zoals een sms-, betaal- of e-mailprovider vast. De pagina Afhankelijkheden toont een kaart per dienst, zodat je meteen ziet wanneer Twilio begint te falen of de database traag wordt. fetch, http, pg, mysql2 en ioredis hoeven niet ingesteld te worden.
1Installeer of update de SDK
Update naar @blipit/node 0.2 of @blipit/nextjs 0.3 en initialiseer het voordat je app start, met de geheime sleutel. Exporteer in Next.js ook register vanuit instrumentation.ts, zodat Blipit start wanneer de server opstart.
npm install @blipit/node@latestexport { captureRequestError as onRequestError, register } from "@blipit/nextjs/server";2Wat vanzelf wordt vastgelegd
- Uitgaande fetch- en http- of https-aanroepen. Bekende providers krijgen hun eigen naam: 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 en meer. Elke andere host verschijnt met zijn naam.
- PostgreSQL via pg en zijn Pool, MySQL en MariaDB via mysql2, en Redis via ioredis.
- Inkomende HTTP-verzoeken worden transacties op de pagina Pulse, en elke aanroep tijdens de afhandeling is ermee verbonden in de trace.
3Andere clients
postgres.js, node-redis en Prisma hebben elk één regel nodig. trace() omhult al het andere, zoals een sms-SDK die geen HTTP gebruikt.
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" });4De pagina lezen
Elke kaart toont de aanroepen, de mediane responstijd en die bij het 95e percentiel, het foutpercentage en hoe beschikbaar de dienst vandaag was (UTC), met een minigrafiek waarin mislukte aanroepen rood zijn. Falende diensten staan bovenaan. Open een kaart voor grafieken van aanroepen en responstijd, de laatste mislukte aanroepen en de traagste, elk gekoppeld aan hun trace.
5Meldingen krijgen
Kies onder Meldingen, bij Meldingen voor afhankelijkheden en servers, een project en stel je eigen limieten in voor Een afhankelijkheid faalt en Een afhankelijkheid is traag, of zet ze uit. Meldingen gaan naar e-mail, Slack, Microsoft Teams en webhooks, en een tweede bericht meldt wanneer de dienst weer normaal werkt.
6Andere talen
Elke OpenTelemetry-SDK die spans als OTLP JSON naar https://in.blipit.io/v1/traces stuurt met de header X-Blipit-Key verschijnt ook: clientspans met db.system worden databases, en clientspans met een HTTP-URL worden externe diensten.
Goed om te weten
- Nooit verzonden: waarden in SQL (literals worden ?), querystrings en inloggegevens in URL's, en de inhoud van verzoeken of antwoorden. Aanroepen naar Blipit zelf worden overgeslagen.
- tracesSampleRate (standaard 0.2) bepaalt welk deel van de verzoeken wordt vastgelegd; de aantallen op de pagina worden teruggeschaald. tracing: false zet het uit.
- Spans tellen mee voor de maandelijkse spanbundel van het abonnement. Gegevens over afhankelijkheden blijven even lang bewaard als spans: 7 dagen op Free en Solo, 14 dagen op Team en Scale.
- Automatisch vastleggen vraagt Node.js 20.16 of 22.3 en nieuwer. Wikkel op serverless hosts de handler in, zodat het binnenkomende verzoek wordt vastgelegd en verstuurd voordat de functie pauzeert: wrapHandler voor AWS Lambda, withBlipit voor route handlers en server actions in Next.js, traceRequest voor andere handlers die een Request krijgen.
Kom je er niet uit? Mail support@blipit.io. Sleutels en het project-id van elk project staan onder API-sleutels in app.blipit.io.