监控你的Nodejs运用(NPM包)

tinymonit(Go Site)

能够汇集体系的CPU、内存、负载等信息,以及体系历程的CPU、内存等相干信息可自由组合,固然也支撑集群形式,即假如你有多台机械多个历程依然能够运用该包网络简朴的监控信息来监控你的运用。

运用示例

做了一个简朴的微信小顺序Demo来显现如安在界面中检察监控信息:

《监控你的Nodejs运用(NPM包)》

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(r));

建立被监控历程实例(平常有多个)

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

    原文作者:hardog
    原文地址: https://segmentfault.com/a/1190000007094734
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