Docker容器化部署(企业版)

大家好,webfunny前端监控埋点系统,已经正式发布了webfunny的官方镜像:

Webfunny镜像目录:https://hub.docker.com/r/webfunny/webfunny_monitor_cluster/tags

部署前提是你的服务器已经安装了Docker环境,没有安装docker环境的可以参考这篇安装文档

一、拉取官方镜像

执行命令$:docker pull webfunny/webfunny_monitor_cluster:0.0.8

二、创建配置文件

  1. 配置文件模板代码:模板代码

  2. 外部配置文件目录挂载容器里面的路径,如下:

本地配置文件:/app/webfunny.config/, 则映射目录为:/app/webfunny.config/

  1. 配置文件的参数说明文档。

三、填写基础配置

  1. 找到本地配置文件进行修改:/app/webfunny.config/index.js

  2. 填写授权码,如果没有,可以联系客服,微信号(webfunny2)

clike 复制代码
/**
* 授权码设置
* monitor:前端监控
* event: 埋点系统
* logger: 日志系统
* 配置更改后,需重启
*/
const licenseConfig = {
  "monitor": {
    "purchaseCode": "", // 监控系统授权码
    "secretCode": ""  // 解码(没有可不填)
  },
  "event": {
    "purchaseCode": "", // 埋点系统授权码
    "secretCode": ""  // 解码(没有可不填)
  }
}
  1. 填写数据库配置

  2. 创建msyql数据库 webfunny_db;

字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin

  1. 创建clickhouse数据库 webfunny_db;

注意:下方需要配置两处数据库

应用中心(center): 配 mysql数据库

监控系统(monitor)、埋点系统(event)、日志系统(logger): 配 clickhouse数据库

clike 复制代码
/**
* 数据库设置
* center: 应用中心数据库(mysql)
* monitor:前端监控数据库(clickhouse)
* event: 埋点系统数据库(clickhouse)
* logger: 日志系统数据库(clickhouse)
* monitor、event、logger 三个可以共用一台数据库
* 配置更改后,需重启
*/
const mysqlConfig = {
  // 应用中心(Mysql)
  "center": {
    "write": {
      "ip": "xx.xx.xx.xx",
      "port": "3306",
      "dataBaseName": "webfunny_db",
      "userName": "webfunny",
      "password": "12345678"
    },
    "read": []
  },
  // 监控(Clickhouse)
  "monitor": {
    "write": {
      "ip": "xx.xx.xx.xx",
      "port": "3306",
      "dataBaseName": "webfunny_db",
      "userName": "webfunny",
      "password": "12345678"
    },
    "read": []
  },
  // 埋点(Clickhouse)
  "event": {
    "write": {
      "ip": "xx.xx.xx.xx",
      "port": "3306",
      "dataBaseName": "webfunny_db",
      "userName": "webfunny",
      "password": "12345678"
    },
    "read": []
  },
  // 日志(Clickhouse)
  "logger": {
    "write": {
      "ip": "",
      "port": "",
      "dataBaseName": "",
      "userName": "",
      "password": ""
    },
    "read": []
  }
}
  1. 配置域名和端口号,如何配置?请参考文档的第四步:服务器部署

进入本地/app/webfunny.config/index.js

clike 复制代码
/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {
  "host": {
    "fe": "localhost:9010", // 前端访问域名
    "be": "localhost:9011"  // 后端接口域名
  },
  "port": {
    "fe": "9010",  // 前端启动端口号
    "be": "9011"   // 后端启动端口号
  },
  "uploadDomain": {
    "monitor": "", // 指定监控系统上报域名
    "event": ""    // 指定埋点系统上报域名
  },
}
5. 其他相关配置

