监控你的 Nodejs 应用(NPM 包) Nodejs

监控你的 Nodejs 应用(NPM 包) Nodejs

tinymonit(Go Site)

Build Status Coverage Status License npm Version

可以搜集系统的 CPU 、内存、负载等信息,以及系统进程的 CPU 、内存等相关信息可自由组合,当然也支持集群模式,即如果你有多台机器多个进程仍然可以使用该包收集简单的监控信息来监控你的应用。

使用示例

做了一个简单的微信小程序 Demo 来显示如何在界面中查看监控信息:

tm-wechat

wechat-tinymonit 代码详见: 点击查看 wechat ui 代码

特性列表

  • promisify 风格的函数
  • 可以收集系统 CPU 、内存、负载等信息
  • 可以收集系统中进程的 CPU 、内存等信息
  • 可以设置阀值告警
  • 支持集群模式

安装

$ npm install tinymonit -g

测试

运行测试:

$ npm run test

运行测试覆盖率:

$ npm run cover

使用

获取系统监控信息

const tm = require('tinymonit');
const osstat = tm.osstat;

Promise.resolve() .then(() => osstat([8122])) .then((stat) => console.log®);

创建被监控进程实例(一般有多个)

const Part = require('tinymonit').part;

let part = new Part(3000, { timeout: 100, pid: process.pid // this is defalut });

创建收集监控信息实例(一般只有一个)

const Central = require('tinymonit').central;

let ctl = new Central({ timeout: 100, parts:[ 3000, [3001, 200] //’[remote ip]:[port]’ ] });

// start collect performance data from 3000, 3001 Promise.resolve() .then(() => ctl.collect()) .then((allstats) => { // do sth });

超阀值告警

const tm = require('tinymonit');
const pid = process.pid;
const osstat = tm.osstat;
const alarm = tm.alarm;

Promise.resolve() .then(() => osstat([pid])) .then((stat) => { console.log(alarm.should_cpu_alarm(rstat, 1)); console.log(alarm.should_mem_alarm(stat)); console.log(alarm.should_load_alarm(stat)); console.log(alarm.should_procs_alarm(stat, 2)); });

License

MIT


1 回复

监控你的 Node.js 应用对于确保其稳定性和性能至关重要。使用 NPM 包可以帮助你轻松实现这一目标。以下是一些常用的 NPM 包及其基本用法示例,用于监控 Node.js 应用:

  1. pm2:这是一个强大的进程管理工具,可以监控和管理你的 Node.js 应用。

安装:

npm install pm2 -g

使用:

pm2 start app.js
pm2 monit

pm2 monit 命令会启动一个实时监控界面,显示应用的 CPU、内存使用情况等。

  1. express-status-monitor:这个中间件可以为 Express 应用添加一个实时监控面板。

安装:

npm install express-status-monitor

使用:

const express = require('express');
const statusMonitor = require('express-status-monitor');

const app = express();
app.use(statusMonitor());

app.get('/', (req, res) => res.send('Hello World!'));

app.listen(3000, () => console.log('App listening on port 3000!'));
  1. New Relic:这是一个全面的应用性能监控(APM)解决方案,支持 Node.js。

安装: 你需要在 New Relic 网站上创建一个账户并获取许可证密钥,然后使用以下命令安装:

npm install newrelic

使用: 在应用的入口文件(如 app.js)顶部添加 New Relic 配置:

require('newrelic');

这些工具可以帮助你实时监控 Node.js 应用的性能,及时发现并解决问题。根据你的需求选择合适的工具,并确保在生产环境中启用监控。

回到顶部