58 lines
3.0 KiB
Markdown
58 lines
3.0 KiB
Markdown
# Argus Metric 客户端发布说明(FTP)
|
||
|
||
本说明面向“发布人员”,讲清楚如何把客户端离线包发布到 FTP,供各节点通过 `curl` 自动安装。
|
||
|
||
## 目录结构(构建后)
|
||
- `client-YYYYMMDD/`
|
||
- `argus-metric_YYYYMMDD.tar.gz` 客户端离线包
|
||
- `setup.sh` 客户端安装入口脚本(提供给节点用 curl 下载)
|
||
- `publish.sh` 发布脚本(将上述两项与 `LATEST_VERSION` 上传到 FTP)
|
||
- `LATEST_VERSION` 文本(内容为 `YYYYMMDD`,或 `YYYYMMDD-rN`)
|
||
- `INSTALL_CLIENT_zh.md` 本地安装指南(给使用者看,不会上载到 FTP)
|
||
- `PUBLISH_CLIENT_zh.md` 本说明
|
||
|
||
> 注意:`publish.sh`/`setup.sh` 为可执行脚本;构建脚本已保证二者具有执行权限。
|
||
|
||
## 前置条件
|
||
- FTP 服务已运行(默认容器:`argus-ftp`),并打开端口:21、20、21100–21110(被动模式)。
|
||
- FTP 账号:默认 `ftpuser / ZGClab1234!`(如有更改,以实际为准)。
|
||
|
||
## 发布步骤(在 server 机器或能直连 FTP 的任意机器上)
|
||
1) 进入发布目录:
|
||
- `cd client-YYYYMMDD`
|
||
|
||
2) 执行发布:
|
||
- `./publish.sh --server <FTP_HOST> --user <USER> --password '<PASS>' [--port 21]`
|
||
- 例如在服务端本机:`./publish.sh --server localhost --user ftpuser --password 'ZGClab1234!' --port 21`
|
||
|
||
脚本会上传三类文件到 FTP 根:
|
||
- `setup.sh`
|
||
- `argus-metric_YYYYMMDD[ -rN ].tar.gz`
|
||
- `LATEST_VERSION`(内容为当前版本号)
|
||
|
||
3) 发布后验证:
|
||
- `curl -u ftpuser:****** -I ftp://<FTP_HOST>:21/LATEST_VERSION` 应返回 200
|
||
- `curl -u ftpuser:****** -fsSL ftp://<FTP_HOST>:21/LATEST_VERSION` 内容为版本号(如 `20251104`)
|
||
- `curl -u ftpuser:****** -I ftp://<FTP_HOST>:21/argus-metric_YYYYMMDD.tar.gz` 返回 200
|
||
|
||
## 节点侧使用方式(摘要)
|
||
- 首次下载用 FTP 的“IP 地址”:
|
||
- `curl -u ftpuser:****** -fsSL ftp://<FTP_IP>:21/setup.sh -o /tmp/setup.sh && chmod +x /tmp/setup.sh`
|
||
- 执行安装:
|
||
- 必需元数据:`AGENT_ENV/AGENT_USER/AGENT_INSTANCE`,以及 `MASTER_ENDPOINT=http://master.argus.com:3000`
|
||
- `sudo /tmp/setup.sh --server <FTP_IP> --user ftpuser --password '******' --port 21`
|
||
- overlay 容器场景:
|
||
- 先将容器内 DNS 指向 Bind9 的 overlay IP:`echo "nameserver <BIND_OVERLAY_IP>" > /etc/resolv.conf`
|
||
- 然后再执行上述安装;安装后约 1–2 分钟内 DNS 即可解析 `*.argus.com` 域名。
|
||
|
||
## 常见问题
|
||
- `530 Access denied`:用户名/密码错误或 FTP 目录无权限;请核对账号与 FTP 容器状态。
|
||
- `Permission denied` 执行 `publish.sh`:为脚本权限问题;`chmod +x publish.sh`。构建脚本已修复默认权限。
|
||
- 被动端口不通导致失败:请开放 21100–21110。
|
||
- 客户端安装后短时 `curl http://master.argus.com:3000` 为 000:服务冷启动或 DNS 同步延迟,等待 1–2 分钟再试。
|
||
|
||
## 版本与回滚
|
||
- `LATEST_VERSION` 决定客户端默认安装的版本号。
|
||
- 如需回滚:将旧版本号写回 `LATEST_VERSION` 并重新发布(或手动指定 `--version` 安装)。
|
||
|