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

#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"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值