跳转至

部署和维护 / 观测云特别版(GSE)

本文主要介绍有关 DataFlux Func 观测云特别版(GSE)的说明。

1. 背景

在 DataFlux Func 的实际使用过程中,我们发现有相当大的一部分用户主要使用 DataFlux Func 进行各种云平台的数据采集以及部署自建巡检,来与观测云对接。

虽然在原版 DataFlux Func 上完全可以实现所需功能,但用户不可避免地需要安装各种 Python 第三方包,安装官方脚本市场中相关的核心包等操作。与此同时,部分 Python 第三方包安装耗时长,容易遇到版本依赖问题,费时费力。

因此,针对这个特定的使用场景,我们在原版 DataFlux Func 的基础上,通过预装必要 Python 第三方包和脚本集,构建了「DataFlux Func 观测云特别版」

「DataFlux Func 观测云特别版」简称 GSE 版(Guance Special Editon)

2. GSE 版 vs 原版

以下为 GSE 版和原版的区别:

对比项 GSE 版 原版
容量 1.4 GB 0.8 GB
预装脚本集 官方脚本集:
1. 观测云集成 Core 核心包
2. 观测云自建巡检 Core 核心包
3. 观测云算法库
4. 观测云工具包
每次重启时会自动更新至最新版本
预装 Python 包 除 DataFlux Func 自身所依赖的包以外:
1. 官方脚本集依赖的第三方包
2. numpypandas等数学包
3. jinja2maileropenpyxl等其他包
仅限 DataFlux Func 自身所依赖的包
预添加连接器 连接至宿主机的 DataKit:
ID: datakit
Host: 172.17.0.1:9529
预添加脚本市场 官方脚本市场
访问公网 预装脚本集的初始化处理
需要 DataFlux Func 本身可以访问公网,
否则可能导致无法正常启动
不需要

GSE 版额外预装的 Python 包

以下列表截止 3.5.2 版本

版本 说明
aliyun-python-sdk-core 2.13.31 观测云集成 Core 核心包 (guance_integration) 依赖
azure-core 1.29.4 观测云集成 Core 核心包 (guance_integration) 依赖
azure-identity 1.14.1 观测云集成 Core 核心包 (guance_integration) 依赖
azure-mgmt-core 1.4.0 观测云集成 Core 核心包 (guance_integration) 依赖
boto3 1.34.75 观测云集成 Core 核心包 (guance_integration) 依赖
cos-python-sdk-v5 1.9.15 观测云集成 Core 核心包 (guance_integration) 依赖
esdk-obs-python 3.22.2 观测云集成 Core 核心包 (guance_integration) 依赖
huaweicloudsdkcore 3.1.45 观测云集成 Core 核心包 (guance_integration) 依赖
oss2 2.15.0 观测云集成 Core 核心包 (guance_integration) 依赖
tencentcloud-sdk-python 3.0.657 观测云集成 Core 核心包 (guance_integration) 依赖
tos 2.6.8 观测云集成 Core 核心包 (guance_integration) 依赖
volcengine-python-sdk 1.0.65 观测云集成 Core 核心包 (guance_integration) 依赖
tomli 2.0.1 观测云自建巡检 Core 核心包 (guance_monitor) 依赖
adtk 0.6.2 观测云算法库 (guance_algorithm) 依赖
drain3 0.9.11 观测云算法库 (guance_algorithm) 依赖
numpy 1.23.2 观测云算法库 (guance_algorithm) 依赖
pandas 1.3.1 观测云算法库 (guance_algorithm) 依赖
scikit-learn 1.2.2 观测云算法库 (guance_algorithm) 依赖
scipy 1.8.0 观测云算法库 (guance_algorithm) 依赖
statsmodels 0.13.2 观测云算法库 (guance_algorithm) 依赖
jsonpath2 0.4.5 用于处理 JSON
mailer 0.8.1 用于发送邮件
Mako 1.1.3 用于文本渲染
Markdown 3.4.1 用于 Markdown 渲染
openpyxl 3.0.7 用于处理 Excel

3. 版本选择

以下是有关如何选择 GSE 或原版的说明。

什么时候应该选择 GSE 版?

  • 需要通过 DataFlux Func 采集各个云厂商的数据并上报观测云的
  • 需要在观测云中实现自建巡检的
  • 需要减少各种 SDK、依赖包、脚本包安装操作的
  • 不希望最终用户随意修改 SDK 版本、依赖包脚本包的

什么时候不应该选择 GSE 版?

  • 部署目标宿主机无法访问公网的(GSE 版每次启动时都需要联网访问官方脚本市场更新核心包)
  • 单独使用 DataFlux Func,没有与观测云对接需求的
  • 特殊定制化需求,如修改官方脚本市场核心包的
  • 需要使用特定云厂商 SDK 版本的

4. GSE 版和原版之间切换

无论用户之前已经安装了哪个版本,都可以在需要的时候切换成另一个版本。

具体操作如下:

4.1 停止 DataFlux Func

  1. 使用docker stack rm dataflux-func命令,关停 DataFlux Func(此步骤可能需要一定时间)
  2. 使用docker ps确认所有容器都已经退出

4.2 修改 Docker Stack 文件

由于 GSE 版与原版的镜像名称不同,所以在切换版本之前,需要修改 Docker Stack 配置。

找到 Docker Stack 配置 docker-stack.yaml,将所有images中镜像名改为的内容都改为目标版本的名称,如:

Diff
1
2
3
 server:
-  image: pubrepo.jiagouyun.com/dataflux-func/dataflux-func-gse:x.y.z
+  image: pubrepo.jiagouyun.com/dataflux-func/dataflux-func:x.y.z
Diff
1
2
3
 server:
-  image: pubrepo.jiagouyun.com/dataflux-func/dataflux-func:x.y.z
+  image: pubrepo.jiagouyun.com/dataflux-func/dataflux-func-gse:x.y.z

4.3 使用目标版本安装包重新安装

修改 Docker Stack 配置后,使用目标版本的安装包重新执行 DataFlux Func 安装脚本即可。