返回介绍

Webfunny 前端监控系统

Webfunny 埋点系统

线上部署(埋点系统)

发布于 2023-08-08 23:14:10 字数 6013 浏览 0 评论 0 收藏 0

环境要求

安装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监控平台结构图:

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文