Heim  >  Artikel  >  Web-Frontend  >  Lassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren

Lassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren

青灯夜游
青灯夜游nach vorne
2022-03-01 19:52:052158Durchsuche

Wie verwende ich Nest.js, um die Anforderungsüberwachung im Knoten zu implementieren? Der folgende Artikel stellt Ihnen vor, wie Sie eine einfache Version der Anforderungsüberwachung mithilfe des node-Frameworks Nest.js implementieren. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren

Wenn wir normalerweise Geschäftsabwicklungen durchführen, möchten wir die Live-Geschäftsanfragen zu einem bestimmten Zeitpunkt sehen und die Nutzung bestimmter Schnittstellen cpu memory überprüfen Bei der Optimierung der Schnittstelle sollte ein Monitoringsystem aufgebaut werden. Aber wie sollte man es umsetzen, wenn man selbst ein kleines Projekt startet und nicht über so viele Ressourcen verfügt? Hier verwenden wir das Drittanbieterpaket nest-status-monitor von Nest, um einen Blick darauf zu werfen. 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 这个是设置的显示地址。大家也可以根据自己需求环境去设置

    Lassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren

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

    Post nodejs
  • Framework--Nest.js Chinesisches Dokument der Einfachheit halber Lassen Sie uns Erfahren Sie mehr überNest Chinese-Dokumentation (https://docs.nestjs.cn/)

Dokumentation des Statusüberwachungspaketsnest-status-monitor:

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

Abhängigkeiten installieren

  • Zuerst in unserer -Installation Die erforderlichen Abhängigkeiten im Nest-Projekt 6.10.14 erfordern das Paket socket. Die Version des Statusüberwachungspakets ist nicht mit dem neuesten Paket socket, also der alten Version, kompatibel ist installiert

    Realisieren Sie die 🎜🎜🎜 Statusüberwachungskonfiguration 🎜rrreee🎜🎜🎜mian.ts-Datei und registrieren Sie 🎜rrreee🎜🎜

    Effekt🎜🎜🎜🎜Starten Sie das Projekt yarn run start:dev🎜🎜🎜🎜Geben Sie im Browser ein http://localhost:3000/api/status Dies ist die Einstellungsanzeigeadresse. Sie können es auch entsprechend Ihren eigenen Bedürfnissen und Ihrer Umgebung einstellen. 🎜🎜 alt=" Lassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren"/>🎜🎜🎜🎜Wie im Bild oben gezeigt, habe ich gerade zwei 400-Anfragen und eine 200-Anfrage gesendet, die deutlich unter angezeigt werden das Ende darunter. 🎜🎜🎜🎜Zusammenfassung🎜🎜🎜Bisher haben wir ein kleines Tool gebaut, das ohne hohe Entwicklungskosten Serverzustände in Echtzeit überwachen kann. 🎜🎜Jeder, der die Gadgets kennt, die Nests Open Source unterstützen, kann im Kommentarbereich kommunizieren. Voneinander lernen~( ̄▽ ̄)~*🎜🎜🎜Für mehr Node-bezogenes Wissen besuchen Sie bitte: 🎜nodejs-Tutorial🎜! 🎜

    Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie Nest.js verwenden, um eine einfache Anforderungsüberwachung im Knoten zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

  • Stellungnahme:
    Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen