Skip to content

플랫폼

Ongrid 는 매우 다른 플랫폼 이야기를 가진 두 바이너리를 출하합니다.

  • ongrid (클라우드 매니저) 는 Linux + Docker 워크로드입니다. 컨테이너 안에, nginx 뒤에, MySQL 아래에서 살도록 의도되어 있습니다. 일급 Windows 또는 macOS 서버 빌드는 없습니다.
  • ongrid-edge (edge 에이전트) 는 관측하려는 모든 호스트에서 실행되는 단일 정적 바이너리입니다. 박스 그대로 네 타깃으로 크로스 컴파일됩니다: amd64 / arm64 의 Linux 와 amd64 / arm64 의 macOS. 프로덕션급 설치는 Linux + systemd 만; macOS 타깃은 개발자가 반복 중 랩탑에서 에이전트를 실행할 수 있도록 존재합니다.

지원 매트릭스

Componentlinux/amd64linux/arm64darwin/amd64darwin/arm64Windows
ongrid (매니저 이미지)yes빌드 타깃으로 테스트됨nonono
ongrid-edge (바이너리, 감독됨)yesyesdev 전용, 수동dev 전용, 수동no
promtail 플러그인 (로그)yesyesno (업스트림 갭)no (업스트림 갭)no
node_exporter 플러그인 (호스트 메트릭)yesyesno (업스트림 갭)no (업스트림 갭)no
process-exporter 플러그인 (proc 메트릭)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 가 모든 타깃과 Linux 전용 플러그인 바이너리를 번들하는 릴리스 tarball 생성.

왜 Windows / BSD edge 가 없나?

에이전트 자체는 순수 Go 이고 깔끔하게 컴파일될 것; 갭은 플러그인 번들. promtail, node_exporter, process-exporter, otelcol-contrib 모두 업스트림 릴리스에서 Linux 전용 아티팩트를 출하. 그 넷 없이는 에이전트가 연결된 후에도 Logs / Monitor / Traces 패널이 비어 있게 됩니다. 숨겨진 비활성화 플랫폼을 운반하기보다 절반 동작 설치를 출하하지 않는 것을 선호합니다.

강한 Windows 또는 FreeBSD 사용 사례가 있다면 github.com/ongridio/ongrid 에 이슈 열기 — 플러그형 번들러는 ADR-015 에 추적됩니다.

클라우드 측 요구사항

Docker Engine 24+ 와 Docker Compose v2 를 실행할 수 있는 곳이면 매니저를 호스팅. 테스트:

  • 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 installer (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

해당 installer 는 systemd unit (/etc/systemd/system/ongrid-edge.service) 을 두고, 시스템 사용자 ongrid-edge 를 만들고, Restart=always 와 함께 systemd 를 통해 에이전트 감독. macOS 호스트는 개발용으로 여전히 손으로 바이너리 실행 가능 — macOS (edge dev) 참고 — 그러나 감독 서비스, journald 로그 소스, 플러그인 번들을 얻지 못함.

올바른 페이지 선택

버전 정책

매니저와 에이전트는 단일 VERSION 파일 (/Users/.../ongrid/VERSION) 을 공유하고 하나의 tarball 로 릴리스. 매니저보다 오래된 edge 에이전트는 계속 동작: 모든 터널 RPC 는 버전화되고, 매니저는 알 수 없는 응답 필드를 zero 값으로 다룸. 매니저보다 새로운 edge 에이전트는 지원되지 않음 — 먼저 매니저를 업그레이드하세요.

stage-swap-then-rollback 모델 (ADR-024) 은 업그레이드 참고.