资讯专栏INFORMATION COLUMN

监控你的Nodejs应用(NPM包)

zsirfs / 3206人阅读

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

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));
});
License

MIT

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87952.html

相关文章

  • NodeJS 工程师必备的 8 个工具

    摘要:典型的使用场景比如做前端开发的同学可以利用这个工具把开发环境的服务提供给或者验收使用。内置的工具有,但是较之更优。 本文共 1689 字,读完约需 4 分钟,速读需 1 分钟 NodeJS 自诞生以来,社区的发展速度超出了所有人的想象,现在甚至可以被用来做诸如智能硬件、人脸识别的很多事情。在各种软件工程工作流中实现自动化,比如 APP 打包、WEB 开发方面自然也少不了它。根据我个人的...

    liangzai_cool 评论0 收藏0
  • 在 Laravel 项目中使用 Glup 之 Laravel-Elixir

    摘要:结果会被存放到拷贝文件目录你可以使用方法拷贝文件目录到新路径,所有操作都相对于项目根目录版本号缓存刷新很多开发者会给编译的前端资源添加时间戳或者唯一令牌后缀以强制浏览器加载最新版本而不是代码的缓存副本。 环境准备 1、安装 nodejs 和 npm  如果你使用的是 Laravel 的 Homestead 环境,可以不用安装了,已自带。  我们来查看下它们的版本: $ node -v ...

    ralap 评论0 收藏0
  • nodejs 基础篇整合

    摘要:基础篇整合最近有朋友也想学习相关方面的知识,如果你是后端想接近前端,作为一门跑在服务端的语言从这里入门再好不过了。事件驱动机制是通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文的切换。 nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了。如果你正好喜欢前端,...

    lemanli 评论0 收藏0
  • nodejs 基础篇整合

    摘要:基础篇整合最近有朋友也想学习相关方面的知识,如果你是后端想接近前端,作为一门跑在服务端的语言从这里入门再好不过了。事件驱动机制是通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文的切换。 nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了。如果你正好喜欢前端,...

    lentrue 评论0 收藏0
  • nodejs 基础篇整合

    摘要:基础篇整合最近有朋友也想学习相关方面的知识,如果你是后端想接近前端,作为一门跑在服务端的语言从这里入门再好不过了。事件驱动机制是通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文的切换。 nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了。如果你正好喜欢前端,...

    高胜山 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<