线上部署(埋点系统)

一只会飞的鱼儿 1年前 ⋅ 1714 阅读
ad

环境要求

安装NodeJS,版本要求:14.16.1及以上, 17.0以下。

安装pm2,版本目前无要求;

安装git,版本目前无要求;

环境配置视频安装教程  配套文档

配置要求、压力测试

最低配置要求:Linux服务器:1台,CentOs系统,2核4G;Mysql数据库:1台,2核4G。

压力测试:2核CPU(3.8GH), 4G内存,单点部署,最高峰支持2.8万/分钟的日志并发量。超过3万/分钟后,会出现日志丢失的情况(此压力值测试供参考)

第一步、下载(clone)最新部署包,初始化

安装包视频教程

1.本地克隆代码$:' git clone https://github.com/a597873885/webfunny_monitor.git '

使用码云仓库$:' git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git '(github网络不稳定,可以使用码云地址)

2.在项目根目录下执行初始化命令和安装命令$:

  建议切换淘宝镜像:' npm config set registry http://registry.npm.taobao.org/ '

  生成基础配置文件:' npm install && npm run bootstrap '

3.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:' npm install pm2 -g '

第二步、配置数据库(Mysql)连接

Mysql视频安装教程  配套文档

1. 安装 Mysql 数据库

2. 创建数据库
数据库名称:webfunny_db。
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin

3. 数据库连接配置
分别进入
center/config_variable/config.json、
monitor/config_variable/config.json、
event/config_variable/config.json
三个文件中,配置对应的参数。三个文件可以使用同一个数据库(如果没有数据库,可以联系我,使用测试数据库哦)

write: {
    ip: 'xxx.xxx.xxx.xxx',         // 远程ip地址
    port: '3306',                  // 端口号
    dataBaseName: 'webfunny_db',   // 数据库名
    userName: 'root',              // 用户名
    password: '123456'             // 密码
}

第三步、配置IP和端口号(使用域名,请看下一步)

分别进入以下三个配置文件中,配置对应的 IP + 端口号

应用中心:center/config_variable/config.json

"domain": {
  "localServerDomain": "123.123.123.123:8009",
  "localAssetsDomain": "123.123.123.123:8008",
  "localServerPort": "8009",
  "localAssetsPort": "8008",
  "mainDomain": ""
},
"monitorDomain": {
  "localServerDomain": "123.123.123.123:8011",
  "localAssetsDomain": "123.123.123.123:8010"
},
"eventDomain": {
  "localServerDomain": "123.123.123.123:8015",
  "localAssetsDomain": "123.123.123.123:8014"
},

 

埋点系统:event/config_variable/config.json

"domain": {
  "localServerDomain": "123.123.123.123:8015",
  "localAssetsDomain": "123.123.123.123:8014",
  "localServerPort": "8015",
  "localAssetsPort": "8014",
  "mainDomain": ""
},
"centerDomain": {
  "localServerDomain": "123.123.123.123:8009",
  "localAssetsDomain": "123.123.123.123:8008"
},

 

监控系统:monitor/config_variable/config.json

"domain": {
  "localServerDomain": "123.123.123.123:8011",
  "localAssetsDomain": "123.123.123.123:8010",
  "localServerPort": "8011",
  "localAssetsPort": "8010",
  "mainDomain": ""
},
"centerDomain": {
  "localServerDomain": "123.123.123.123:8009",
  "localAssetsDomain": "123.123.123.123:8008"
},

 

第四步、配置代理、域名

如大家所见,虽然执行了一条命令(npm run prd),其实是启动了3个模块,6个端口号,结构图见文档末尾。分别是:应用中心(8009,8008)、埋点系统(8015,8014)、监控系统(8011,8010),记得提醒运维同学,将所这6个端口的对外授权打开哦。

生产环境中,我们不推荐使用 IP + 端口的形式; 端口复杂,且不方便支持https,所以推荐使用代理,代理配置请参考文档:nginx代理

使用代理后,就可以将所有的IP+端口 替换成域名了,配置如下:

应用中心:center/config_variable/config.json

"domain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com",
  "localServerPort": "8009",
  "localAssetsPort": "8008",
  "mainDomain": ""
},
"monitorDomain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com"
},
"eventDomain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com"
},

 

埋点系统:event/config_variable/config.json

"domain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com",
  "localServerPort": "8015",
  "localAssetsPort": "8014",
  "mainDomain": ""
},
"centerDomain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com"
},

 

监控系统:monitor/config_variable/config.json

"domain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com",
  "localServerPort": "8011",
  "localAssetsPort": "8010",
  "mainDomain": ""
},
"centerDomain": {
  "localServerDomain": "www.xxx.com",
  "localAssetsDomain": "www.xxx.com"
},

 

第五步、尝试运行,访问

执行命令:npm run prd;如果已经启动过了,则执行重启命令:npm run restart;

命令行出现webfunny.cn的logo,则说明启动成功了。

此时,可以直接访问应用中心首页了

应用中心首页: http://www.xxx.com/webfunny_center/main.html

注:如果访问不了,请跟运维确认下是否打开了6个端口号的对外授权。

 

webfunny监控平台结构图:

 

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • 一只会飞的鱼儿
    共发布53篇文章 获得8个收藏
全部评论: 0