/**
* 其他相关设置
* 配置更改后,需重启
*/
const otherConfig = {
  "email": {
    "useCusEmailSys": false, // 是否使用用户自己公司的邮箱系统
    "emailUser": "",         // 邮箱
    "emailPassword": ""      // 密码
  },
  "protocol": "",            // 内部通讯协议(一般用不上)
  "segmentUrl": "",          // segment 上报地址,对接skyWalking
  "messageQueue": false,     // 是否开启消息队列
  "openMonitor": true,       // 是否开启可视化页面的监控
  "uploadServerErrorToWebfunny": true, // 是否上报后端错误日志至logger服务(推荐开启,便于排查问题)
  "logSaveDays": 8,          // 日志存储周期
  "isOpenTodayStatistic": true, // 
  "business": {
    "batchInsert": {
      "limitQueueLength": 1000  // 一次批量插入最大数量
    },
    "userStayTimeScope": {      // 记录停留时间范围(即将废弃)
      "min": 100,
      "max": 100000
    }
  },
  "registerEntry": true,        // 是否允许注册
  "resetPwdEntry": true,        // 是否允许重置密码
  "ssoCheckUrl": "",            // SSO校验URL
  "activationRequired": false,  // 注册用户是否需要管理员激活
  "emailNeeded": {
    "need": true,               // 注册时,是否需要邮箱
    "requireVerify": true       // 注册时,是否需要验证邮箱的有效性
  },
  "phoneNeeded": {
    "need": true,               // 注册时,是否需要手机号
    "requireVerify": false      // 注册时,是否需要验证手机号的有效性
  },
  "extraCors": {                // 额外的cors配置
    "headers": ""
  },
}
  1. 配置生产环境,搭配nginx配置域名,代理配置可以参考文档:nginx代理配置

四、启动容器

  1. 执行启动命令之前,需要替换一下映射目录和版本号,按照文档的示例,对应值如下:

本地目录 -> /app/webfunny.config/

版本号 -> 0.0.8

  1. 三种方式启动$:

第一种:多行命令

clike 复制代码
docker run -it --rm -d --name webfunny_cluster \
       -p 9010:9010 \
       -p 9011:9011 \
       -v 本地目录:/app/webfunny.config/ \
       webfunny/webfunny_monitor_cluster:版本号

第二种:单行命令

clike 复制代码
```clike
docker run -it --rm -d --name webfunny_cluster -p 9010:9010 -p 9011:9011 -v 本地目录:/app/webfunny.config/ webfunny/webfunny_monitor_cluster:版本号

第三种:docker-compose方式启动,yml文件配置:

clike 复制代码
# 将此yml文件上传服务器,执行启动命令 docker-compose -f ./docker-compose.yml up
version: '2'
services:
  webfunny_monitor_cluster:
    image: webfunny/webfunny_monitor_cluster:版本号
    restart: always
    container_name: webfunny_cluster
    volumes:
      - 本地目录:/app/webfunny.config/
    ports:
      - 9010:9010
      - 9011:9011
启动slave命令:


```clike
docker run -it --rm -d --name webfunny_cluster \
       -p 9010:9010 \
       -p 9011:9011 \
       -v 本地目录:/app/webfunny.config/ \
       webfunny/webfunny_monitor_cluster:版本号 \
       npm run monitor_slave
  1. 查看容器情况 : d o c k e r c o n t a i n e r l s ; 进入启动的容器 :docker container ls ; 进入启动的容器 :dockercontainerls;进入启动的容器:docker exec -it 容器id /bin/bash

  2. 访问页面:

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

应用中心首页: http://localhost:9010/wf_center/main.html

五、容器的其他常用操作指令

拉取镜像:docker pull webfunny/webfunny_monitor_cluster:版本号

查看镜像:docker images

删除镜像:docker rmi -f 镜像id

查看容器:docker container ls , docker container ls ---all

删除容器:docker container kill 容器id

启动容器:docker start 容器id

停止容器:docker stop 容器id

重启容器:docker restart 容器id

进入容器:docker exec -it 容器id /bin/bash

写在最后、以上就是webfunny前端监控Docker容器化部署(企业版)。PS: 如果你是前端工程师同学,欢迎试用体验【webfunny前端监控系统】

相关推荐
wusam13 分钟前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
苹果醋323 分钟前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
梁诚斌1 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
深情废杨杨1 小时前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
Web极客码1 小时前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板
只是有点小怂1 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫2 小时前
linux基础命令
linux·运维·服务器
cuisidong19972 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
wusam3 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器