CNode

PM86 - Node.js 项目监控私有化, 代码完全开源

分享
Jjkjk77发布于9 年前最后回复9 年前13 回复7655 浏览0 收藏

PM86

起源

因为公司准备统一部署 监控等流程, 需要一个完善的工具做这些事情, 所以就有了这个项目的诞生, V1 做的比较粗糙, 经过了一段时间闲置, 又进行了打磨, 改进, 接下来会持续更新, 作为主要项目来维护, 谢谢, 如果在使用过程中遇到问题, 请联系我 github@ericjj.com

说明

  • pm86-ci 命令行工具, 兼容 PM2

  • pm86-cloud SSR, API

  • Vue 2.0 SSR 管理界面, Webscoket 数据传输

 - 完全开源, 地址, 可部署在私有服务器, 利用 API 开发移动端监控 APP

功能

  • Element UI
  • 与 PM2 接口兼容
  • 独立账号管理系统
  • 监控应用进程信息
  • 远程控制进程 Reload, Restart, Rorward, Backward
  • 邮件报警通知
  • 移动端 APP
  • 慢路由

Demo Pic

Login

Buckets

Bucket

Bucket

激活邮件 激活

email 通知 email

运行

Requires Node.js 6+

1. 打开 mongodb

2. 运行 cloud service

$ cd pm86-cloud

$ cp config.simple.json config.json

# 修改config.json对应配置

$ cnpm install

$ node server.js

3. 注册账号 生成 secret_key public_key
  打开 http://127.0.0.1:3000/login 注册
  打开 http://127.0.0.1:3000/create 创建实例

4.安装命令行工具 (即 pm86-ci)

$ cnpm install pm86 -g

$ cd your-project-path, 创建下面的 processes.json 文件
// 本机环境注册

$ KEYMETRICS_NODE=127.0.0.1 KEYMETRICS_PORT=3000 REMOTE_REVERSE_PORT=43554  REMOTE_PORT=41624 pm86 interact secret_key public_key
// 启动服务

$ pm86 start processes.json
  打开 http://127.0.0.1:3000/buckets 进入对应实例 即可看到对应监控项目

部署

1. 打包

$ npm run build

2. 配置 nginx 代理

3. 修改 config

4 pm86 start processes.json

processes.json 文件, 请把 pm86 替换为实际名称


  /**
   * Application configuration section
   */
  "apps" : [
        {
            "name"      : "pm86",
            "max_memory_restart": "300M",
            "script"    : "index.js",
            "log_date_format": "YYYY-MM-DD HH:mm Z",
            "out_file" : "var/log/pm86/pm86_out.log",
            "error_file" : "var/log/pm86/pm86_error.log",
            "instances"  : 4,
            "exec_mode"  : "cluster",
            "env": {
                "NODE_ENV": "production"
            }
        }
  ]
}

查看回复

回复 (13)

J
jkjk77#1·9 年前

欢迎大大们指点批评 🐶

S
sqliang#2·9 年前

J
jkjk77#3·9 年前
引用 sqliang

@sqliang 谢谢 😀

D
dbit-xia#4·9 年前

赞👍

来自酷炫的 CNodeMD

H
haozxuan#5·9 年前

又一个 类pm2 看能维护多久吧

J
jkjk77#6·9 年前
引用 haozxuan又一个 类pm2 看能维护多久吧

@haozxuan 谢谢, 是的 开始参考了 pm25 , 但是 pm25 还有一部分没有开源出来, 没办法部署, 给作者提过 issue 也没反应, readme 也没讲怎么部署, 所以就打算重写一次, 完全开源出来; 作者使用的 angular, 用起来比较费劲, 用 vue 重写了一次,

J
jkjk77#7·9 年前
引用 haozxuan又一个 类pm2 看能维护多久吧

@haozxuan 本来想直接用 pm25 算了, 但是完全没法部署啊 摔,

J
jkjk77#8·9 年前

前端界面使用 Vue + element-ui

J
jkjk77#9·9 年前

@i5ting 婷大 😀

I
i5ting#10·9 年前
引用 jkjk77@i5ting 婷大 😀

@jkjk77 哈哈,好东西,稍后看看

I
i5ting#11·9 年前

先说一个,别用目录,使用lerna管理多个模块

https://lernajs.io/

J
jkjk77#12·9 年前

已更新

H
haozxuan#13·9 年前
引用 jkjk77@haozxuan 本来想直接用 pm25 算了, 但是完全没法部署啊 摔,

@jkjk77 基于开源精神还是很不错的,建议在某些地方标记下,借鉴或灵感来自于哪里,有根有源会好些;

参与回复
登录后即可参与回复。登录