OpenMetrics 지원 환경
OpenAgent는 Prometheus / OpenMetrics 포맷을 노출하는 엔드포인트라면 언어·프레임워크에 관계없이 수집할 수 있는 언어 독립적(Language-Agnostic) 에이전트입니다. Go로 컴파일된 단일 바이너리로 제공되며, 별도 런타임 설치 없이 리눅스 호스트 또는 쿠버네티스 클러스터에서 실행할 수 있습니다.
본 문서는 OpenAgent가 공식적으로 지원하는 운영체제, 쿠버네티스 버전, 스크래핑 대상, 네트워크 요구사항 등을 정리합니다.
에이전트 배포 형태
| Platform | Support | Note |
|---|---|---|
| 단일 바이너리 (Linux) | ✅ | AMD64 / ARM64 |
| Windows Native 바이너리 | ❌ | 미지원 |
| macOS (Apple Silicon) | ❌ | 미지원 |
별도 런타임 요구사항
OpenAgent는 Go로 빌드된 정적 바이너리이므로 JVM, Node.js, Python 등의 런타임을 별도 설치할 필요가 없습니다.
운영체제(OS)
Linux
| Architecture | Support | Download URL |
|---|---|---|
| x86_64 / AMD64 (Intel, AMD 64비트) | ✅ | https://repo.whatap.io/openagent/latest/amd/openagent |
| ARM64 / AArch64 (Linux ARM 프로세서) | ✅ | https://repo.whatap.io/openagent/latest/arm/openagent |
| x86 (32비트) | ❌ | - |
배포판 호환성
glibc 기반의 주요 리눅스 배포판에서 동작합니다.
| Distribution | Version |
|---|---|
| Red Hat Enterprise Linux / CentOS / Rocky / AlmaLinux | 7.x 이상 |
| Ubuntu | 18.04 LTS 이상 |
| Debian | 10 이상 |
| Amazon Linux | 2 / 2023 |
| SUSE Linux Enterprise Server | 12 이상 |
미지원 플랫폼
- Windows (Windows Server 포함)
- macOS (Intel 및 Apple Silicon)
- FreeBSD, OpenBSD 등 기타 Unix 계열
컨테이너 환경
Docker
| Platform | Support |
|---|---|
| Docker Engine 20.x 이상 | ✅ |
| containerd 1.6 이상 | ✅ |
| CRI-O | ✅ |
스크래핑 대상(Exporter)
OpenAgent는 Prometheus /metrics 엔드포인트를 노출하는 모든 Exporter 및 애플리케이션을 수집할 수 있습니다.
지원 메트릭 포맷
| Format | Support | Note |
|---|---|---|
| Prometheus Exposition Format (text) | ✅ | 기본 |
| OpenMetrics Text Format | ✅ | application/openmetrics-text |
| Protobuf | ❌ | 미지원 |
대표 지원 Exporter(예시)
| Category | Exporter |
|---|---|
| 시스템 / 호스트 | node_exporter, windows_exporter |
| 쿠버네티스 | kube-state-metrics, kubelet, cAdvisor, kube-apiserver |
| 데이터베이스 | mysqld_exporter, postgres_exporter, redis_exporter, mongodb_exporter |
| 메시지 큐 | kafka_exporter, rabbitmq_exporter |
| 웹 서버 | nginx-prometheus-exporter, apache_exporter |
| GPU / AI | dcgm-exporter (NVIDIA) |
| 클라우드 | cloudwatch_exporter, azure_metrics_exporter |
| 애플리케이션 | Spring Boot Actuator, Micrometer, OpenTelemetry Collector |
표에 없는 Exporter도 Prometheus 텍스트 포맷을 따르면 대부분 수집할 수 있습니다.
타겟 디스커버리 방식
| Type | Description | Environment |
|---|---|---|
| StaticEndpoints | 고정된 IP:PORT 직접 지정 | 호스트 / 쿠버네티스 공통 |
| PodMonitor | Pod 레이블 셀렉터 기반 동적 디스커버리 | 쿠버네티스 |
| ServiceMonitor | Service 레이블 셀렉터 기반 동적 디스커버리 | 쿠버네티스 |
시 스템 리소스 요구사항(권장)
| Item | Minimum | Recommended |
|---|---|---|
| CPU | 0.1 core | 0.5 core 이상 |
| Memory | 128 MB | 256 MB 이상 |
| Disk | 1 GB | 5 GB 이상 |
측정 기준: 엔드포인트 10개, 엔드포인트당 약 100 시계열(총 약 1,000 시계열), 수집 주기 60초 위 기준에서 실측 사용량은 CPU 평균 0.003 core, 메모리 약 50 MB입니다. 최소 사양은 버스트 및 증설 여유를 고려한 보수적인 값입니다.
엔드포인트 수에 따른 실측 사용량
동일한 Exporter(엔드포인트당 83 시계열)를 수집 주기 60초로 스크래핑하면서, 엔드포인트 수를 늘려가며 측정한 결과입니다.
| 엔드포인트 수 | 총 시계열 / 분 | CPU 평균 | Memory (RSS) |
|---|---|---|---|
| 1 | 83 | 0.002 core | 약 31 MB |
| 10 | 830 | 0.003 core | 약 52 MB |
| 100 | 8,300 | 0.010 core | 약 70 MB |
스케일 가이드
- 리소스 사용량은 엔드포인트 수가 아니라 총 시계열 수에 비례합니다. 총 시계열 약 1만 개(예: 엔드포인트 100개 × 100 시계열, 60초 주기) 수준까지 최소 사양 내에서 동작합니다.
node_exporter,kube-state-metrics처럼 엔드포인트당 시계열이 수천 개인 경우, 엔드포인트 수가 아니라 총 시계열 수 기준으로 환산하세요.- 수집 주기를 줄이면(예: 60초 → 15초) 같은 시계열 수 대비 CPU 사용량이 비례하여 증가합니다.
- 수백 개 이상의 타겟을 수집하거나 고카디널리티 Exporter를 수집하는 환경에서는 CPU/Memory 사양을 상향 조정해야 할 수 있습니다.
CPU 권장값(0.5 core) 안내
평균 CPU 사용량은 매우 낮지만(약 0.003 core), 권장값을 0.5 core 이상으로 두는 이유는 버스트(burst) 때문입니다. 스크래핑 시점에 모든 수집 대상에 대한 요청·파싱이 동시에 몰리며, 쿠버네티스에서 limits.cpu를 0.1 core로 제한하면 이 버스트가 스로틀링되어 스크래핑 지연·타임아웃이 발생할 수 있습니다. 따라서 requests.cpu는 0.1 core라도 limits.cpu는 0.5 core 이상을 권장합니다.
방화벽 / 네트워크 요구사항
와탭 OpenAgent는 수집 서버 TCP 6600 포트로 접근할 수 있어야 합니다. 방화벽이 있는 환경에서는 아래 대역대로의 Outbound 트래픽을 허용해주세요.
AWS 클라우드 서버
| Region | Destination IP | Port |
|---|---|---|
| 서울 | 13.124.11.223 / 13.209.172.35 | TCP 6600 |
| 도쿄 | 52.68.36.166 / 52.193.60.176 | TCP 6600 |
| 싱가포르 | 18.138.0.93 / 18.139.67.236 | TCP 6600 |
| 자카르타 | 108.136.91.69 / 108.137.158.44 | TCP 6600 |
| 뭄바이 | 13.127.125.69 / 13.235.15.118 | TCP 6600 |
| 캘리포니아 | 52.8.223.130 / 52.8.239.99 | TCP 6600 |
| 버지니아 | 107.23.220.101 / 54.236.221.105 | TCP 6600 |
| 프랑크푸르트 | 3.125.142.162 / 3.127.76.140 | TCP 6600 |
Azure 클라우드 서버
| Region | Destination IP | Port |
|---|---|---|
| 서울 | 52.231.66.38 / 20.194.5.115 | TCP 6600 |
| 도쿄 | 52.246.169.54 / 20.210.27.232 | TCP 6600 |
Kakao 클라우드 서버
| Region | Destination IP | Port |
|---|---|---|
| 서울 | 61.109.237.237 / 61.109.238.166 | TCP 6600 |
수집 서버에 직접 접속이 어려운 내부망 환경에서는 별도로 제공되는 Proxy 모듈을 통해 데이터를 전송할 수 있습니다.