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)

/**
* 授权码设置
* 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数据库

/**
* 数据库设置
* 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

/**
* 域名端口设置
* 配置更改后,需重启
*/
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. 三种方式启动$:

第一种:多行命令

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

第二种:单行命令

```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文件配置:

# 将此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前端监控系统】
在这里插入图片描述

相关推荐

  1. Docker】apache 容器部署

    2024-04-22 19:54:04       50 阅读
  2. Docker】Nginx 容器部署

    2024-04-22 19:54:04       45 阅读
  3. Docker】Tensorflow 容器部署

    2024-04-22 19:54:04       42 阅读
  4. Docker】PostgreSQL 容器部署

    2024-04-22 19:54:04       82 阅读
  5. Docker】Memcached 容器部署

    2024-04-22 19:54:04       45 阅读
  6. Docker】wordpress 容器部署

    2024-04-22 19:54:04       39 阅读
  7. Docker】Jaeger 容器部署

    2024-04-22 19:54:04       43 阅读
  8. Docker】Neo4j 容器部署

    2024-04-22 19:54:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 19:54:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 19:54:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 19:54:04       87 阅读
  4. Python语言-面向对象

    2024-04-22 19:54:04       96 阅读

热门阅读

  1. linux部署dagu和benthos作为调度平台+数据处理框架

    2024-04-22 19:54:04       43 阅读
  2. 检查服务器机器是不是被暴力破解

    2024-04-22 19:54:04       45 阅读
  3. 【格式化日期】在Vue3中如何格式化日期

    2024-04-22 19:54:04       34 阅读
  4. random模块

    2024-04-22 19:54:04       37 阅读
  5. day6-arm

    2024-04-22 19:54:04       39 阅读
  6. go下载依赖时超时timeout

    2024-04-22 19:54:04       34 阅读
  7. Ubuntu22.04.4 - MySQL8 - 笔记

    2024-04-22 19:54:04       46 阅读
  8. 如何管理一个团队,因为有些人他不听我的话?

    2024-04-22 19:54:04       45 阅读
  9. C++实战篇(一)——自旋锁的使用

    2024-04-22 19:54:04       43 阅读
  10. pinpoint接入及接入tomcat

    2024-04-22 19:54:04       37 阅读