hyj1991/easy-monitor

xprofiler-console: Cannot destructure property `vulnerabilities` of 'undefined' or 'null'

kekobin opened this issue · 4 comments

大佬,xprofiler-console、xprofiler-manager、xprofiler-server三个服务都搭建好了,eggjs接入没问题,非egg接入报上面的错误。能帮忙看下么?
1.koa程序

require('xprofiler').start();
const Koa = require('koa');
const Router = require('koa-router');
const router = new Router();
const app = module.exports = new Koa();
app
  .use(router.routes())
  .use(router.allowedMethods());

router.get('/', (ctx, next) => {
  ctx.body = 'hello world'
});

router.get('/test', (ctx, next) => {
  throw Error('test error')
});

if (!module.parent) app.listen(3000);

node app 本地启动。

2.采集器配置:config.js

// I. 必须的配置
server: `ws://127.0.0.1:9090`, 
appId: 2, 
appSecret: 'dda65f5e335e32b73526d495797e0f76',

// II. 比较重要的可选配置
disks: [], 
errors: [path.resolve(__dirname, './logs/app-err-0.log')], 
packages: [
path.join(__dirname, 'package.json'),
],

// III. 不是很重要的可选的配置
logDir: 'logs', 
docker: false,
ipMode: false,
libMode: false, 
errexp: /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i, 
logger: undefined,
logLevel: 2, 

3.采集器本地启动: node xtransit.js

const config = require('./config');
const xtransit = require('xtransit');
xtransit.start(config);

访问应用页面,查看console,报标题的错误,并且感觉是很多指标没监控到:
image

我的理解是:xprofiler专门用于输出日志,xtransit完全是根据配置的日志地址做收集,然后传给ws。对照了 egg-xtransit 的配置和启动方式,没看出啥差别,比较诡异。

// III. 不是很重要的可选的配置
logDir: 'logs',

这几个配置谁让你这么写的

看非 Egg.js 应用接入的文档:https://www.yuque.com/hyj1991/easy-monitor/application

// III. 不是很重要的可选的配置
logDir: 'logs',

这几个配置谁让你这么写的

明白了,这里必须指定日志的绝对目录地址

// III. 不是很重要的可选的配置
logDir: 'logs',

这几个配置谁让你这么写的

明白了,这里必须指定日志的绝对目录地址

对的