js ws 状态_Easy-Monitor 3.0 开源 - 基于 Egg 的 Node.js 性能监控解决方案

news/2024/7/23 11:35:37 标签: js ws 状态

90712a0489848fe937580eae4664c9c3.png

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

# 项目简介

作为一名 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 三大操作系统。

6c6c13c49aa3f07deaebd8fb156d6672.png
  • 文档地址:https://github.com/hyj1991/easy-monitor
  • 源码地址:https://github.com/X-Profiler

# 整体架构

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

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

b592168d77bbca605f641d78c7bb19f0.png

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

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

在此,再次感谢 Egg.js、CNPM 和 AliNode 对 Node.js 生态带来的贡献。


# 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://devtoolx.com:7070',
  appId: 1,
  appSecret: 'f7b99d08cc0193106690860047b28970'
};

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

58861320debb3fa102efc9695629c0ef.png
Demo 控制台应用信息

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

4c8c60f4fb6fa79a2b1d7a8c04364a22.png

## 用户手册

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

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


# 联系我

如果你在使用 Easy-Monitor 3.0 项目中遇到了问题,欢迎加入钉钉群 35149528 一起讨论。

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


# 特别感谢

本文主要校对 @天猪 ,题图来自于 @五月君 ,感谢各位。


http://www.niftyadmin.cn/n/1502462.html

相关文章

weblogic漏洞复现及xml学习

前言: WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件。 WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。 将Java的动态功能和Java Enterprise标准的…

重载overload和重写override的区别

public class MethodOverrideVSOverload {//因为参数与Object的equals方法不同,故没有重写equals方法,而是重载关系public boolean equals(MethodOverrideVSOverload other) {System.out.println("MethodOverrideVSOverload");return true;}/*…

aspose 换行写_Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行

var templatePath Server.MapPath("/Template/区域订单列表导出模板.xlsx");//NPOIHelper.GetTemplateToExcel(templatePath,list);Workbook workbook newWorkbook();workbook.Open(templatePath);Cells cells workbook.Worksheets[0].Cells;if (list ! null){int …

手脱UPX v0.89.6 - v1.02

声明: 只为纪录自己的脱壳历程,高手勿喷这个壳的脱法很多一般都一步直达的,步过我喜欢ESP定律 1.载入OD,在入口下一行ESP定律运行一次 00457170 > 60 pushad ; //入口 00457171 BE 00…

nginx漏洞复现

vulhub漏洞环境 https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/ Nginx 解析漏洞复现 版本信息: Nginx 1.x 最新版 PHP 7.x最新版该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。 1、由于nginx.conf的错误配置…

centos7 vi保存退出_【2021新教程】CentOS7.6搭建LNMP环境教程

背景在安装typecho、wordpress之前,往往需要安装nginx、mysql、php等环境。本文章主要介绍如何在centos7.6上搭建LNMP环境。本文主要参考了腾讯云提供的一些帮助文档,并根据实际情况做了改进,同时将部分镜像优化为清华、北京外国语等国内镜像…

为什么要有handler机制?handler机制的原理

为什么要有handler机制? 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化。有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过接收到的消息更新主UI线程的内容。 …

二进制安全

经典栈溢出(上 反汇编 什么是栈?以linux为例 将执行过程调试一下看的更清楚