hyj1991/easy-monitor

请问一下,内存监控和CPU监控的数据,是否有保存文件下来?

kingxiaozhe opened this issue · 18 comments

我们需要拿着监控的数据,进行分析。
盼回复

easy-monitor@v2.x 版本暂时没有支持 profile 文件的本地存储,但是正在编写中的 v3.x 会完整支持监控数据以及 profile 文件的云端存储和团队共享逻辑。

当前如果你有这些需求的话可以自行修改下源码简单定制下:

https://github.com/hyj1991/easy-monitor/blob/master/src_logic/embrace/controller/tcp.profiler.js#L48

这里的返回的 profile 变量(字符串 / Stream)你可以加一点逻辑将其保存至本地即可。

那我现在需要去保存这个监控的数据,是否有什么好办法,或者思路去简单实现以下呢?

你需要的是保存生成的 profile 文件还是那些 cpu/os 信息?

具体三个方面:
第一个:我们监控内存使用,现在用内存监控还无法定位到我们内存问题,所以需要监控一段时间的内存信息,并且保存下来,然后根据内存数据进行问题定位。
第二:CPU监控信息也是同上。
第三个:就是函数的执行时间,最好也能保存下来数据,作为一个数据比对作用,要给领导演示的。

这部分内容你们可以自己定制下先。
V3.0 的版本会有很大的更新,预计不早于 6 月发布

好的,感谢 期待新版本。

再请教个问题,我看内存监控是实时监控的,查询完显示内存监控结果之后就停止了,请问这个可以设置成持续一段时间去监控吗,我们需要拿到一段时间的内存监控记录,谢谢

现在数据就是实时的,你点开页面才会触发数据的采集,这个触发定时器写在前端了,当时主要是考虑到尽量让使用简单,所以你可以看到这个版本没有任何外部依赖(mysql / redis 等存储服务)就可以使用

就是现在需要触发实时的数据采集,那就只能通过刷新页面去实现 对么?

页面不需要刷新,打开在哪里自己就会起一个定时器拉取数据的

我现在进去页面之后,页面不刷新的话,内存数据没有重新去拉去,还需要配置什么吗? 这个触发定时器具体是在哪个页面里面呢?

MEM 这个页面 可以定时调用吗? 就想OS页面一样 实时的这种

不行,这个操作进程没有问题不要去触发,会影响主进程性能

我们现在的场景就是,在性能环境去做压测,在某个时间点上,就会出现内存溢出现象,出现502的情况,所以我们想持续监控内存。还有什么不影响主进程的办法么?

设置服务器 ulimit -c unlimited,crash 后会有 coredump 生成,分析下 core 文件吧