Como Implementar o Sentry em um Projeto NestJS
Rafael Avelar Campos
Posted on September 4, 2024
O Sentry é uma ferramenta essencial para monitoramento de erros e performance em aplicações. Ele captura e reporta exceções automaticamente, além de permitir o rastreamento de performance e profiling de código. Neste artigo, vamos explorar como configurar e usar o Sentry em um projeto NestJS.
1. Instalando o Sentry
Primeiro, você precisa adicionar as dependências necessárias ao seu projeto NestJS. Execute o seguinte comando:
npm install @sentry/nestjs @sentry/profiling-node
2. Configurando o Sentry
Após instalar as dependências, configure o Sentry no seu projeto. Crie um arquivo para as configurações do Sentry, por exemplo, sentry.config.ts, e adicione o seguinte código:
import * as Sentry from '@sentry/nestjs';
import { nodeProfilingIntegration } from '@sentry/profiling-node';
Sentry.init({
dsn: process.env.SENTRY_DSN, // Adicione sua DSN do Sentry aqui
integrations: [nodeProfilingIntegration()],
tracesSampleRate: 1.0, // Captura 100% das transações para monitoramento de performance
profilesSampleRate: 1.0, // Define a taxa de amostragem para profiling de código
});
*3. Integrando o Sentry na Inicialização do Aplicativo
*
Agora, você precisa integrar o Sentry na inicialização do seu aplicativo. No arquivo principal de inicialização (main.ts), configure o Sentry para capturar e relatar exceções, conforme mostrado abaixo:
import '../src/config/sentry'; // Importa a configuração do Sentry
import {
BaseExceptionFilter,
HttpAdapterHost,
NestFactory,
} from '@nestjs/core';
import { AppModule } from './app.module';
import * as Sentry from '@sentry/nestjs';
async function bootstrap() {
const app = await NestFactory.create(AppModule, { rawBody: true });
// Configurando o Sentry para capturar e relatar exceções
const { httpAdapter } = app.get(HttpAdapterHost);
Sentry.setupNestErrorHandler(app, new BaseExceptionFilter(httpAdapter));
await app.listen(3000);
}
bootstrap();
Conclusão
Com estas configurações, o Sentry está agora integrado ao seu projeto NestJS, monitorando erros, exceções e performance da aplicação. Isso pode ser crucial para identificar e resolver problemas rapidamente, garantindo uma experiência de usuário mais estável e previsível.
Lembre-se de ajustar as taxas de amostragem de acordo com o ambiente e a criticidade da aplicação para evitar sobrecarga desnecessária.
Posted on September 4, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.