Beacon¶
Beacon は OpenTelemetry をベースとする自動計装エージェントです。アプリケーションのソースコードを変更せずに、対応するフレームワークやライブラリからテレメトリを収集できます。起動引数、プリロードモジュール、ラッパーコマンドを設定すると、アプリケーションを Guance に接続してトレースを確認できます。言語の対応範囲に応じて Profile と Security も有効にできます。
動作の仕組み¶
Trace、Metric、Log は DataKit OpenTelemetry コレクターで受信し、Profile は独立した DataKit Profile コレクターで受信します。実際の収集範囲は言語のバージョンと有効なコンポーネントに依存するため、エージェントのインストールだけですべてのシグナルが自動生成されるわけではありません。
言語の選択¶
各言語のゼロコード計装の方法と任意機能を以下に示します。インストール手順は各言語のガイドを参照してください。
| 言語 | ゼロコード計装の方法 | Profile | Security |
|---|---|---|---|
| Java | JVM の -javaagent で単一の Agent JAR を読み込み |
実験的な JFR。JDK 11 以降が必要 | 任意 |
| Python | 既存の起動コマンドの前に beacon を追加 |
pprof のアップロード | 標準 GIL の CPython 3.11–3.14 |
| Node.js | NODE_OPTIONS によるプリロード |
wall、heap Profile | Node.js 22.22.3+ または 24.11.1+。ESM プリロードを使用 |
| .NET | beacon-dotnet run でアプリケーションを起動 |
サポート対象のユーザー設定なし | リリース済みの機能なし |
| PHP | ネイティブフックと Composer の自動読み込み | サポート対象のユーザー設定なし | リリース済みの機能なし |
Profile と Security は既定では無効です。必要に応じて有効にしてください。Profile の設定は各言語の接続ページにあります。Security のランタイム要件と有効化の方法は Security を参照してください。
クイックスタート¶
- DataKit をインストールし、共通設定に従って OpenTelemetry コレクターを有効にします。
- 上の表からアプリケーションの言語を選び、対応するバージョンの Beacon エージェントをインストールします。
- サービス名、OTLP プロトコル、DataKit の受信アドレスを設定し、エージェント経由でアプリケーションを起動します。
- アプリケーションの API にアクセスして実際のリクエストを発生させ、Guance の「APM > トレース」でサービス名を指定してデータを確認します。
- コードのホットスポットを分析する場合は、各言語のページに従って Profile を有効にし、「APM > Profiling」でデータを確認します。
計装について
ゼロコード計装ではアプリケーションのソースコードを変更する必要はありませんが、エージェントのインストール、実行環境の設定、アプリケーションの再起動は必要です。自動計装は対応するフレームワークやライブラリを対象とします。業務処理内部の操作は、必要に応じて OpenTelemetry API で補足してください。重複収集を避けるため、同じプロセスに複数の自動計装エージェントを読み込まないでください。
関連ドキュメント¶
- 共通設定:DataKit の受信設定、サービス識別、OTLP パラメーター。
- Security:OTLP Logs によるセキュリティ検出結果とランタイム SBOM の送信。
- トラブルシューティング:エージェントの読み込み、ネットワーク、プロトコル、データのエクスポートを確認します。
- Beacon オープンソースプロジェクト:各言語のリリース履歴とソースコード。