如何利用Nest.js在Node.js中构建一个简易版请求监控工具?

2026-03-31 14:341阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1059个文字,预计阅读时间需要5分钟。

如何利用Nest.js在Node.js中构建一个简易版请求监控工具?

使用Nest.js在Node中实现请求监控的方法如下:

Nest.js 是一个用于构建高效、可扩展的服务器的框架,基于 TypeScript。以下是一个简化的步骤,用于在Nest.js中实现请求监控:

1. 初始化Nest.js项目: bash npm install -g @nestjs/cli nest new my-nest-project cd my-nest-project

2. 安装请求监控相关依赖: bash npm install --save @nestjs/microservices

3. 创建服务: 在 `services` 文件夹中创建一个新服务,例如 `request-monitor.service.ts`。 typescript import { Injectable } from '@nestjs/common'; import { Logger } from '@nestjs/common';

@Injectable() export class RequestMonitorService { constructor() {}

logRequest(method: string, url: string, status: number) { Logger.log(`Request ${method} ${url} - Status: ${status}`); } }

4. 创建控制器: 在 `controllers` 文件夹中创建一个控制器,例如 `request-monitor.controller.ts`。 typescript import { Controller, Get, Post, Logger } from '@nestjs/common'; import { RequestMonitorService } from '../services/request-monitor.service';

@Controller('request-monitor') export class RequestMonitorController { constructor(private readonly requestMonitorService: RequestMonitorService) {}

@Get() getHello() { this.requestMonitorService.logRequest('GET', '/hello', 200); return 'Hello World!'; }

@Post() postHello() { this.requestMonitorService.logRequest('POST', '/hello', 201); return 'Hello Post!'; } }

5. 配置Microservices: 在 `main.ts` 中配置Nest.js以使用Microservices。 typescript import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';

async function bootstrap() { const app=await NestFactory.create(AppModule); await app.listen(3000); }

bootstrap();

6. 运行服务: bash npm run start

现在,每次访问 `/hello` 和 `/hello`(POST 方法)时,都会在控制台中记录请求方法、URL和状态码。

请注意,这只是一个基础的示例。在实际应用中,你可能需要更复杂的日志处理和监控机制。

node中怎么使用Nest.js 实现请求监控?下面本篇文章给大家介绍一下node 框架 Nest.js 实现简易版请求监控的方法,希望对大家有所帮助!

如何利用Nest.js在Node.js中构建一个简易版请求监控工具?

平时我们做业务处理时,想看一个时间端的业务请求实况,看下某些接口 cpu 内存 等 使用情况,做出针对性的接口优化时要做一个监控系统。但是如果是自己搞一个小项目没有那么多资源应该如何实现呢。这里我们采用 Nest 的一个第三方包 nest-status-monitor 来看一下。

贴出 nodejs框架--Nest.js 中文文档以方便大家进一步学习 Nest 中文文档(docs.nestjs.cn/)

状态监控包文档 nest-status-monitor

www.npmjs.com/package/nest-status-monitor


安装依赖
  • 首先在我们的 Nest 项目中安装一下需要的依赖

  • yarn add nest-status-monitor 状态监控包

  • yarn add @nestjs/platform-socket.io 6.10.14 需要用到的 socket 包 ,这里因为状态监控包由于版本和最新的 socket 包不兼容,故安装老的版本

