OpenMetrics サポート環境
OpenAgentはPrometheus / OpenMetrics形式を公開するエンドポイントであれば、言語やフレームワークに関係なく収集できる**言語非依存(Language-Agnostic)**エージェントです。Goでコンパイルされた単一バイナリとして提供され、別途ランタイムをインストールせずにLinuxホストまたはKubernetesクラスターで実行できます。
本ドキュメントはOpenAgentが公式にサポートするオペレーティングシステム、Kubernetesバージョン、スクレイピング対象、ネットワーク 要件などを整理します。
エージェントの実行形態
| Platform | Support | Note |
|---|---|---|
| 単一バイナリ(Linux) | ✅ | AMD64 / ARM64 |
| Windows ネイティブバイナリ | ❌ | 未サポート |
| 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ベースの主要Linuxディストリビューションで動作します。
| 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 |
| Kubernetes | kube-state-metrics、kubelet、cAdvisor、kube-apiserver |
| データベース | mysqld_exporter、postgres_exporter、redis_exporter、mongodb_exporter |
| メッセージキュー | kafka_exporter、rabbitmq_exporter |
| Webサーバー | 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の直接指定 | ホスト / Kubernetes共通 |
| PodMonitor | Podラベルセレクターに基づく動的ディスカバリー | Kubernetes |
| ServiceMonitor | Serviceラベルセレクターに基づく動的ディスカバリー | Kubernetes |
システムリソース要件(推奨)
| Item | Minimum | Recommended |
|---|---|---|
| CPU | 0.1コア | 0.5コア以上 |
| Memory | 128 MB | 256 MB以上 |
| Disk | 1 GB(ログ含む) | 5 GB以上 |
測定基準: エンドポイント10個、エンドポイントあたり約100タイムシリーズ(合計約1,000タイムシリーズ)、収集周期60秒。この基準での実測使用量はCPU平均0.003コア、メモリ約50 MBです。最小仕様はバーストおよび増設余裕を考慮した保守 的な値です。
エンドポイント数による実測使用量
同一Exporter(エンドポイントあたり83タイムシリーズ)を収集周期60秒でスクレイピングしながら、エンドポイント数を増やして測定した結果です。
| エンドポイント数 | 総タイムシリーズ / 分 | CPU平均 | Memory (RSS) |
|---|---|---|---|
| 1 | 83 | 0.002コア | 約31 MB |
| 10 | 830 | 0.003コア | 約52 MB |
| 100 | 8,300 | 0.010コア | 約70 MB |
スケールガイド
- リソース使用量はエンドポイント数ではなく総タイムシリーズ数に比例します。総タイムシリーズ約1万個(例: エンドポイント100個 × 100タイムシリーズ、60秒周期)のレベルまで最小仕様内で動作します。
node_exporter、kube-state-metricsのようにエンドポイントあたりのタイムシリーズが数千個の場合、エンドポイント数ではなく総タイムシリーズ数 基準で換算してください。- 収集周期を短くすると(例: 60秒 → 15秒)、同じタイムシリーズ数に対してCPU使用量が比例して増加します。
- 数百個以上のターゲットを収集したり、高カーディナリティExporterを収集する環境ではCPU/Memoryのスペックを引き上げる必要がある場合があります。
CPU推奨値(0.5コア)について
平均CPU使用量は低いですが(約0.003コア)、推奨値を0.5コア以上とする理由はバーストのためです。スクレイピング時点にすべての収集対象へのリクエスト・パーシングが同時に集中し、Kubernetesでlimits.cpuを0.1コアに制限するとこのバーストがスロットリングされ、スクレイピング遅延・タイムアウトが発生する可能性があります。そのため、requests.cpuが0.1コアであってもlimits.cpuは0.5コア以上を推奨します。