webfunny埋点系统如何进行部署?

hello 大家webfunny埋点系统做了不少功能更新,平常给大家分享比较多的是**webfunny前端监控系统**,最近有不少技术同学来了解webfunny埋点系统,今天主要给大家分享下webfunny埋点系统部署,分为本地部署和线上部署。

还没有试用和部署过webfunny埋点系统的同学,可以跟着下面部署引导,在webfunny埋点系统上进行demo试用部署实操。

一、webfunny埋点系统:本地部署

第一步、环境要求

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

第二步、下载(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 https://registry.npmmirror.com/ '
生成基础配置文件:' npm install && npm run bootstrap '3.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:' npm install pm2 -g '

第三步、尝试运行

如果你的电脑是联网的,到这里就可以直接运行了。(如果不能联网,请参考下方:线上部署教程)

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

命令行出现webfunny的logo,则说明启动成功了。
在这里插入图片描述

第四步、访问页面

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

应用中心首页:http://localhost:8008/webfunny_center/main.html

二、webfunny埋点系统:线上部署

环境要求

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

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

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

配置要求

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

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

企业版地址(Clickhouse)

Github克隆:'  git clone https://github.com/a597873885/webfunny_monitor.git  'Gitee克隆(国内地址):'  git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git  '
专业版本地部署

初始化命令

1.在项目根目录下执行初始化命令和安装命令$:建议切换淘宝镜像:' npm config set registry https://registry.npmmirror.com/ 'a. 安装依赖包:' npm install 'b. 生成基础配置文件:' npm run bootstrap '
2.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:' npm install pm2 -g '

第二步、专业版:配置数据库(Mysql)连接(企业版看下一步)

1. 安装 Mysql 数据库
2. 创建数据库
数据库名称:webfunny_db。
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin3. 在根目录下、webfunny.config/index.js文件中
找到mysqlConfig参数(如果没有数据库,可以联系我,获取测试数据库哦)/**
* mysql数据库设置
* center: 应用中心数据库
* monitor:前端监控数据库
* event: 埋点系统数据库
* 配置更改后,需重启
* 三个可以共用一台数据库
*/
const mysqlConfig = {// 应用中心"center": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_db","userName": "root","password": "123456"},"read": []},// 监控"monitor": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_db","userName": "root","password": "123456"},"read": []},// 埋点"event": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_db","userName": "root","password": "123456"},"read": []}
}

第二步、企业版:配置数据库(Mysql + Clickhouse)连接(专业版看上一步)

Clickhouse安装教程:https://clickhouse.com/docs/zh/getting-started/install

注意:应用中心使用mysql;监控系统、埋点系统使用clickhouse

1.创建mysql数据库
数据库名称:webfunny_mysql_db
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin2.创建clickhouse数据库
数据库名称:webfunny_clickhouse_db3. 在根目录下、webfunny.config/index.js文件中
找到mysqlConfig参数(如果没有数据库,可以联系我,获取测试数据库哦)/**
* 数据库设置
* center: 应用中心数据库
* monitor:前端监控数据库
* event: 埋点系统数据库
* 配置更改后,需重启
* monitor、event可以共用一台数据库
*/
const mysqlConfig = {// 应用中心(mysql)"center": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_mysql_db","userName": "root","password": "123456"},"read": []},// 监控(clickhouse)"monitor": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_clickhouse_db","userName": "root","password": "123456"},"read": []},// 埋点(clickhouse)"event": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_clickhouse_db","userName": "root","password": "123456"},"read": []},// 日志(Clickhouse)"logger": {"write": {"ip": "xxx.xx.xx.xxx","port": "3306","dataBaseName": "webfunny_clickhouse_db","userName": "root","password": "123456"},"read": []}
}

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

在根目录webfunny.config.js文件中,找到参数:domainConfig,配置IP和端口**
/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {"host": {"fe": "localhost:9010", // 前端访问域名(专业版配置8010)"be": "localhost:9011"  // 后端接口域名(专业版配置8011)},"port": {"fe": "9010",  // 前端启动端口号(专业版配置8010)"be": "9011"   // 后端启动端口号(专业版配置8011)},"uploadDomain": {"monitor": "", // 指定监控系统上报域名(一般不需要更改)"event": ""    // 指定埋点系统上报域名(一般不需要更改)},
}

第四步、配置代理、域名
如大家所见,虽然执行了一条命令(npm run prd),其实是启动了3个模块,2个端口号,结构图见文档末尾。分别是:8011、8010,记得提醒运维同学,将所这2个端口的对外授权打开哦。
生产环境中,我们不推荐使用 IP + 端口的形式; 端口复杂,且不方便支持https,所以推荐使用代理,代理配置请参考文档:nginx代理
使用代理后,就可以将所有的IP+端口 替换成域名了,配置如下:

/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {"host": {"fe": "www.xxx.com", // 前端访问域名(一定要配置代理哦)"be": "www.xxx.com"  // 后端接口域名(一定要配置代理哦)},"port": {"fe": "9010",  // 前端启动端口号(专业版配置9010)"be": "9011"   // 后端启动端口号(专业版配置9011)},"uploadDomain": {"monitor": "", // 指定监控系统上报域名(一般不需要更改)"event": ""    // 指定埋点系统上报域名(一般不需要更改)},
}**

第五步、尝试运行,访问

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

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

在这里插入图片描述

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

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

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

好了,webfunny埋点系统部署分享完毕,感兴趣的同学可以直接访问webfunny进行部署操作
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字节一面面经

1.redis了解吗,是解决什么问题的,redis的应用? Redis 是一种基于内存的数据库,常用的数据结构有string、hash、list、set、zset这五种,对数据的读写操作都是在内存中完成。因此读写速度非常快,常用于缓存&…

第三期书生大模型实战营之XTuner微调个人小助手认知

基础任务 使用 XTuner 微调 InternLM2-Chat-1.8B 实现自己的小助手认知,记录复现过程并截图。 任务结果截图 1. 创建虚拟环境 # 安装一些必要的库 conda install pytorch2.1.2 torchvision0.16.2 torchaudio2.1.2 pytorch-cuda12.1 -c pytorch -c nvidia -y # 安…

2024华数杯数学建模竞赛选题建议+初步分析

提示&#xff1a;DS C君认为的难度&#xff1a;C<A<B&#xff0c;开放度&#xff1a;A<B<C。 综合评价来看 A题适合对机械臂和机器人运动学感兴趣的同学&#xff0c;尤其是有一定编程和优化算法基础的同学。不建议非相关专业同学选择。 B题挑战较大&#xff0…

Go语言实现多协程文件下载器

文章目录 前言流程图主函数下载文件初始化分片下载worker分发下载任务获取下载文件的大小下载文件分片错误重试项目演示最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;最近在开发文件传输相关的项目&#xff0c;然后顺手写了一个多协程文件下载器&#xff0c;代码非常精…

用于遥感数据处理的python脚本

编辑&#xff1a;我不爱机器学习 今天给大家分享一组用于遥感处理的 python 脚本。 作者使用基于无人机的智利中南部泥炭地的高光谱图像。该图像有 41 个波段&#xff08;10 nm 宽&#xff09;&#xff0c;范围为 480-880 nm&#xff0c;像素大小为 10 cm。绿点对应于测量生物…

【Python系列】Python 协程:并发编程的新篇章

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

万物分割(Segment Anything Model)C++模型推理部署

概述 SAM 是一种先进的人工智能模型&#xff0c;已经证明了在分割复杂和多样化图像方面具有优异的表现。该模型是计算机视觉和图像分割领域的一个重大突破。 SAM 的架构旨在处理各种图像分割任务&#xff0c;包括对象检测、实例分割和全景分割。这意味着该模型可以应用于各种用…

CTF-web 基础 网络协议

网络协议 OSI七层参考模型&#xff1a;一个标准的参考模型 物理层 网线&#xff0c;网线接口等。 数据链路层 可以处理物理层传入的信息。 网络层 比如IP地址 传输层 控制传输的内容的传输&#xff0c;在传输的过程中将要传输的信息分块传输完成之后再进行合并。 应用…

使用VM安装K8S

VM 部署K8S 前言 本次使用VM搭建k8s&#xff0c;由于搭建流程复杂&#xff0c;在此记录。 需提前安装好VM&#xff08;可参考&#xff1a;VM安装&#xff09;&#xff0c;起两台虚拟机(模拟master和worker)&#xff0c;且VM里已安装好Docker&#xff08;可参考&#xff1a;D…

操作系统——进程同步

文章目录 进同步和互斥1.什么是进程同步和进程互斥&#xff1f;进程同步进程互斥 2.进程互斥的软件实现方式单标志法双标志检查法双标志后检查法Peterson算法 3. 进程互斥硬件实现方法中断屏蔽方法TestAndSet指令Swap指令 4. 互斥锁5. 信号量机制整形信号量记录型信号量用信号量…

Scrapy 爬取旅游景点相关数据(五)

本期内容&#xff1a;&#xff08;1&#xff09;爬取日本其他城市数据存入数据库&#xff08;2&#xff09;爬取景点评论数据 1 爬取其他城市景点数据 只爬取一个城市的数据对于做数据可视化系统可能是不够的&#xff0c;因为数据样本量少嘛&#xff0c;本期来爬取其他城市的景…

等保测评练习卷25

等级保护初级测评师试题25 姓名&#xff1a; 成绩&#xff1a; 一、判断题&#xff08;10110分&#xff09; 1.安全区域边界对象主要根据系统中网络访问控制设备的部署情况来确定&#xff08;&#xff09;不是网络访问控制设备而…

笔试练习day2

目录 BC64 牛牛的快递题目解析解法模拟代码方法1方法2 DP4 最小花费爬楼梯题目解析解法动态规划状态表示状态转移方程代码 数组中两个字符串的最小距离题目解析解法方法1暴力解法(会超时)方法2贪心(动态规划)代码 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接…

Yolov8在RK3588上进行自定义目标检测(一)

1.数据集和训练模型 项目地址&#xff1a;https://github.com/airockchip/ultralytics_yolov8.git 从github(htps:l/github.com/airockchip/ultralytics_yolov8)上获取yolov8模型。 下载项目&#xff1a; git clone https://github.com/airockchip/ultralytics_yolov8.git …

Python | Leetcode Python题解之第316题去除重复字母

题目&#xff1a; 题解&#xff1a; class Solution:def removeDuplicateLetters(self, s: str) -> str:vis defaultdict(int)cnt defaultdict(int)for ch in s: cnt[ch] 1queue []for ch in s:if vis[ch] 0:while queue and queue[-1] > ch and cnt[queue[-1]]:vi…

《Advanced RAG》-03-使用 RAGAs + LlamaIndex 进行 RAG 评估

摘要 文章首先介绍了 RAG 评估的三个主要部分&#xff1a;输入查询、检索上下文和 LLM 生成的响应。 提到了 RAGAs 提出的 RAG 评估指标&#xff0c;包括 Faithfulness、Answer Relevance 和 Context Relevance&#xff0c;以及 RAGAs 网站提供的两个额外指标&#xff1a;Conte…

【面试题】分发糖果

这里写自定义目录标题 题目解题问题描述解题思路详细步骤初始化左到右扫描右到左扫描计算总糖果Python 代码示例 示例示例 1示例 2 复杂度分析 题目 仅供学习 解题 使用一种贪心算法的策略解决糖果分配问题。 问题描述 给定一个整数数组 ratings&#xff0c;表示每个孩子…

联邦学习研究综述【联邦学习】

文章目录 0 前言机器学习两大挑战&#xff1a; 1 什么是联邦学习&#xff1f;联邦学习的一次迭代过程如下&#xff1a;联邦学习技术具有以下几个特点&#xff1a; 2 联邦学习的算法原理目标函数本地目标函数联邦学习的迭代过程 3 联邦学习分类横向联邦学习纵向联邦学习联邦迁移…

功能实现——使用 RestTemplate 进行跨项目接口调用

目录 1.需求说明2.项目环境搭建3.代码实现3.1.使用 RestTemplate 进行调用3.1.1.项目 A3.1.2.项目 B 3.2.测试3.3.使用 JsonObject 来传递和接收 json 数据3.3.1.说明3.3.2.代码实现 3.4.其它说明3.4.1.restTemplate.exchange()3.4.2.restTemplate.postForObject()3.4.3.区别总…

8.4 字符串中等 443 String Compression 467 Unique Substrings in Wraparound String

443 String Compression 注意&#xff1a;这里是按照顺序压缩&#xff0c;不忽略顺序就不能用字母表计数再还原了。 如果char num 1 只需要压入char本身 num > 1 时还需要压入char的个数 按字符压入 class Solution { public:vector<char> Push(vector<char>&a…