Skip to content

プラットフォーム

Ongrid はプラットフォームの話が大きく異なる 2 つのバイナリを出荷します。

  • ongrid(クラウド manager)は Linux + Docker ワークロードです。コンテナ内、nginx 後ろ、MySQL 下で住むことを意図しています。ファーストクラスの Windows または macOS サーバービルドはありません。
  • ongrid-edge(edge エージェント)は観測したいすべてのホストで動く単一の静的バイナリです。箱から出した状態で 4 つのターゲットにクロスコンパイルされます:Linux の amd64 / arm64 と macOS の amd64 / arm64。本番グレードのインストールは Linux + systemd のみ。macOS ターゲットは開発者が反復作業中にラップトップ上でエージェントを走らせられるよう存在します。

サポートマトリクス

コンポーネントlinux/amd64linux/arm64darwin/amd64darwin/arm64Windows
ongrid(manager イメージ)yesビルドターゲットとしてテスト済みnonono
ongrid-edge(バイナリ、監督付き)yesyes開発のみ、手動開発のみ、手動no
promtail プラグイン(ログ)yesyesno(上流ギャップ)no(上流ギャップ)no
node_exporter プラグイン(ホストメトリクス)yesyesno(上流ギャップ)no(上流ギャップ)no
process-exporter プラグイン(proc メトリクス)yesyesno(上流ギャップ)no(上流ギャップ)no
otelcol-contrib プラグイン(トレース)yesyesno(バンドルなし)no(バンドルなし)no

4 つの edge クロスコンパイルターゲットは Makefile から直接来ます:

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

make build-edge-all は 4 つすべてを走らせ、make package はすべてのターゲット + Linux のみのプラグインバイナリをバンドルするリリースタールボールを生成します。

なぜ Windows / BSD edge がないか?

エージェント自体は純粋な Go でクリーンにコンパイルされるはずです。ギャップはプラグインバンドルです。promtail、node_exporter、process-exporter、otelcol-contrib すべてが上流リリースで Linux のみのアーティファクトを出荷します。それら 4 つなしでは Logs / Monitor / Traces パネルはエージェントが接続された後も空のままです。半動作のインストールを出荷するより、隠れて無効化されたプラットフォームを抱えないほうがマシです。

強い Windows または FreeBSD ユースケースがあれば、github.com/ongridio/ongrid で issue を開いてください —— プラガブルなバンドラーは 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 を作成し、Restart=always で systemd 経由でエージェントを監督します。macOS ホストは開発用に手でバイナリを動かせます —— macOS(edge dev) を参照 —— が、監督されたサービス、journald ログソース、プラグインバンドルは得られません。

正しいページの選び方

バージョニングポリシー

manager とエージェントは単一の VERSION ファイル(/Users/.../ongrid/VERSION)を共有し、1 つのタールボールとしてリリースされます。manager より古い edge エージェントは動き続けます:すべてのトンネル RPC はバージョン付きで、manager は未知の返信フィールドをゼロ値として扱います。manager より 新しい edge エージェントはサポートされません —— manager を先にアップグレードしてください。

ステージドスワップ-then-ロールバックモデル(ADR-024)は アップグレード を参照。