NodeJS应用程序监视工具

NodeJS应用程序监视工具

技术开发 编程 技术框架 技术发展

 

NodeJS应用程序监视工具

您是否曾经因应用程序崩溃而陷入困境?

您的客户是否通知服务已关闭?–这肯定是一个困难的局面。多年来,NodeJS成为快速微服务开发的一种流行的JavaScript框架随着在NodeJS上运行的工作负载,正确监控它们的基本指标变得至关重要。

让我们探索以下NodeJS监视工具,这些工具将帮助您监视应用程序和服务器性能以及其他指标。1PM2


PM2是Rookie以及专家开发人员用来确保其应用程序始终处于活动状态的最著名的工具。PM2用于运行实时生产工作负载并从CLI或Web界面监视它们。您可以将其安装为NPM模块。

PM2开箱即用提供以下功能。

  • 在单个服务器上管理多个NodeJS应用程序

  • 应用程序和错误日志管理

  • Web界面集成,用于监视应用程序的运行状况和指标

  • 自动集群化NodeJS应用程序

  • 热重装应用程序

  • 支持启动脚本

  • 将日志流传输到Web界面

PM2入门

要安装PM2,请确保已安装NPM要验证NPM的安装和版本,请使用以下命令

npm --version复制

如果已安装,此命令应显示NPM的版本。

此外,使用以下命令安装PM2:

npm install -g pm2复制

全局标志-g将作为命令安装并使模块在全局范围内可用。要使用PM2启动任何应用程序,请转到包含NodeJS项目的文件夹,然后运行以下命令:

pm2 start <start-filename> --name myapp复制

上面的命令使用第一个参数中指定的文件启动NodeJs应用程序。它还使用名称为应用程序命名  myapp当使用来执行NodeJS应用程序时pm2,它确保服务不会关闭,如果这样做,它将尝试自动重新启动应用程序。

要在Web界面上启用实时监视,您需要在此处注册生成密钥后,您将能够看到有关将服务器上的PM2连接到Web界面的说明。

2Raygun

Raygun是一个用于管理和监视多种编程语言(包括NodeJS)的应用程序性能的平台。它可以帮助您使用崩溃日志实时调试问题,分析应用程序代码并从代码本身中找到正确的错误点。

下面列出了一些功能。

  • 提供实时准确的错误报告

  • 支持全栈错误报告

  • 实时用户会话监控

  • 服务器性能监控和瓶颈检测实时

Raygun值得在关键任务应用程序上花费时间和金钱。它提供的见解可以转化为巨大的ROI。

3 Appmetrics

Appmetrics是由IBM管理和维护的一个开源项目。该项目的重点是提供准系统来收集跨各种活动的出色应用程序指标,这些活动包括数据事务,网络速度,数据库查询性能,CPU和内存利用率,垃圾回收等。

将其与appmetrics-dash等插件合并可以提供一个出色的免费在线工具来监视您的应用程序。

您可以使用Appmetrics作为中间件来构建监视应用程序。

4 Express Status Monitor

Express Status Monitoring是专用于监视ExpressJS的开源工具众所周知,ExpressJS是NodeJS中使用最流行的Web框架。

从上面的快照中可以看到,您可以监视响应时间,请求频率,状态代码,CPU /内存利用率和平均负载。

5Prometheus

节点导出

Prometheus是由社区提供动力的监视和项目绩效洞察工具。NodeJS开发人员社区已广泛使用它来将其性能指标转化为有用的见解。它不提供开箱即用的即插即用监控解决方案。您必须正确安装和设置才能提取数据以使其可视化。

6ClinicJS

诊所JS医生

Clinic.js是一个开放源代码库,可用于与NodeJS应用程序集成以进行监视并从中获取关键的性能参数。这是三个主要工具的组合- 医生Bubbleprof,和火焰这些工具中的每一个都用于不同的指标监视。

诊所JS医生

  • 收集健康和启发式指标

  • 自动将探针注入应用程序

  • 提供图形界面以查看应用程序性能和实时指标

  • 生成优化应用程序的建议

ClinicJS Bubbleprof

  • 绘制描述内部应用程序执行的气泡图

  • 通过显示函数执行图帮助您查明错误

  • 使用异步挂钩收集指标

  • 提供函数调用之间的延迟信息

ClinicJS Flame 

  • 专用CPU指标监控

  • 图形用户界面,用于实时监控应用程序的CPU性能

  • 生成火焰图,帮助确定指标达到的最大值

  • 深入了解应用程序的CPU消耗活动

如果您需要开展业务,则可以提供商业支持。

结论

监视通常被忽略,但对于应用程序可用性非常关键。由于开发成本是至关重要的因素,因此分析代码,监视性能并提供错误见解的工具必定物有所值。它们不仅节省时间和精力,还可以通过为客户端提供更快的解决方案来帮助您满足SLA。


技术开发 编程 技术框架 技术发展