Skip to content

平台

Ongrid 发两个平台故事截然不同的二进制。

  • ongrid(云端 manager)是 Linux + Docker 工作负载。它该住在容器里、 nginx 后面、MySQL 下面。没有一等 Windows 或 macOS 服务端构建。
  • ongrid-edge(edge agent)是单个静态二进制,跑在每台你想观测的主 机上。开箱交叉编译四个目标:Linux 在 amd64 / arm64,macOS 在 amd64 / arm64。生产级安装只在 Linux + systemd;macOS 目标存在是为了开发者迭代 时能在 laptop 上跑 agent。

支持矩阵

组件linux/amd64linux/arm64darwin/amd64darwin/arm64Windows
ongrid(manager 镜像)yestested as build targetnonono
ongrid-edge(二进制,受监管)yesyesdev-only, manualdev-only, manualno
promtail 插件(日志)yesyesno(上游空白)no(上游空白)no
node_exporter 插件(主机指标)yesyesno(上游空白)no(上游空白)no
process-exporter 插件(进程指标)yesyesno(上游空白)no(上游空白)no
otelcol-contrib 插件(链路)yesyesno(未打包)no(未打包)no

四个 edge 交叉编译目标直接从 Makefile 来:

text
build-edge-linux-amd64
build-edge-linux-arm64
build-edge-darwin-amd64
build-edge-darwin-arm64

make build-edge-all 跑四个;make package 出 release tarball,把每个目 标加上仅 Linux 的插件二进制都打进去。

为什么没有 Windows / BSD edge?

agent 本身是纯 Go,能干净编译;空白是插件 bundle。promtail、node_exporter、 process-exporter、otelcol-contrib 在它们上游 release 里只发 Linux artifact。 没有这四个,Logs / Monitor / Traces 面板在 agent 连上后还是空着。我们宁可 不发一半工作的装机,也不抗一个隐藏禁用的平台。

如果你有强烈的 Windows 或 FreeBSD 用例,在 github.com/ongridio/ongrid 开 issue —— 可插拔 bundler 在 ADR-015 下跟踪。

云端要求

能跑 Docker Engine 24+ 和 Docker Compose v2 的地方都能装 manager。我们测:

  • Ubuntu 22.04 LTS、24.04 LTS
  • Debian 12(bookworm)
  • RHEL 9、Rocky Linux 9、AlmaLinux 9

内存下限:4 GB。磁盘下限:20 GB(多数是 Prometheus + Loki 保留期,见 Linux(服务端))。

edge 端要求

官方 curl-pipe 安装器(deploy/install/edge/install.sh)显式只处理 Linux:

sh
if [[ "$OS" != "linux" ]]; then
    log_error "only linux is supported by this installer; got: $OS"
    exit 1
fi

那个安装器落下一个 systemd unit(/etc/systemd/system/ongrid-edge.service), 建一个系统用户 ongrid-edge,通过 systemd 监管 agent 带 Restart=always。 macOS host 仍可手工跑二进制开发 —— 见 macOS(edge dev) —— 但你拿不到监管的服务、journald 日志源、插件 bundle。

选页

版本策略

manager 和 agent 共享一个 VERSION 文件(/Users/.../ongrid/VERSION), 作为一个 tarball 发布。比 manager 老的 edge agent 会继续工作:每个 tunnel RPC 都带版本,manager 把未知 reply 字段当零值。比 manager 的 edge agent 不支持 —— 先升 manager。

升级 讲 staged 交换然后回滚模型(ADR-024)。