实现
  • 状态监控配置

    /* statusMonitor.ts */ export default { pageTitle: 'Nest.js Monitoring ', // 配置端口 port: 3000, // 这里记得加全局路由 '/api' path: '/status', ignoreStartsWith: '/health/alive', spans: [ { interval: 1, // Every second retention: 60, // Keep 60 datapoints in memory }, { interval: 5, // Every 5 seconds retention: 60, }, { interval: 15, // Every 15 seconds retention: 60, }, ], chartVisibility: { cpu: true, mem: true, load: true, responseTime: true, rps: true, statusCodes: true, }, healthChecks: [], };

  • mian.ts 文件中引用,并注册

    /* main.ts */ import { StatusMonitorModule } from 'nest-status-monitor'; import statusMonitorConfig from './config/statusMonitor'; async function bootstrap() { ... // 注册状态监控 StatusMonitorModule.setUp(statusMonitorConfig), } bootstrap();

效果
  • 启动项目yarn run start:dev

  • 在浏览器中输入 localhost:3000/api/status 这个是设置的显示地址。大家也可以根据自己需求环境去设置

  • 如上图所示,我刚才测试发了两个 400 的请求 与一个 200 的请求,清晰的展示在最下面。

总结
  • 至此我们在开发成本不高的情况下已经弄好了一个小工具,可实时监控服务器情况。
  • 大家知道那些支持 Nest 开源的小工具,可以在评论区进行交流。互相学习~( ̄▽ ̄)~*

更多node相关知识,请访问:nodejs 教程!

本文共计1059个文字,预计阅读时间需要5分钟。

如何利用Nest.js在Node.js中构建一个简易版请求监控工具?

使用Nest.js在Node中实现请求监控的方法如下:

Nest.js 是一个用于构建高效、可扩展的服务器的框架,基于 TypeScript。以下是一个简化的步骤,用于在Nest.js中实现请求监控:

1. 初始化Nest.js项目: bash npm install -g @nestjs/cli nest new my-nest-project cd my-nest-project

2. 安装请求监控相关依赖: bash npm install --save @nestjs/microservices

3. 创建服务: 在 `services` 文件夹中创建一个新服务,例如 `request-monitor.service.ts`。 typescript import { Injectable } from '@nestjs/common'; import { Logger } from '@nestjs/common';

@Injectable() export class RequestMonitorService { constructor() {}

logRequest(method: string, url: string, status: number) { Logger.log(`Request ${method} ${url} - Status: ${status}`); } }

4. 创建控制器: 在 `controllers` 文件夹中创建一个控制器,例如 `request-monitor.controller.ts`。 typescript import { Controller, Get, Post, Logger } from '@nestjs/common'; import { RequestMonitorService } from '../services/request-monitor.service';

@Controller('request-monitor') export class RequestMonitorController { constructor(private readonly requestMonitorService: RequestMonitorService) {}

@Get() getHello() { this.requestMonitorService.logRequest('GET', '/hello', 200); return 'Hello World!'; }

@Post() postHello() { this.requestMonitorService.logRequest('POST', '/hello', 201); return 'Hello Post!'; } }

5. 配置Microservices: 在 `main.ts` 中配置Nest.js以使用Microservices。 typescript import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';

async function bootstrap() { const app=await NestFactory.create(AppModule); await app.listen(3000); }

bootstrap();

6. 运行服务: bash npm run start

现在,每次访问 `/hello` 和 `/hello`(POST 方法)时,都会在控制台中记录请求方法、URL和状态码。

请注意,这只是一个基础的示例。在实际应用中,你可能需要更复杂的日志处理和监控机制。

node中怎么使用Nest.js 实现请求监控?下面本篇文章给大家介绍一下node 框架 Nest.js 实现简易版请求监控的方法,希望对大家有所帮助!

如何利用Nest.js在Node.js中构建一个简易版请求监控工具?

平时我们做业务处理时,想看一个时间端的业务请求实况,看下某些接口 cpu 内存 等 使用情况,做出针对性的接口优化时要做一个监控系统。但是如果是自己搞一个小项目没有那么多资源应该如何实现呢。这里我们采用 Nest 的一个第三方包 nest-status-monitor 来看一下。

贴出 nodejs框架--Nest.js 中文文档以方便大家进一步学习 Nest 中文文档(docs.nestjs.cn/)

状态监控包文档 nest-status-monitor

www.npmjs.com/package/nest-status-monitor


安装依赖
  • 首先在我们的 Nest 项目中安装一下需要的依赖

  • yarn add nest-status-monitor 状态监控包

  • yarn add @nestjs/platform-socket.io 6.10.14 需要用到的 socket 包 ,这里因为状态监控包由于版本和最新的 socket 包不兼容,故安装老的版本

实现
  • 状态监控配置

    /* statusMonitor.ts */ export default { pageTitle: 'Nest.js Monitoring ', // 配置端口 port: 3000, // 这里记得加全局路由 '/api' path: '/status', ignoreStartsWith: '/health/alive', spans: [ { interval: 1, // Every second retention: 60, // Keep 60 datapoints in memory }, { interval: 5, // Every 5 seconds retention: 60, }, { interval: 15, // Every 15 seconds retention: 60, }, ], chartVisibility: { cpu: true, mem: true, load: true, responseTime: true, rps: true, statusCodes: true, }, healthChecks: [], };

  • mian.ts 文件中引用,并注册

    /* main.ts */ import { StatusMonitorModule } from 'nest-status-monitor'; import statusMonitorConfig from './config/statusMonitor'; async function bootstrap() { ... // 注册状态监控 StatusMonitorModule.setUp(statusMonitorConfig), } bootstrap();

效果
  • 启动项目yarn run start:dev

  • 在浏览器中输入 localhost:3000/api/status 这个是设置的显示地址。大家也可以根据自己需求环境去设置

  • 如上图所示,我刚才测试发了两个 400 的请求 与一个 200 的请求,清晰的展示在最下面。

总结
  • 至此我们在开发成本不高的情况下已经弄好了一个小工具,可实时监控服务器情况。
  • 大家知道那些支持 Nest 开源的小工具,可以在评论区进行交流。互相学习~( ̄▽ ̄)~*

更多node相关知识,请访问:nodejs 教程!