New Relic eBPF エージェントは、eBPF テクノロジーを使用して、ゼロコード計装の単一エージェントでAPM機能を提供します。 このアプローチにより、デプロイメントの監視のためにアプリケーション チームと調整する必要がなくなり、プラットフォーム エンジニアリング チームの能力が向上します。
eBPF を利用した APM を使用する場合
- 大規模なデプロイメント: 大規模な監視デプロイを必要とし、個々の言語エージェントのオーバーヘッドなしで「十分な」メトリクスを必要とするアプリケーションが多数ある場合。
- 不明または変更不可能なワークロード:監視したいワークロードが不明なプログラミング言語で書かれているか、変更できない場合。
- プラットフォーム エンジニアリングの効率化:個々のアプリケーション チームと調整せずに大規模にプロイ監視を行いたい場合。
- Linux 中心の環境: eBPF はKubernetes環境とホスト環境の両方で Linux 上で優れた動作をするため、 Windowsプラットフォームを監視する必要がない場合。
- ディストリビューティッド(分散)トレーシング要件なし:監視が必要な場合は、ディストリビューティッド(分散)トレーシング機能は必要ありません。
eBPFと従来のAPMの比較
eBPF を利用したAPMと従来のAPMエージェントの違いを理解すると、適切なアプローチを選択するのに役立ちます。
機能性 | eBPF エージェント (eAPM) | APMエージェント |
|---|---|---|
概要 | ✅ | ✅ |
トランザクション | ✅ (Java、Go、Node.js のセグメントリンク) | ✅ |
データベース操作 | ✅ | ✅ |
サービスマップ | ✅ | ✅ |
ディストリビューティッド(分散)トレーシング | ❌ | ✅ |
プログラミング言語に依存しない | ✅ | ❌ |
カスタムインストゥルメンテーション | ❌ | ✅ |
アプリとサービスを継続的に自動検出 | ✅ | ❌ |
Linuxサポート | ✅ | ✅ |
Windows サポート | ❌ | ✅ |
TCP および DNS テレメトリー | ✅ | ❌ |
データソースの観点
eBPF を利用した APM は、監視の観点をアプリケーション層からカーネル層に移行します。
機能 | APM言語エージェント | eBPF を活用した APM |
|---|---|---|
情報源 | アプリケーションのメモリ/ランタイムフック | Linuxカーネル(eBPF経由) |
言語依存関係 | 高(言語ごとに特定のエージェントが必要) | なし(カーネルのプロセスビューで動作します) |
コードの変更 | 必須 | 不要(外部からプロセスを観察) |
結果 | 既知の言語のディープ インサイト | Linux (C++、 Rustなど) 上のあらゆるワークロードに最適なインサイト |
デプロイメント用ベストプラクティス
1. 従来のAPMを補完する
eBPF エージェントを使用して、 APM言語エージェントを補完し、包括的なカバレッジを実現します。 これにより、二重のデータ取り込みを行わずに、 eAPMとAPMエージェントが共存し、 APM完全にカバーできるようになります。
推奨されるアプローチ:
- APM言語エージェント:深いレベルのインサイト、ディストリビューティッド(分散)トレーシング、またはカスタム インストゥルメンテーションを必要とする最も重要なアプリケーションに使用します。
- eBPF を利用した APM:インストルメント化されていないサービス、サードパーティ アプリ、および新しいサービスの継続的な検出/レポートなど、その他すべてをカバーするために使用します。
2. より深いコンテキストのためのネットワークメトリクスを追加する
プレビュー
私たちは eBPF ネットワーク メトリクス機能の開発にまだ取り組んでいますが、ぜひ試してみてください。
この機能は現在、弊社のプレリリース ポリシーに従ってプレビューの一部として提供されています。 HIPAA または FedRAMP 規制の対象となる顧客にはご利用いただけません。
eBPF エージェントは、アプリケーションの境界の外側を可視化するための詳細なネットワーク メトリクス (TCP、DNS など) も提供できます。 この機能は補完的であり、eAPM の有無にかかわらず使用できます。詳細については、ネットワーク メトリクスを参照してください。
次のデプロイメント オプションが利用可能です。
アプリケーション メトリクス ソース | ネットワーク メトリクス ソース | 構成 |
|---|---|---|
APM言語エージェント | eBPFエージェント(ネットワークメトリクス専用モード) | 2人のエージェント |
eBPF エージェント (eAPM) | eBPFエージェント(同じエージェント) | 単一エージェント |
3. 統一された監視アプローチを作成する
上記のプラクティスに従うことで、単一の eBPF エージェントを使用してインフラストラクチャとアプリケーションの両方の監視ニーズに対応できます。これによりオブザーバビリティが統合され、エージェントが重要なアプリケーション パフォーマンス データ (eAPM) とネットワーク メトリクス (eBPF ネットワーク メトリクス) を自動的に収集して既存のダッシュボードに入力できるようになり、コードの変更や再起動を行わずに詳細なコンテキストが提供されます。
利点:
- New Relic APM UI に自動的に入力される APM インサイト。
- 同じエージェントのネットワークインサイト。
実装の推奨事項
大規模なeAPMから始める:多くのアプリケーションにわたって大規模にプロイ監視を行う必要があり、複雑な調整なしで「十分な」メトリクスが必要な場合は、eBPF を利用したAPMから始めてください。
ネットワーク メトリクスを追加して完全な可視性を実現: eAPMがデプロイされたら、eBPF ネットワーク メトリクスの追加を検討して、アプリケーションの境界を超えて包括的なトラブルシューティング機能を可視化します。