[#50] x86机器使用qemu模拟方式安装部署arm版本安装包,当前未精简版,只有简单的node exporter功能,删减日志,GPU指标功能,仍使用Swarm组网
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
# ARM Server 安装指南(server_arm)
|
||||
|
||||
本包用于在 ARM64 服务器上部署 Argus 的最小 server 端组件集:
|
||||
|
||||
- master
|
||||
- Prometheus
|
||||
- Prometheus targets-updater sidecar
|
||||
- Grafana
|
||||
- Alertmanager
|
||||
- Web 前端 + Web Proxy
|
||||
|
||||
> 注意:本 ARM 版本 **不包含 Elasticsearch / Kibana / FTP / BIND9**,仅提供指标与告警能力。
|
||||
|
||||
---
|
||||
|
||||
## 1. 前置条件
|
||||
|
||||
- 目标机器为 ARM64(例如:aarch64 服务器);
|
||||
- 已安装 Docker 和 docker compose(v2,支持 `docker compose` 命令);
|
||||
- 已准备好 overlay 网络 `argus-sys-net`(如不需要也可将 compose 改为 `bridge` 网络)。
|
||||
|
||||
创建 overlay 网络示例:
|
||||
|
||||
```bash
|
||||
docker network create --driver overlay argus-sys-net || true
|
||||
```
|
||||
|
||||
如未使用 Swarm,也可以在 compose 中将 `networks: argus-sys-net` 改成本地 `bridge` 网络。
|
||||
|
||||
---
|
||||
|
||||
## 2. 解压和加载镜像
|
||||
|
||||
假设你已经将 `server_arm_YYYYMMDD.tar.gz` 拷贝到目标 ARM 服务器:
|
||||
|
||||
```bash
|
||||
tar -xzf server_arm_YYYYMMDD.tar.gz
|
||||
cd server_arm/YYYYMMDD
|
||||
```
|
||||
|
||||
加载镜像:
|
||||
|
||||
```bash
|
||||
for f in images/*.tar.gz; do
|
||||
gunzip -c "$f" | docker load
|
||||
done
|
||||
```
|
||||
|
||||
加载后可以用:
|
||||
|
||||
```bash
|
||||
docker images | grep 'argus-.*arm64'
|
||||
```
|
||||
|
||||
确认 master / prometheus / grafana / alertmanager / web 镜像已就绪。
|
||||
|
||||
---
|
||||
|
||||
## 3. 配置 .env
|
||||
|
||||
在 `compose/` 目录下有自动生成的 `.env.example`:
|
||||
|
||||
```bash
|
||||
cd compose
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
`.env` 中主要字段:
|
||||
|
||||
- `PKG_VERSION`:包版本(不建议修改)。
|
||||
- 镜像 tag(默认使用构建时的 `*-arm64:${PKG_VERSION}`):
|
||||
- `MASTER_IMAGE_TAG`
|
||||
- `PROM_IMAGE_TAG`
|
||||
- `PROM_UPDATER_IMAGE_TAG`
|
||||
- `GRAFANA_IMAGE_TAG`
|
||||
- `ALERT_IMAGE_TAG`
|
||||
- `FRONT_IMAGE_TAG`
|
||||
- `WEB_PROXY_IMAGE_TAG`
|
||||
- 端口:
|
||||
- `MASTER_PORT`(默认 32300)
|
||||
- `PROMETHEUS_PORT`(默认 9090)
|
||||
- `GRAFANA_PORT`(默认 3000)
|
||||
- `ALERTMANAGER_PORT`(默认 9093)
|
||||
- `WEB_PROXY_PORT_8080` ~ `WEB_PROXY_PORT_8085`
|
||||
- 其他:
|
||||
- `ARGUS_BUILD_UID` / `ARGUS_BUILD_GID`(用于挂载目录的权限对齐)。
|
||||
|
||||
根据实际环境按需调整端口和 UID/GID。
|
||||
|
||||
---
|
||||
|
||||
## 4. 准备挂载目录
|
||||
|
||||
在 package 根目录(与 `compose/` 同级)下,已预创建所需的 `private/argus` 目录骨架:
|
||||
|
||||
- `private/argus/etc`
|
||||
- `private/argus/master`
|
||||
- `private/argus/metric/prometheus`(含 `data` / `rules` / `targets`)
|
||||
- `private/argus/metric/grafana`(含 `data` / `logs` / `plugins` / `provisioning` 等)
|
||||
|
||||
可根据需要调整访问权限,例如:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
sudo chown -R $UID:$GID private/argus
|
||||
```
|
||||
|
||||
确保与 `.env` 中的 `ARGUS_BUILD_UID/GID` 一致。
|
||||
|
||||
---
|
||||
|
||||
## 5. 启动服务
|
||||
|
||||
在 `compose/` 目录执行:
|
||||
|
||||
```bash
|
||||
docker compose --env-file .env up -d
|
||||
```
|
||||
|
||||
检查服务状态:
|
||||
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
预期看到:
|
||||
|
||||
- `argus-master-sys`
|
||||
- `argus-prometheus`
|
||||
- `argus-prometheus-targets-updater`
|
||||
- `argus-grafana`
|
||||
- `argus-alertmanager`
|
||||
- `argus-web-frontend`
|
||||
- `argus-web-proxy`
|
||||
|
||||
---
|
||||
|
||||
## 6. 验证
|
||||
|
||||
1. Master:
|
||||
- `curl http://localhost:${MASTER_PORT}/readyz`
|
||||
2. Prometheus:
|
||||
- 浏览器访问:`http://<host>:${PROMETHEUS_PORT}`
|
||||
3. Grafana:
|
||||
- 浏览器访问:`http://<host>:${GRAFANA_PORT}`
|
||||
4. Web 门户:
|
||||
- 浏览器访问:`http://<host>:${WEB_PROXY_PORT_8080}`
|
||||
|
||||
确认这些页面能够正常打开,并且在没有任何节点注册时,Prometheus 中 `job="node"` 可为空,但基础 UI 应可访问。
|
||||
|
||||
---
|
||||
|
||||
## 7. 注意事项
|
||||
|
||||
- 本 ARM server 包仅包含 metrics + alert 相关组件,不提供日志链路(ES/Kibana),也不包含 DNS/FTP 相关服务;
|
||||
- 若后续需要扩展 ES/Kibana,可在新的 spec 中单独设计 ARM 日志栈;
|
||||
- 对于多节点/Swarm 部署,请结合 `src/sys/arm_swarm_tests` 中的 compose 与脚本进行扩展。
|
||||
|
||||
Reference in New Issue
Block a user