使用 Pandora.js 来监控你的 Egg 应用
仍然是阿里开源的一个专门用于监控Node应用服务的库 –> Pandora,专门为Node而生并且对于Egg的多进程模型也有很好支持,这里将Egg服务如何快速接入Pandora进行简要说明。
安装Pandora
npm i pandora -g // 安装在全局npm i pandora --save // 安装在应用
首先全局需要安装,安装完成之后可以使用pandora
命令,如下:
$ pandora --helppandora <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 processOptions: --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
熟习egg的应该知道egg的启动是使用egg-script工具进行启动的,但是假如使用pandora就需要替换掉egg-script,所以egg-pandora-script是本人根据egg-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
Pandora-Dashboard 是一个可视化的控制面板,可以通过这个面板查看所有通过pandora start
启动的应用,详见说明文档。
$ 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应用如何的接入,还有很多的参数配置都没有仔细的研究,但是相信很多人跟我一样看待这样的面板就觉得棒极了,尤其是看到多进程的性能数据面板。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 使用 Pandora.js 来监控你的 Egg 应用