Linkerdは、メッシュ化されたすべてのサービスと並行して不可視のプロキシを実行します。そのため、メッシュレベルのオブザーバビリティがないと、サービスが何を行っているかは確認できても、サービス同士がどのように通信しているかは確認できません。
このインテグレーションは、OpenTelemetry CollectorのPrometheusレシーバーを使用して、コードの変更やサービスごとの計装を行うことなく、Linkerdのプロキシおよびコントロールプレーンのメトリクスを自動的にスクレイピングします。メッシュ化されたすべてのワークロードのリクエスト率、レイテンシ、およびmTLSステータスをすぐに取得できます。また、オプションでディストリビューティッド(分散)トレーシングを追加して、メッシュレベルのスパンをアプリケーションのAPMトレースと同じウォーターフォールに組み込むことができます。
主なメリット
- メッシュレベルのゴールデンシグナル:アプリケーションコードを変更することなく自動的に収集される、メッシュ化されたすべてのワークロードのリクエスト率、レイテンシ(p50/p95/p99)、成功率、およびTCP接続を確認できます。
- mTLSとセキュリティの可視性:証明書の有効期限、ローテーション率、認可の許可/拒否のカウントを1か所で追跡します。
- コントロールプレーンのヘルス: Linkerdコントロールプレーン自体のキューの深さ、ライブエンドポイント数、証明書発行率、およびproxy-injectorのアクティビティをモニターします。
- APMリレーションシップの可視性:ディストリビューティッド(分散)トレーシング(Linkerd 2.19+)を有効にすると、LinkerdはプロキシスパンをAPMサービスと同じエンティティに合成するため、個別のトレーシングバックエンドは必要ありません。
- コード変更ゼロ: メッシュ化されたすべてのポッドのプロキシサイドカーは
:4191でメトリクスを公開し、OTel Collectorはそれらを自動的にスクレイピングします。
使用事例
Kubernetesネイティブのマイクロサービスを実行しているプラットフォームまたはSREチームの場合、メッシュレベルの可視性により、レイテンシのスパイクを引き起こしているアップストリームサービスを特定し、mTLS証明書が期限切れになる前に検出し、再試行ストームを理解し、コントロールプレーンの負荷をアプリケーションパフォーマンスと関連付けることができます。これらすべてを単一のNew Relicエンティティから取得できます。
機能
- メトリクス: コード変更ゼロで自動的に収集される、メッシュ化されたすべてのワークロードのリクエスト率、レイテンシ(p50/p95/p99)、成功率、TCP接続の統計、ならびにmTLS証明書の有効期限とコントロールプレーンのヘルス
- トレース(オプション、Linkerd 2.19+):LinkerdプロキシのスパンがAPMトレースと同じウォーターフォールに合成されるため、メッシュレベルのレイテンシとアプリケーションレベルのスパンが一緒に表示されます。
- ログ:メトリクスやトレースと同じエンティティにアタッチされた
linkerd-proxyサイドカーコンテナのログ - エンティティ:メッシュ化されたワークロードごとのLinkerdエンティティ。基盤となるKubernetesデプロイメントと関連付けられます。
インストールパスの選択
- Helmを使用したNRDOT(推奨):ほとんどのKubernetesユーザーがすでにHelmリリースを管理しているのと同じ方法でインストールされる、New RelicがサポートするOpenTelemetry Collectorディストリビューション
- マニフェストを使用したNRDOT:Helmの代わりに生のKubernetesマニフェストで設定を管理するクラスタ向けの、同じNRDOTコレクターです。
- Helmを使用したOTel Collector Contrib:NRDOTの代わりにすでに標準として使用している場合向けの、コミュニティのOpenTelemetry Collector
- マニフェストを使用したOTel Collector Contrib:同じコミュニティのコレクターによる、マニフェストベースのインストール
インストレーションの概要
- 互換性を確認し、前提条件を収集する
- コレクターをインストールし、Linkerdをスクレイプするように構成します。
- 最小限の設定を適用する
- New Relicでデータを見つけて使用する