如何用Nest.js在node中构建简单的请求监控功能?

更新于
2026-09-25 04:37:42
2阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

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

如何用Nest.js在node中构建简单的请求监控功能?

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

以下是一篇简要介绍如何使用Node.js框架Nest.js实现简易版请求监控的文章,希望对大家有所帮助!

+Nest.js+实现简易版请求监控的方法

在当今的业务处理中,我们经常需要关注请求的执行情况和性能。使用Nest.js可以轻松实现请求监控,以下是一篇简要介绍如何使用Nest.js实现简易版请求监控的方法。

首先,我们需要了解Node.js和Nest.js的基本概念。

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于执行JavaScript代码。它允许在服务器端执行JavaScript,从而实现各种网络应用程序。

Nest.js是一个基于Node.js的开源框架,它利用了TypeScript的所有优势,为构建高效、可扩展的服务器端应用程序提供了一套强大的工具。

下面,我们将介绍如何使用Nest.js实现简易版请求监控:

1. 安装Nest.js

首先,确保你的环境中已经安装了Node.js。然后,使用以下命令安装Nest.js:

bashnpm install -g @nestjs/cli

2. 创建新项目

创建一个新的Nest.js项目:

bashnest new request-monitor

3. 编写监控中间件

在项目目录下,找到`src/middleware`文件夹,创建一个新的文件`request-monitor.middleware.ts`:

typescriptimport { Injectable, NestMiddleware } from '@nestjs/common';

@Injectable()export class RequestMonitorMiddleware implements NestMiddleware { use(req: Request, res: Response, next: Function) { const start=Date.now(); res.on('finish', ()=> { const duration=Date.now() - start; console.log(`Request: ${req.method} ${req.url}, Duration: ${duration}ms`); }); next(); }}

4. 注册中间件

在`src/main.ts`文件中,引入并注册`RequestMonitorMiddleware`:

typescriptimport { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';import { RequestMonitorMiddleware } from './middleware/request-monitor.middleware';

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

5. 启动项目

在命令行中,使用以下命令启动项目:

bashnpm run start

现在,当你访问`http://localhost:3000`时,服务器将输出请求的执行时间和请求路径。

这样,我们就成功地使用Nest.js实现了简易版请求监控。希望对大家有所帮助!

node中怎么使用Nest.js 实现请求监控?下面本篇文章给大家介绍一下node 框架 Nest.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 这个是设置的显示地址。大家也可以根据自己需求环境去设置

    如何用Nest.js在node中构建简单的请求监控功能?

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

总结

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

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

以上就是聊聊node中怎么使用Nest.js 实现简易版请求监控的详细内容,更多请关注自由互联其它相关文章!

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

如何用Nest.js在node中构建简单的请求监控功能?

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

以下是一篇简要介绍如何使用Node.js框架Nest.js实现简易版请求监控的文章,希望对大家有所帮助!

+Nest.js+实现简易版请求监控的方法

在当今的业务处理中,我们经常需要关注请求的执行情况和性能。使用Nest.js可以轻松实现请求监控,以下是一篇简要介绍如何使用Nest.js实现简易版请求监控的方法。

首先,我们需要了解Node.js和Nest.js的基本概念。

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于执行JavaScript代码。它允许在服务器端执行JavaScript,从而实现各种网络应用程序。

Nest.js是一个基于Node.js的开源框架,它利用了TypeScript的所有优势,为构建高效、可扩展的服务器端应用程序提供了一套强大的工具。

下面,我们将介绍如何使用Nest.js实现简易版请求监控:

1. 安装Nest.js

首先,确保你的环境中已经安装了Node.js。然后,使用以下命令安装Nest.js:

bashnpm install -g @nestjs/cli

2. 创建新项目

创建一个新的Nest.js项目:

bashnest new request-monitor

3. 编写监控中间件

在项目目录下,找到`src/middleware`文件夹,创建一个新的文件`request-monitor.middleware.ts`:

typescriptimport { Injectable, NestMiddleware } from '@nestjs/common';

@Injectable()export class RequestMonitorMiddleware implements NestMiddleware { use(req: Request, res: Response, next: Function) { const start=Date.now(); res.on('finish', ()=> { const duration=Date.now() - start; console.log(`Request: ${req.method} ${req.url}, Duration: ${duration}ms`); }); next(); }}

4. 注册中间件

在`src/main.ts`文件中,引入并注册`RequestMonitorMiddleware`:

typescriptimport { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';import { RequestMonitorMiddleware } from './middleware/request-monitor.middleware';

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

5. 启动项目

在命令行中,使用以下命令启动项目:

bashnpm run start

现在,当你访问`http://localhost:3000`时,服务器将输出请求的执行时间和请求路径。

这样,我们就成功地使用Nest.js实现了简易版请求监控。希望对大家有所帮助!

node中怎么使用Nest.js 实现请求监控?下面本篇文章给大家介绍一下node 框架 Nest.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 这个是设置的显示地址。大家也可以根据自己需求环境去设置

    如何用Nest.js在node中构建简单的请求监控功能?

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

总结

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

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

以上就是聊聊node中怎么使用Nest.js 实现简易版请求监控的详细内容,更多请关注自由互联其它相关文章!