Maison  >  Article  >  interface Web  >  Parlons de la façon d'utiliser Nest.js pour implémenter une version simple de la surveillance des requêtes dans le nœud

Parlons de la façon d'utiliser Nest.js pour implémenter une version simple de la surveillance des requêtes dans le nœud

青灯夜游
青灯夜游avant
2022-03-01 19:52:052210parcourir

Comment utiliser Nest.js pour implémenter la surveillance des requêtes dans le nœud ? L'article suivant vous présentera comment implémenter une version simple de surveillance des requêtes à l'aide du framework node Nest.js. J'espère qu'il vous sera utile !

Parlons de la façon d'utiliser Nest.js pour implémenter une version simple de la surveillance des requêtes dans le nœud

Lorsque nous effectuons habituellement du traitement commercial, nous voulons voir les demandes commerciales en direct à la fin d'une heure et vérifier l'utilisation de certaines interfaces cpu mémoire pour effectuer décisions ciblées. Lors de l’optimisation de l’interface, un système de surveillance doit être construit. Mais si vous démarrez vous-même un petit projet et que vous ne disposez pas de beaucoup de ressources, comment le mettre en œuvre ? Ici, nous utilisons le package tiers nest-status-monitor de Nest pour y jeter un œil. cpu 内存 等 使用情况,做出针对性的接口优化时要做一个监控系统。但是如果是自己搞一个小项目没有那么多资源应该如何实现呢。这里我们采用 Nest 的一个第三方包 nest-status-monitor 来看一下。

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

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

https://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

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

    Parlons de la façon dutiliser Nest.js pour implémenter une version simple de la surveillance des requêtes dans le nœud

  • 如上图所示,我刚才测试发了两个 400 的请求 与一个 200

    Publiez nodejs
  • Framework--Nest.js document chinois pour plus de commodité. en savoir plus sur ladocumentation Nest en chinois (https://docs.nestjs.cn/)

documentation du package de surveillance de l'étatnest-status-monitor :

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

Installer les dépendances

  • Premier dans notre installation les dépendances requises dans le projet Nest 6.10.14 nécessitent le package socket. La version du package de surveillance de l'état est incompatible avec le dernier package socket, donc l'ancienne version. est installé

    Réalisez la configuration de la surveillance de l'état 🎜🎜🎜 🎜rrreee🎜🎜🎜mian.ts et enregistrez 🎜rrreee🎜🎜

    Effet🎜🎜🎜🎜Démarrez le projet yarn run start:dev🎜🎜🎜🎜Entrez dans le navigateur http://localhost:3000/api/status Ceci est l’adresse d’affichage du paramètre. Vous pouvez également le définir en fonction de vos propres besoins et de votre environnement🎜🎜 Parlons de la façon dutiliser Nest.js pour implémenter une version simple de la surveillance des requêtes dans le nœud🎜🎜🎜🎜Comme le montre l'image ci-dessus, je viens d'envoyer deux requêtes 400 et une requête 200, qui sont clairement affichées à la fin. 🎜🎜🎜🎜Résumé🎜🎜🎜Jusqu'à présent, nous avons construit un petit outil capable de surveiller les conditions du serveur en temps réel sans coûts de développement élevés. 🎜🎜Tous ceux qui connaissent les gadgets prenant en charge l'open source de Nest peuvent communiquer dans la zone de commentaires. Apprenez les uns des autres~( ̄▽ ̄)~*🎜🎜🎜Pour plus de connaissances sur les nœuds, veuillez visiter : 🎜tutoriel nodejs🎜 ! 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

  • Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer