# 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 --user --password '' [--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://:21/LATEST_VERSION` 应返回 200 - `curl -u ftpuser:****** -fsSL ftp://:21/LATEST_VERSION` 内容为版本号(如 `20251104`) - `curl -u ftpuser:****** -I ftp://:21/argus-metric_YYYYMMDD.tar.gz` 返回 200 ## 节点侧使用方式(摘要) - 首次下载用 FTP 的“IP 地址”: - `curl -u ftpuser:****** -fsSL ftp://: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 --user ftpuser --password '******' --port 21` - overlay 容器场景: - 先将容器内 DNS 指向 Bind9 的 overlay IP:`echo "nameserver " > /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` 安装)。