# Argus Metric 节点快速部署(Overlay 网络容器) 本文档给出在 Docker Swarm external overlay 网络中,快速拉起一个测试节点并完成注册的最小可行步骤。 ## 前提 - 服务端已在 Manager 机安装完成并运行良好(`server-selfcheck` 通过)。 - Overlay 网络名称:`argus-sys-net`(默认)。 - 已通过 FTP 发布 `setup.sh` 与客户端包,且能从 FTP 获取 `LATEST_VERSION`。 - 用于测试的镜像:`argus-sys-metric-test-node:latest` 已存在于目标机器。 ## 步骤 - 获取 FTP 和 Bind 的 overlay IP(在 Manager 上执行) - `FTPIP=$(docker inspect -f '{{ (index .NetworkSettings.Networks "argus-sys-net").IPAddress }}' argus-ftp)` - `BINDIP=$(docker inspect -f '{{ (index .NetworkSettings.Networks "argus-sys-net").IPAddress }}' argus-bind-sys)` - `echo "FTP=$FTPIP BIND=$BINDIP"` - 准备宿主挂载目录(以 s4 为例) - `mkdir -p /home2/yuyr/deploy/test-metric-node/s4` - 启动测试节点容器(接入 overlay) - `docker run -d --name argus-metric-test-node-s4 \ --hostname dev2-yuyr-node002s4 \ --network argus-sys-net \ -v /home2/yuyr/deploy/test-metric-node/s4:/private/argus/agent \ argus-sys-metric-test-node:latest sleep infinity` - 在容器内执行安装(先用 FTP IP 引导,DNS 指向 Bind) - `docker exec -it argus-metric-test-node-s4 bash` - `echo "nameserver $BINDIP" > /etc/resolv.conf` - `curl --ftp-method nocwd -u ftpuser:ZGClab1234! -fsSL "ftp://$FTPIP:21/setup.sh" -o /tmp/setup.sh` - `chmod +x /tmp/setup.sh` - `export AGENT_ENV=dev2 AGENT_USER=yuyr AGENT_INSTANCE=node002s4` - `export MASTER_ENDPOINT=http://master.argus.com:3000` - `/tmp/setup.sh --server "$FTPIP" --user ftpuser --password 'ZGClab1234!' --port 21` - 说明:setup 会自动执行安装后自检(最多 5 分钟),无需手动轮询。 ## 验证(推荐在容器内执行,避免宿主权限问题) - 查看 node.json 关键字段 - `cat /private/argus/agent/dev2-yuyr-node002s4/node.json | jq '{last_report, health}'` - 期望:四个 health 全部 healthy;等待 ≥70s 再查看,`last_report` 持续更新。 - 指标端口 - `curl -s -o /dev/null -w '%{http_code}\n' http://localhost:9100/metrics`(期望 200) - (如测试 GPU)`curl -s -o /dev/null -w '%{http_code}\n' http://localhost:9400/metrics`(有 GPU 时 200) - 与服务端连通(域名经 Bind 解析) - `curl -s -o /dev/null -w '%{http_code}\n' http://master.argus.com:3000/readyz`(期望 200) - `curl -s -o /dev/null -w '%{http_code}\n' http://es.log.argus.com:9200/_cluster/health`(期望 200) ## (可选)在服务器主机侧观察 Prometheus 目标更新 - `cat /home2/yuyr/deploy/versions//private/argus/metric/prometheus/nodes.json | jq '.'` ## 常见提示 - 初次安装后短时 `curl` 域名返回 000/超时属正常,多等待 1–2 分钟 DNS 同步/组件冷启动完成。 - 如在宿主直接读取挂载的 node.json 报 Permission denied,请使用 `docker exec` 在容器内查看。 - MASTER_ENDPOINT 固定使用域名 `http://master.argus.com:3000`,客户端无需固定 IP。