この記事を読む前に、以下の通りにJaeger環境を展開する必要があります:
OpenTracing プロトコル
OpenTrasingは、プラットフォームや言語に依存しない分散型追跡プロトコルであり、統一されたインターフェースを持つことで、異なる分散型追跡システムの開発やアクセスに便利です。ZipkinとJaegerはどちらもOpenTrasingプロトコルに従っています。
分散追跡システムイェーガー
JaegerはUberが開発した分散型追跡システムで、すでにUberで大規模に利用されています。 そして2017年9月13日にCNCFのオープンソース組織に参加しました。 Jaegerを使うことで、分散システム全体の呼び出しチェーンを可視化でき、問題の特定と解決が容易にできます。
機能
- 分散環境における情報伝達
- 分散トランザクション監視
- クロスプロセスコールチェーンの実証
- パフォーマンス最適化
- 問題の特定
特性
- HTTPと比べてUDPでデータを送信する利点は、Jaegerのサービスのダウンタイムや通常の業務に影響を与えるネットワーク伝送の問題を心配しなくてよいことです。 欠点はパケットロスであり、これは通話チェーン全体に影響を及ぼします。
- データはThriftまたはprotobuf(gRPC送信)を通じてシリアル化されており、これがデフォルトでThriftです。
収集戦略
- ConstSampler、フルコレクション
- ProbabilisticSampler、確率収集、デフォルトは10,000分の1
- レートリミティングサンプラーは、1秒あたり一定量のデータしか収集できないレート制限型取得ツールです
- RemotelyControlledSamplerは、現在のシステムへの訪問回数に応じて収集戦略を調整する動的な収集戦略です
ASP.NET コアはイェーガーのリンクトレーシングに接続されています
このプロジェクトは.NET Core 3.1向けのフレームワークであり、Nugetは以下のパッケージをインストールします:
その中で、OpenTracing.Contrib.NetCoreは.NET Coreベースのアプリケーション向けのOpenTracing ツールを提供しており、これは単なる拡張であり、主な監視機能は以下の通りです。
- ASP.NET コア
- エンティティフレームワークコア
- System.Net.Http(HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
スタートアップファイルでは、ConfigureServicesメソッドは次のように設定されています。
HomeControllerコントローラーのログと時間のかかるコードでITracerを呼び出す方法は以下の通りです。
ウェブサイトを起動し、/Home/Indexページにアクセスし、オンラインのJaeger界面からリンクを閲覧してください:http://127.0.0.1:16686/素数はタグで検索できます。下図のように:
http.url=http://localhost:27138/ 以下に示すように:
ソースコードダウンロード:
観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
リソース:
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
|