Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【自荐】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 #1348

Open
hyj1991 opened this issue Jul 17, 2020 · 0 comments

Comments

@hyj1991
Copy link

hyj1991 commented Jul 17, 2020

欢迎加入官方钉钉群 35149528 一起讨论

如果项目对你有帮助,访问 https://github.com/hyj1991/easy-monitor 来 star 支持下作者。

I. 项目简介

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

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

Easy-Monitor 是一款Node.js 应用性能监控与线上故障定位解决方案。

旨在 Node.js 的开源生态工具链上,做一些能帮助到想使用和正在使用 Node.js 的开发者更好地感知自己的 Node.js 应用状态,以更好地面对来自性能和稳定性方面的挑战。

3.0 具备以下新特性:

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

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

  • 私有化部署能力。
  • 低侵入性,通过 Addon 的方式提供能力,无需定制 Node.js Runtime,能更快的跟进上游。
  • 支持 Linux、macOS、Windows 三大操作系统。

image

II. 整体架构

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

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

image

控制台前端基于 Vue.js + iView UI 框架编写,监控服务端部分则是基于 Egg.js 框架编写,UI 部分整体参考了 AliNode 控制台。

更多信息可以访问 用户手册 - 整体架构 进行查看。

III. 部署指南

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

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

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

控制台

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

应用接入

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

先安装插件:

npm i --save egg-xtransit --xprofiler_binary_host_mirror=https://npm.taobao.org/mirrors/xprofiler

启用插件:

// {app_root}/config/plugin.js
exports.xtransit = {
  enable: true,
  package: 'egg-xtransit',
};

配置接入信息:

// {app_root}/config/config.default.js
exports.xtransit = {
  server: 'ws://120.27.24.200:7070',
  appId: 1,
  appSecret: 'f7b99d08cc0193106690860047b28970'
};

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

image

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

image

用户手册

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

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

IV. 联系作者

最后的最后,作者是完全使用空余时间维护更新这个项目的,如果项目对你有帮助, 来个 star 支持下作者吧 :)

如果你在使用过程中有任何的疑问或者建议可以提 issue,或者扫码加钉钉群联系作者:

希望本项目如其名一样,能帮助开发者解决更多开发中遇到的问题,构建起对 Node.js 技术栈的信心,让 Node.js 更加 “简单”。

@hyj1991 hyj1991 changed the title 【工具】基于 Addon 的企业级 Node.js 性能监控开源工具 【工具】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 Jul 17, 2020
@hyj1991 hyj1991 changed the title 【工具】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 【工具】Easy-Monitor:基于 Addon 的企业级 Node.js 性能监控开源工具 Jul 17, 2020
@hyj1991 hyj1991 changed the title 【工具】Easy-Monitor:基于 Addon 的企业级 Node.js 性能监控开源工具 【工具】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 Jul 17, 2020
@hyj1991 hyj1991 changed the title 【工具】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 【自荐】Easy-Monitor —— 基于 Addon 的企业级 Node.js 性能监控开源工具 Jul 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants