easy-monitor3.0 nodejs性能监控和分析工具

news2025/2/27 2:48:25

#easy-monitor性能监控和分析工具 Easy-Monitor 3.0 https://blog.csdn.net/qq_36791889/article/details/115420116
#git地址:https://github.com/1981430140/easy-monitor-docker-compose.git

一、easy-monitor 服务器端安装(docker-compose)

yum install git wget -y
git clone https://github.com/1981430140/easy-monitor-docker-compose.git
cd easy-monitor-docker-compose
docker-compose up -d

http://192.168.11.100:8443
帐号:admin@admin.com 密码:admin

登录后创建新应用
在这里插入图片描述
在这里插入图片描述

二、安装nodejs

cd ..
wget https://nodejs.org/download/release/v8.11.4/node-v8.11.4-linux-x64.tar.gz
tar zxvf node-v8.11.4-linux-x64.tar.gz
mkdir /data
mv node-v8.11.4-linux-x64 /data/nodejs
ln -s /data/nodejs/bin/* /usr/bin/
echo "PATH=$PATH:/data/nodejs/bin"  >> /etc/profile
source /etc/profile
node -v

三、demo 接入
3.1 安装demo

git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
cd nodejs-docs-hello-world

3.2、安装xprofiler客户端

cd nodejs-docs-hello-world
#npm i xprofiler@1.4.0 --unsafe-perm --save --xprofiler_binary_host_mirror=https://npm.taobao.org/mirrors/xprofiler
npm install -g npm@8.19.3
npm i xprofiler --unsafe-perm --save --xprofiler_binary_host_mirror=https://npm.taobao.org/mirrors/xprofiler

配置xprofiler

require('xprofiler').start();

在这里插入图片描述
3.3 安装xtransit
3.3.1)全局安装

npm install xtransit -g

3.3.2)本项目安装()

npm install xtransit --save

配置xtransit

const xtransit = require('xtransit');
const config = {
  server: `ws://127.0.0.1:9090`,                 // 填写前一节中部署的 xtransit-server 地址
  appId: 1,                                      // 创建应用得到的应用 ID
  appSecret: '7f2741850877c7edff7c9c9daabd000e', // 创建应用得到的应用 Secret
};
xtransit.start(config);

在这里插入图片描述

cat > start.sh << 'EOF'
kill `ps aux|grep "node index.js"|awk '{print $2}'`
nohup node index.js &
EOF
bash start.sh

四、验证
进行控制台
在这里插入图片描述
xprofiler@1.4.0有兼容问题
在这里插入图片描述

xprofiler@2.3.0正常
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

—分界线—
xprofiler的日志默认在/tmp目录下

easy-monitory 日志入库ES的grok配置规则
日志格式
#heap日志

[2022-11-07 15:42:23.396565] [info] [heap] [20836] rss: 43163648, heap_used: 10963528, heap_available: 2187569960, heap_total: 14667776, heap_limit: 2197815296, heap_executeable: 1048576, total_physical_size: 13818304, malloced_memory: 270408, amount_of_external_allocated_memory: 3316804, new_space_size: 1048576, new_space_used: 273368, new_space_available: 757704, new_space_committed: 262480, old_space_size: 10190848, old_space_used: 7656248, old_space_available: 2353184, old_space_committed: 10190632, code_space_size: 892928, code_space_used: 814624, code_space_available: 12768, code_space_committed: 840448, map_space_size: 794624, map_space_used: 509400, map_space_available: 267712, map_space_committed: 783944, lo_space_size: 1564672, lo_space_used: 1538944, lo_space_available: 0, lo_space_committed: 1564672, read_only_space_size: 176128, read_only_space_used: 170944, read_only_space_available: 0, read_only_space_committed: 176128, new_lo_space_size: 0, new_lo_space_used: 0, new_lo_space_available: 1031072, new_lo_space_committed: 0, code_lo_space_size: 0, code_lo_space_used: 0, code_lo_space_available: 0, code_lo_space_committed: 0, 
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:logevel}\] \[%{DATA:logtype}\] \[%{POSINT:pid}\] rss: %{NUMBER:rss}, heap_used: %{NUMBER:heap_used}, heap_available: %{NUMBER:heap_available}, heap_total: %{NUMBER:heap_total}, heap_limit: %{NUMBER:heap_limit}, heap_executeable: %{NUMBER:heap_executeable}, total_physical_size: %{NUMBER:total_physical_size}, malloced_memory: %{NUMBER:malloced_memory}, amount_of_external_allocated_memory: %{NUMBER:amount_of_external_allocated_memory}, new_space_size: %{NUMBER:new_space_size}, new_space_used: %{NUMBER:new_space_used}, new_space_available: %{NUMBER:new_space_available}, new_space_committed: %{NUMBER:new_space_committed}, old_space_size: %{NUMBER:old_space_size}, old_space_used: %{NUMBER:old_space_used}, old_space_available: %{NUMBER:old_space_available}, old_space_committed: %{NUMBER:old_space_committed}, code_space_size: %{NUMBER:code_space_size}, code_space_used: %{NUMBER:code_space_used}, code_space_available: %{NUMBER:code_space_available}, code_space_committed: %{NUMBER:code_space_committed}, map_space_size: %{NUMBER:map_space_size}, map_space_used: %{NUMBER:map_space_used}, map_space_available: %{NUMBER:map_space_available}, map_space_committed: %{NUMBER:map_space_committed}, lo_space_size: %{NUMBER:lo_space_size}, lo_space_used: %{NUMBER:lo_space_used}, lo_space_available: %{NUMBER:lo_space_available}, lo_space_committed: %{NUMBER:lo_space_committed}, read_only_space_size: %{NUMBER:read_only_space_size}, read_only_space_used: %{NUMBER:read_only_space_used}, read_only_space_available: %{NUMBER:read_only_space_available}, read_only_space_committed: %{NUMBER:read_only_space_committed}, new_lo_space_size: %{NUMBER:new_lo_space_size}, new_lo_space_used: %{NUMBER:new_lo_space_used}, new_lo_space_available: %{NUMBER:new_lo_space_available}, new_lo_space_committed: %{NUMBER:new_lo_space_committed}, code_lo_space_size: %{NUMBER:code_lo_space_size}, code_lo_space_used: %{NUMBER:code_lo_space_used}, code_lo_space_available: %{NUMBER:code_lo_space_available}, code_lo_space_committed: %{NUMBER:code_lo_space_committed},

结果

{
  "amount_of_external_allocated_memory": "3316804",
  "new_space_committed": "262480",
  "code_lo_space_committed": "0",
  "heap_limit": "2197815296",
  "pid": "20836",
  "read_only_space_used": "170944",
  "logtype": "heap",
  "code_space_committed": "840448",
  "code_space_size": "892928",
  "lo_space_available": "0",
  "old_space_committed": "10190632",
  "lo_space_committed": "1564672",
  "new_space_size": "1048576",
  "heap_available": "2187569960",
  "map_space_available": "267712",
  "heap_total": "14667776",
  "new_lo_space_used": "0",
  "old_space_used": "7656248",
  "map_space_used": "509400",
  "code_lo_space_available": "0",
  "old_space_available": "2353184",
  "code_lo_space_size": "0",
  "read_only_space_committed": "176128",
  "read_only_space_available": "0",
  "code_space_available": "12768",
  "logevel": "info",
  "new_space_available": "757704",
  "heap_used": "10963528",
  "heap_executeable": "1048576",
  "read_only_space_size": "176128",
  "new_space_used": "273368",
  "lo_space_used": "1538944",
  "rss": "43163648",
  "code_space_used": "814624",
  "new_lo_space_available": "1031072",
  "timestamp": "2022-11-07 15:42:23.396565",
  "malloced_memory": "270408",
  "new_lo_space_size": "0",
  "map_space_size": "794624",
  "new_lo_space_committed": "0",
  "lo_space_size": "1564672",
  "total_physical_size": "13818304",
  "code_lo_space_used": "0",
  "map_space_committed": "783944",
  "old_space_size": "10190848"
}

#gc日志

[2022-11-09 14:50:02.959052] [info] [gc] [8236] gc_time_during_last_min: 0, total: 36, scavange_duration: 0, marksweep_duration: 0
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:logevel}\] \[%{DATA:logtype}\] \[%{POSINT:pid}\] gc_time_during_last_min: %{INT:gc_time_during_last_min}, total: %{INT:total}, scavange_duration: %{INT:scavange_duration}, marksweep_duration: %{INT:marksweep_duration}

结果

{
  "logtype": "gc",
  "total": "36",
  "scavange_duration": "0",
  "gc_time_during_last_min": "0",
  "logevel": "info",
  "pid": "8236",
  "marksweep_duration": "0",
  "timestamp": "2022-11-09 14:50:02.959052"
}

#http日志

[2022-11-09 14:50:02.959103] [info] [http] [8236] live_http_request: 0, http_request_handled: 0, http_response_sent: 0, http_rt: 0.000000
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:logevel}\] \[%{DATA:logtype}\] \[%{POSINT:pid}\] live_http_request: %{INT:live_http_request}, http_request_handled: %{INT:http_request_handled}, http_response_sent: %{INT:http_response_sent}, http_rt: %{INT:http_rt}

结果

{
  "logtype": "http",
  "http_request_handled": "0",
  "live_http_request": "0",
  "http_rt": "0",
  "logevel": "info",
  "pid": "8236",
  "http_response_sent": "0",
  "timestamp": "2022-11-09 14:50:02.959103"
}

#timer日志

[2022-11-09 14:50:02.959076] [info] [timer] [8236] total_timer: 1, active_handles: 3
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:logevel}\] \[%{DATA:logtype}\] \[%{POSINT:pid}\] total_timer: %{INT:total_timer}, active_handles: %{INT:active_handles}

结果

{
  "logtype": "timer",
  "total_timer": "1",
  "active_handles": "3",
  "logevel": "info",
  "pid": "8236",
  "timestamp": "2022-11-09 14:50:02.959076"
}

#cpu日志

[2022-11-07 14:49:31.280173] [info] [other] [20836] cpu_usage(%) now: 0.000000, cpu_15: 0.133333, cpu_30: 0.066667, cpu_60: 0.050000, cpu_180: 0.044444, cpu_300: 0.086667, cpu_600: 0.085809
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:logevel}\] \[%{DATA:logtype}\] \[%{POSINT:pid}\] cpu_usage\(%\) now: %{NUMBER:now}, cpu_15: %{NUMBER:cpu_15}, cpu_30: %{NUMBER:cpu_30}, cpu_60: %{NUMBER:cpu_60}, cpu_180: %{NUMBER:cpu_180}, cpu_300: %{NUMBER:cpu_300}, cpu_600: %{NUMBER:cpu_60}

结果

{
  "cpu_60": "0.050000",
  "cpu_30": "0.066667",
  "pid": "20836",
  "cpu_15": "0.133333",
  "logtype": "other",
  "cpu_180": "0.044444",
  "now": "0.000000",
  "cpu_300": "0.086667",
  "logevel": "info",
  "timestamp": "2022-11-07 14:49:31.280173"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我说MySQL里每张表不要超过100w数据,面试官让我回去等通知?

V-xin&#xff1a;ruyuanhadeng获得600页原创精品文章汇总PDF 目录 1、面试题2、面试官心理分析3、面试题剖析 1、面试题 事务的几个特点是什么&#xff1f;数据库事务有哪些隔离级别&#xff1f;MySQL的默认隔离级别&#xff1f; 2、面试官心里分析 用mysql开发的三个基本…

操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比

操作系统4小时速成&#xff1a;处理机调度&#xff0c;调度方法&#xff0c;调度准则&#xff0c;典型的调度算法&#xff0c;响应比 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff…

详探XSS PayIoad

详探XSS PayIoad1.Cookie劫持2.构造GET与POST请求3.XSS钓鱼4.识别用户浏览器1.Cookie劫持 一个最常见的XSS Payload&#xff0c;就是通过读取浏览器的Cookie对象&#xff0c;从而发起“Cookie劫持”攻击 Cookie中一般加密保存了当前用户的登录凭证。Cookie如果丢失&#xff0…

码神之路项目部署(五)

这一章主要是讲解一下怎么部署上线项目 一、上线准备 腾讯云服务器一台&#xff08;2核2g&#xff09;、域名一个 &#xff08;可有可无&#xff09; 说明&#xff1a;当然了服务器的配置根据项目来选择&#xff0c;2核2g跑这个博客小项目是完全没有问题的 二、服务器安装环…

但见新人笑,那闻旧人哭,大衣哥前儿媳陈亚楠好可怜

著名爱国艺人黄安&#xff0c;曾经演唱过一首歌曲&#xff0c;名字叫作《新鸳鸯蝴蝶梦》&#xff0c;歌词写的是相当棒。比如说“由来只有新人笑&#xff0c;有谁听到旧人哭”这句歌词&#xff0c;就是农民歌唱家大衣哥&#xff0c;前儿媳陈亚楠的真实写照。 陈亚楠之所以和大衣…

迈动互联获“ISO20000信息技术服务管理体系认证证书”

近日&#xff0c;迈动互联获得“ISO20000信息技术服务管理体系标准”认证证书&#xff0c;该证书标志着迈动在IT服务管理标准领域的关键技术取得了制度流程规范性和完备性上的进一步提升。 此前&#xff0c;迈动已经获得专精特新企业评定、ISO9001质量管理体系认证、27001信息…

[附源码]java毕业设计基于协同过滤推荐的电影推荐系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Invertible Image Signal Processing 可逆图像信号处理

摘要 未经处理的 RAW 数据是一种非常有价值的图像格式&#xff0c;可用于图像编辑和计算机视觉。然而&#xff0c;由于 RAW 数据的文件大小巨大&#xff0c;大多数用户只能访问经过处理和压缩的 sRGB 图像。为了弥合这一差距&#xff0c;我们设计了一个可逆图像信号处理 (InvIS…

Q701二叉搜索树的插入操作-递归法-刷leetcode日记

声明&#xff1a;问题描述来源leetcode 一、问题描述&#xff1a; 701. 二叉搜索树中的插入操作 难度中等400 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据…

如何支持微软邮箱OAuth2.0认证

近期收到部分使用微软邮箱的客户反映&#xff0c;在EDI系统中无法连接到他们的企业邮箱中&#xff0c;连接过程中报错&#xff1a; IMAP protocol error. 1 NO LOGIN failed…&#xff0c;经确认是微软停用了邮箱的基本验证功能&#xff0c;客户端必须使用OAuth2.0认证&#xf…

如何验证 Kubernetes YAML 文件

原文出自&#xff1a;Armo’s blog 原文作者&#xff1a;Bezalel Brandwinen,&#xff0c;Team Lead at Armo Ltd Kubernetes 在我们现在如何管理容器化应用程序方面占据了中心位置。因此&#xff0c;存在许多定义我们的 的协议&#xff0c;包括 、JSON、INI 等结构。 这使得我…

自动化测试中对数据恢复的思考与实际业务改造实践

在接口自动化测试过程中&#xff0c;构造测试数据是必不可少的一个环节&#xff0c;但如何恢复测试数据也同样值得关注。业内常见的做法有&#xff1a; 1、不恢复&#xff1a;如果是没什么影响的数据&#xff0c;不恢复也无所谓&#xff0c;缺点就是会造成大量数据冗余&#x…

2022 年 10 月区块链操作系统的开发回顾

查看 Cartesi Machine、Cartesi Rollups 和 Noether 的更新正在寻找区块链操作系统组件的最新进展&#xff1f;你找对地方了&#xff01;正如在我们的路线图文章中所描述的那样&#xff0c;我们一直在朝着定期且频繁的更新方向发展着&#xff0c;以便让我们的社区能够及时的了解…

【前端】Ajax

目录 一、服务器对外提供了哪些资源 二、了解Ajax 2.1什么是Ajax 2.2Ajax作用 三、jQuery中的Ajax 3.1$.get()函数的语法 3.2$.post()函数的语法 3.3$.ajax()函数的语法 四、接口 4.1接口的概念 4.2接口测试工具 4.3接口文档 一、服务器对外提供了哪些资源 如果要在…

1.1小程序内置tabbar和自定义tabbar区别

文章目录内置tabbar自定义 tabbar创建文件夹 custom-tab-bar发现小程序自定义tabBar切换颜色总是比点击慢一步switchtab报错“switchTab:fail page “pages/home/pages/message/message” is not found”直接在微信开发文档内搜索&#xff0c;出现的是自定义 tabbar &#xff0…

用HTML+CSS做一个简单好看的校园社团网页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园班级网页设计 | 我的班级网页 | 我的学校 | 校园社团 | 校园运动会 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML&#xff1a;结构 …

C# 零基础搭建一个简单的Asp.Net Core WebAip

下面介绍的vs2022 基于.NET 6 搭建的一个简单的Asp.Net Core WebAip 一、创建aps.net core Web Aip 1、创建一个新的Asp.Net Core WebApi 项目 启动vs2022&#xff0c;在开始页面选择“创建新项目(N)”。 选择从C#的asp.net core WbeApi 作为一个初始的WebApi模板。 点击下…

C++初阶 List的介绍和使用

作者&#xff1a;小萌新 专栏&#xff1a;初阶C 作者简介&#xff1a;大二学生 希望能和大家一起进步 博客简介&#xff1a;本篇博客会简单介绍List和它的用法 List的介绍和使用List介绍List的使用方式List的定义方式List的插入与删除push_front pop_frontpush_back pop_backi…

虚拟机磁盘扩容(纯命令行)

背景&#xff1a;磁盘使用率达到100%&#xff0c;无大数据文件可删除&#xff0c;需要进行磁盘扩容 步骤&#xff1a; 1.虚拟机调高分配给磁盘的大小 2.启动虚拟机&#xff0c;查看磁盘是否扩容 fdisk -l 3.扩容磁盘分区 fdisk /dev/sda 先输入p查看当前情况 输入d&#xf…

Flash、eeprom、rom、ram

存储器 ramrom rom: 不能编程prom: 可以写入一次eprom: 多次擦写, 需要在紫外线照一下eeprom: 任意修改 狭义EEPROM:广义EEPROM: flash nor flash: 字节读, 块擦除nand flash: 页读取, 块擦除 ROM&RAM EEPROM 可随机访问/修改任意字节, 可向每个bit写入0/1, 掉电不丢…