Monitoramento
Dependências
O @blipit/node 0.2 e posteriores, e o @blipit/nextjs 0.3, registam cada chamada do seu servidor a uma base de dados, uma cache ou um serviço externo, como um fornecedor de SMS, pagamentos ou email. A página Dependências mostra um cartão por serviço, para ver logo quando o Twilio começa a falhar ou a base de dados fica lenta. fetch, http, pg, mysql2 e ioredis não precisam de configuração.
1Instale ou atualize o SDK
Atualize para o @blipit/node 0.2 ou @blipit/nextjs 0.3 e inicialize-o antes de a app arrancar, com a chave secreta. No Next.js, exporte também register a partir de instrumentation.ts para o Blipit arrancar com o servidor.
npm install @blipit/node@latestexport { captureRequestError as onRequestError, register } from "@blipit/nextjs/server";2O que é registado sozinho
- Chamadas de saída com fetch e http ou https. Os fornecedores conhecidos aparecem pelo nome: 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 e mais. Qualquer outro host aparece pelo seu nome.
- PostgreSQL através do pg e do seu Pool, MySQL e MariaDB através do mysql2, e Redis através do ioredis.
- Os pedidos HTTP recebidos tornam-se transações na página Pulse, e cada chamada feita ao tratá-los fica ligada na trace.
3Outros clientes
postgres.js, node-redis e Prisma precisam de uma linha cada. trace() envolve tudo o resto, como um SDK de SMS que não 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" });4Ler a página
Cada cartão mostra as chamadas, o tempo de resposta mediano e no percentil 95, a taxa de erros e a disponibilidade do serviço hoje (UTC), com um mini gráfico onde as chamadas falhadas aparecem a vermelho. Os serviços a falhar aparecem primeiro. Abra um cartão para ver gráficos de chamadas e tempo de resposta, as últimas chamadas falhadas e as mais lentas, cada uma ligada à sua trace.
5Receber alertas
Em Alertas, na secção Alertas de dependências e servidores, escolha um projeto e defina os seus próprios limites para Uma dependência está a falhar e Uma dependência está lenta, ou desligue qualquer um deles. Os alertas vão para email, Slack, Microsoft Teams e webhooks, e uma segunda mensagem avisa quando o serviço volta ao normal.
6Outras linguagens
Qualquer SDK do OpenTelemetry que envie spans como OTLP JSON para https://in.blipit.io/v1/traces com o cabeçalho X-Blipit-Key também aparece: spans de cliente com db.system tornam-se bases de dados, e spans de cliente com um URL HTTP tornam-se serviços externos.
Bom saber
- Nunca enviado: os valores no SQL (os literais passam a ?), as query strings e credenciais nos URLs, e o corpo de pedidos ou respostas. As chamadas ao próprio Blipit são ignoradas.
- tracesSampleRate (0.2 por omissão) define a proporção de pedidos registados; as contagens na página são reescaladas. tracing: false desliga.
- Os spans contam para a quota mensal de spans do plano. Os dados de dependências são guardados tanto tempo como os spans: 7 dias no Free e Solo, 14 dias no Team e Scale.
- O registo automático precisa do Node.js 20.16 ou 22.3 e posteriores. Em hosts serverless, envolva o handler para que o pedido recebido seja registado e enviado antes de a função pausar: wrapHandler para AWS Lambda, withBlipit para route handlers e server actions do Next.js, traceRequest para outros handlers que recebam um Request.
Travou? Envie um e-mail para support@blipit.io. As chaves e o id de cada projeto ficam em Chaves de API no app.blipit.io.