一、前置准备
你提前准备至少一台部署在公司内网的服务器,配置要求如下:
最低配置
- 操作系统 OS: CentOS 7 或 Debian 4.14 或同等系统(不推荐 CentOS 6、Redhat 6及以下系统)
- 处理器 CPU: 2C,x86 架构
- 内存 RAM:4G
- 可用存储:40G
- 网络 NET:可访问互联网。如果网络不能对所有互联网开放,可对这三个域名加白:anycross.feishu.cn、sf3-cn.feishucdn.com、msg-frontier.feishu.cn。
验证机器
为了简化机器准备成本,我们提前准备了检查脚本,请执行如下命令进行检查。
$ # cn linux客户使用如下
或者下载如下文件,赋予权限后执行。
预期结果如下,如果出现其他内容,请参考网络/咨询公司运维解决问题,或更换更合适的机器。
250px|700px|reset

准备高可用代理集群(可选)
如果对本地转发有更高的要求,可使用高可用代理集群,使用多台机器可极大提高本地服务可靠性。
注:按照上述最低配置要求准备 2 台或以上数量的机器,并在每一台机器上完成验证工作。
二、操作步骤
添加宿主机并安装工具箱
250px|700px|reset

填写宿主机名称和描述, 选择操作系统 Linux;完成后点击 下一步。
250px|700px|reset

确认协议后,点击 新建并到下一步。
250px|700px|reset

在当前页面填写指定端口,并点击 部署工具箱 > 复制命令。
250px|700px|reset

250px|700px|reset

在宿主机机器上找到一个合适的安装路径,在命令行窗口粘贴之前复制的命令,点击回车键执行命令。
250px|700px|reset

出现如下提示即为安装完成,安装时间视网络环境决定;如果出现其他情况,请参考常见问题。
250px|700px|reset

返回部署页面,可看到工具箱部署成功,点击 下一步。
250px|700px|reset

点击 开始测试,进行宿主机测试。
250px|700px|reset

测试成功后会显示宿主机 IP 和机器信息,点击 下一步。
250px|700px|reset

宿主机新建完成后工具箱也会同步完成安装;可前往本地代理服务页面查看宿主机信息,进行“新建代理”等操作。
250px|700px|reset

安装数据通道代理
选中宿主机进入详情页面,点击 添加代理。
250px|700px|reset

选择 数据通道代理 并填写描述,点击 下一步。
250px|700px|reset

填写指定端口,后点击 自动安装代理。
250px|700px|reset

如下图所示即为成功安装启动代理服务;代理安装成功后点击 下一步。
250px|700px|reset

选择现有集群或新建一个代理集群,将当前代理加入到代理集群中。
250px|700px|reset

至此,宿主机即完成代理安装,并加入到代理集群中;可在宿主机详情页中看到安装的代理。
250px|700px|reset

你也可以在代理集群详情页看到该代理。
250px|700px|reset

配置工具箱开机自启动(可选)
在 Linux 系统中,我们需要借助操作系统的 systemd 设置自动启动,配置自启动后,当服务器重启时,工具箱可以跟随操作系统自动重启。
请注意:由于云服务提供商以及操作系统之间的差异,实际配开机自启动的方法可能略有不同,如果遇到问题,可以联系你的云服务提供商技术支持,或企业内部 IT 运维工程师协助解决。
下方操作步骤仅提供一个配置参考,无法覆盖所有操作系统的配置情况
注意事项
- 工具箱升级不影响自启动配置
- 自启动相关配置需要手动停止,集成平台不会修改 systemctl 配置,请自行维护
- 以下配置仅可实现“开机自启动”,不进行进程托管或守护
- 如果自行配置进程守护等功能,会影响到工具箱升级重启等功能
- 确认 systemd 存在
systemd --version
250px|700px|reset

