前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 Egg 的 Node.js 性能监控解决方案 Easy-Monitor 3.0 开源了

基于 Egg 的 Node.js 性能监控解决方案 Easy-Monitor 3.0 开源了

作者头像
coder_koala
发布2020-06-18 17:53:55
1.7K0
发布2020-06-18 17:53:55
举报

I. 项目简介

作为一名 Node.js 开发者,深知对于初涉服务端领域的前端同学来说,在引入 Node.js 的时候很容易心里没底:

  • 我的应用内存一点点上涨,是为什么呢?
  • 我的应用为何响应时间这么慢?
  • 我的代码性能瓶颈在那里呢?
  • ...

今天我们很荣幸能回馈社区,正式开源 Easy-Monitor 3.0 版本,它是一款 Node.js 应用性能监控与线上故障定位解决方案。 旨在 Node.js 的开源生态工具链上,做一些能帮助到想使用和正在使用 Node.js 的开发者更好地感知自己的 Node.js 应用状态,以更好地面对来自性能和稳定性方面的挑战。

3.0 具备以下新特性:

  • 针对 Node.js 进程与系统指标的性能监控
  • 错误日志展示与依赖 Npm 模块安全风险提示
  • 自定义智能运维告警与线上进程实时状态导出

对比起 AliNode 等前辈,Easy-Monitor 提供了:

  • 私有化部署能力。
  • 低侵入性,通过 Addon 的方式提供能力,无需定制 Node.js Runtime,能更快的跟进上游。
  • 支持 Linux、macOS、Windows 三大操作系统。
  • 文档地址:https://github.com/hyj1991/easy-monitor
  • 源码地址:https://github.com/X-Profiler

II. 整体架构

Easy-Monitor 经过了 1.x,2.x 两个大版本的功能迭代,目前的 3.0 版本是作者在 Node.js 监控侧的又一个阶段性总结,对这部分感兴趣的同学可以查看 前世今生。

目前实现了对 WindowLinuxMacOS 三大平台的 Node.js 应用监控支持,整体设计架构如下所示:

控制台前端基于 Vue.js + iView UI 框架编写,监控服务端部分则是基于 Egg.js 框架编写,UI 部分整体参考了 AliNode 控制台。 更多信息可以访问 用户手册 - 整体架构 进行查看。在此,再次感谢 Egg.jsCNPMAliNode 对 Node.js 生态带来的贡献。

III. 部署指南

参照模块设计图,可以看到项目的部署主要分为两个部分:

  • 部署监控服务端
  • Node.js 应用接入

我们提供了以下 Demo 帮助大家快速体验下 Easy-Monitor 3.0 的能力。

控制台

大家可以访问 控制台 Demo ,快速体验下新版。(Demo 在代码上做了一些特殊限制防止恶意操作,本地控制台部署参见下文 完整使用文档)

应用接入

我们支持各种 Node.js 应用接入,此处以 Egg.js 为例:先安装插件:

代码语言:javascript
复制
npm i --save egg-xtransit

启用插件:

代码语言:javascript
复制
// {app_root}/config/plugin.js
exports.xtransit = {
  enable: true,
  package: 'egg-xtransit',
};

配置接入信息:

代码语言:javascript
复制
// {app_root}/config/config.default.js
exports.xtransit = {
  server: 'ws://120.27.24.200:7070',
  appId: 1,
  appSecret: 'f7b99d08cc0193106690860047b28970'
};

对应的 ID 需要访问 控制台 Demo 来注册和获取,如下:

最后按照正常操作启动 Egg.js 项目即可,正常情况下,你可以在 控制台 Demo 主页看到本地连接上来的实例:

用户手册

目前完整的使用文档部署在语雀上,参见 Easy-Monitor 3.0 用户手册。

开发者可以根据文档自行部署上述的监控服务端,再将自己的 Node.js 应用接入。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员成长指北 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • II. 整体架构
  • III. 部署指南
    • 控制台
      • 应用接入
        • 用户手册
        相关产品与服务
        应用性能监控
        应用性能监控(Application Performance Management,APM)是一款应用性能管理平台,基于实时多语言应用探针全量采集技术,为您提供分布式性能分析和故障自检能力。APM 协助您在复杂的业务系统里快速定位性能问题,降低 MTTR(平均故障恢复时间),实时了解并追踪应用性能,提升用户体验。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档