您的当前位置:首页正文

使用 Pandora.js 来监控你的 Egg 应用

来源:要发发知识网

安装Pandora

npm i pandora -g  // 安装在全局
npm i pandora --save   // 安装在应用

首先全局需要安装,安装完成之后可以使用pandora命令,如下:

$ pandora --help
pandora <command>

Commands:
  pandora init <filePath>     Init a Pandora.js project
  pandora start [targetPath]  Start an application
  pandora stop [appName]      Stop an application
  pandora restart [appName]   Restart a running application
  pandora reload <appName>    Reload an application
  pandora log [appName]       Show logs of an application
  pandora pid <appName>       Get the PID of a running application
  pandora ps <appName>        Get a tree composed of
  pandora list                List all applications
  pandora dev [targetPath]    Debug an application
  pandora exit                Stop all applications and exit the pandora daemon process

Options:
  --help         Show help                                                                                                                                              [boolean]
  -v, --version  Show version number   

创建Egg测试项目

$ npm i egg-init -g  //如果没有安装过 egg-init 需要安装
$ egg-init pandora-demo --type=simple

安装 egg-pandora-script

npm i egg-pandora-script

创建procfile.js

procfile.js文件是pandora默认读取的启动配置文件,位于项目的根目录下,可以使用pandora init命令直接创建,但是对于egg应用需要手动创建,然后将下面的代码copy进去:

const path = require('path');
const utility = require('utility');

const pkgPath = path.join(__dirname,'package.json');
const pkg = utility.readJSONSync(pkgPath);
const eggPandoraPath = path.join(__dirname,'node_modules/egg-pandora-script/index.js');

module.exports = (pandora) => {
  pandora
    .fork(pkg.name,eggPandoraPath)
}

可视化控制面板 -- Pandora-Dashboard

$ npm i pandora-dashboard -g # 全局安装,会全局注册一个命令 pandora-dashboard-dir
$ pandora start --name dashboard `pandora-dashboard-dir` # 使用该命令获得路径,用于启动

启动应用

切换命令行到项目根目录(也就是procfile所在目录),然后执行pandora start启动应用,这里也可以将package.json中原来的egg-script start改成pandora start然后用npm start, 效果是一样的。

查看应用

我们可以用 pandora log <项目名> 来查看日志, 可以使用 pandora list来查看所有启动的应用:

pandora list
当然使用Pandora-Dashboard才是最直观的,下面截取部分图片: home page of dashboad application logs process info

这里只是快速的说明了egg应用如何的接入,还有很多的参数配置都没有仔细的研究,但是相信很多人跟我一样看待这样的面板就觉得棒极了,尤其是看到多进程的性能数据面板。