- 创建配置文件
sudo touch /etc/systemd/system/toolbox.service
sudo chmod 664 /etc/systemd/system/toolbox.service
- 编辑配置文件并保存
vim /etc/systemd/system/toolbox.service
典型的配置内容示例如下:
[Unit]
Description=anycross on-prem toolbox service
After=network.target
[Service]
Type=forking
PIDFile={toolbox-workspaceDir地址}/application.pid
[Install]
WantedBy=multi-user.target
假设当前的安装目录如下:
abc@n248-154-154:~/online221206$ ls
abc@n248-154-154:~/online221206$ ls
abc@n248-154-154:~/online221206$ ls -al
total 40
drwxr-xr-x 6 abc abc 4096 Dec 6 16:23 .
drwxr-xr-x 28 abc abc 4096 Dec 22 13:43 ..
drwxr-xr-x 4 abc abc 4096 Dec 6 15:48 agenthub
drwxr-xr-x 4 abc abc 4096 Dec 6 15:47 toolbox
drwxr-xr-x 4 abc abc 4096 Dec 6 15:52 weaver_e8
drwxr-xr-x 4 abc abc 4096 Dec 6 16:23 weaver_e9
abc@n248-154-154:~/online221206$ pwd
/home/abc/online221206
abc@n248-154-154:~/online221206$ cd toolbox/
abc@n248-154-154:~/online221206/toolbox$ ls
config.tar.gz lib toolbox-ws-7171380572170502172
那么toolbox 的 workspace 是 /home/abc/online221206/toolbox/toolbox-ws-7171380572170502172,配置文件内容如下:
[Unit]
Description=anycross on-prem toolbox service
After=network.target
[Service]
ExecStart=/home/abc/online221206/toolbox/toolbox-ws-7171380572170502172/current/start.sh --workspace-dir=/home/abc/online221206/toolbox/toolbox-ws-7171380572170502172
PIDFile=/home/abc/online221206/toolbox/toolbox-ws-7171380572170502172/application.pid
ExecStop=/home/abc/online221206/toolbox/toolbox-ws-7171380572170502172/current/stop.sh --workspace-dir=/home/abc/online221206/toolbox/toolbox-ws-7171380572170502172
Type=forking
[Install]
WantedBy=multi-user.target
- 只需要 enable,就可以启用开机自启动
sudo systemctl enable toolbox.service
250px|700px|reset

重启之后进程还在,可以通过如下命令检查:
sudo systemctl status toolbox.service
250px|700px|reset

- 输入如下命令,可以停用开机自启动
sudo systemctl disable toolbox.service #停止工具箱(toolbox) 自启动
配置数据通道代理开机自启动(可选)
数据通道代理开机自启动的配置方式与工具箱相似,唯一的不同点是数据通道代理依赖工具箱,所以配置示例如下(相比工具箱的配置,增加红字内容),文件名可以定为agenthub.service ,启用/停用开机自启动的命令,可参考工具箱开机自启动中相应设置,更换对应的文件名即可。
请注意:由于云服务提供商以及操作系统之间的差异,实际配开机自启动的方法可能略有不同,如果遇到问题,可以联系你的云服务提供商技术支持,或企业内部 IT 运维工程师协助解决。
下方操作步骤仅提供一个配置参考,无法覆盖所有操作系统的配置情况
[Unit]
Description=anycross on-prem agenthub service
After=network.target toolbox.service
Requires=toolbox.service
[Service]
PIDFile={agenthub-workspaceDir地址}/application.pid
Type=forking
[Install]
WantedBy=multi-user.target
三、常见问题
工具箱安装失败,如何排查原因?
可能的原因有:
- 执行安装命令时出现 curl: (35) TCP connection reset by peer
部署工具箱的机器与飞书集成平台的网络连通性存在问题,建议检查 DNS 解析和机房网络防火墙配置。
- 端口冲突
如果展示如下内容,即为端口冲突,请在“工具箱”安装页面变更端口,重新复制命令到宿主机机器中执行。
250px|700px|reset

- 找不到 realpath(高频发生在 CentOS 6.5/RedHat 6.5及以下系统)
如果出现如下提示并且系统版本是 CentOS 6 、RedHat 6,大概率可以用以下方式解决:
[TOOLBOX INSTALL FAIL]required dependency is missing: realpath
- 去 rpm 资源 搜索 realpath
- 复制 rpm下载包地址,如 realpath-1.17-1.el6.rf.x86_64.rpm
- 拼接如下命令并执行
rpm -Uvh realpath-1.17-1.el6.rf.x86_64.rpm