tinymonit(Go Site)
能够汇集体系的CPU、内存、负载等信息,以及体系历程的CPU、内存等相干信息可自由组合,固然也支撑集群形式,即假如你有多台机械多个历程依然能够运用该包网络简朴的监控信息来监控你的运用。
运用示例
做了一个简朴的微信小顺序Demo来显现如安在界面中检察监控信息:
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));
});