この記事が公開された後、一部の読者から javaagent の「非侵入性」についてコメントがありましたが、ここで説明する必要があります。 「非侵入的」とは、主にアプリケーションのビジネス ロジック コードを変更せずに実装できる機能を指します。透過的でアプリケーションを意識する必要がないため、開発者はビジネス開発に集中できます。同時に、アプリケーションコードを変更する必要がないため、統合が容易になります。また、メンテナンスも簡単で、複数の言語やフレームワーク間での機能の一貫性も確保されます。 Java エージェントは JVM の起動時にロードされ、アプリケーションのソース コード レベルを変更するのではなく、実行時にバイトコードを変更して追跡コードを挿入します。 背景分散トレース分散トレースは、マイクロサービス リクエスト フローを監視および診断するための重要なテクノロジであり、可観測性の重要なコンポーネントであり、マイクロサービス アーキテクチャにおける複雑な相互作用やパフォーマンスの問題に関する深い洞察を提供します。サービス間のリクエスト リンクを明確に表示することで複雑さを管理し、パフォーマンスのボトルネックを特定し、リソース割り当てを最適化し、障害を迅速に特定して解決し、システム全体の信頼性を向上させるのに役立ちます。 サービスメッシュのための非侵入型分散トレース再び非侵襲的!サービス メッシュ内のプロキシは、すべての受信および送信ネットワーク通信を自動的に処理し、要求時間、期間、ステータス コード、その他のメタデータなど、サービス間の要求と応答に関する詳細な情報を自動的にキャプチャ、記録、分析します。この実装[1]はアプリケーション自体に対して透過的であり、実行時にバイトコードを変更するJavaエージェントよりも徹底的です。 ここでの前提は、アプリケーションがリクエストでコンテキスト情報を渡すことができるため、サイドカー プロキシによって生成され、送信されたトレース情報が、切断されることなく最終的に連結されることです。 写真 メッシュの非侵入型分散トレースではリクエスト リンクが表示されますが、上図に示すように、各スパンはサイドカー プロキシの情報です。 前回の記事に続き、今日はService Mesh FSM[2]とOpenTelemetryを統合して、アプリケーションとメッシュのフルリンク分散トレースを実装する方法について説明します。 デモ建築写真 環境設定Jaeger、cert-manager、Otel Operator のインストールについては、前の記事を参照してください。 計測の設定次のステップは、プローブをインストールして構成することです。詳細な設定手順については、Instrumentation APIドキュメント[3]を参照してください。 FSM分散トレースドキュメント[4]によれば、FSMはZipkinプロトコルをサポートしています。したがって、プロパゲータでは b3multi を使用し、B3 マルチヘッダー形式を使用してリクエスト ヘッダーに次の情報を渡します。
今回はサンプル名前空間を使用します。 OpenTelemetry Collector を構成するOtelコレクターの詳細な設定については、公式ドキュメント[5]を参照してください。
サービスメッシュ FSM のインストールFSM は CLI 経由でインストールします。今すぐ FSM をダウンロードし、最新の公式バージョン 1.1.4 を使用してください。 インストール中に、分散トレースを有効にし、アドレスを Otel Collector の zipkin シンクにポイントします。zipkin シンクのエンドポイントは /api/v2/spans です。 サンプルアプリケーションをデプロイするサンプル名前空間をサービス グリッドに追加し、アプリケーションをデプロイします。 アプリケーション ポッドにサイドカーが挿入され、正常に実行されることを確認します。 テスト
リクエストを送信した後、Jaeger UI を開きます。 Jaeger UI では、リンクの内容がより豊富であることがわかります。これには、アプリケーションのスパン データとサイドカー プロキシが含まれています。 写真 参考文献[1] 実装: https://fsm-docs.flomesh.io/guides/observability/tracing/ [2] サービスメッシュFSM: http://fsm-docs.flomesh.io [3] インストルメンテーションAPIドキュメント: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentation [4] FSM分散トレースのドキュメント: https://fsm-docs.flomesh.io/guides/observability/tracing/ [5] 公式ドキュメント: https://opentelemetry.io/docs/collector/configuration/ |
<<: オペレーション兄弟!なぜ Kafka は再び「タイムアウト」したのでしょうか?
>>: 実稼働の実践: GlusterFS を使用して Kubernetes ストレージ ボリューム クラスターを構築する
リトアニアの会社であるbacloudは、2007年に設立され、それ以来運営されているサーバープロバイ...
Google は本日、Google 翻訳が絵文字翻訳をサポートすることを発表しましたが、この機能は現...
ウェブマスターの間では、「コンテンツは王、外部リンクは皇帝、内部リンクは側室、コードは将軍、キーワー...
検索エンジン最適化とウェブサイト最適化 --- ロビンとの議論最適化の目標検索エンジン最適化とは、検...
Google は本日、金融機関が Google Cloud プラットフォーム上で SWIFT SC ...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン10 日以上、皆さんと有益な情報をシェア...
2019 年はあっという間に過ぎ去りましたが、マーケティングの世界では、良い意味でも悪い意味でも考え...
Docker の概念Docker は、Go 言語をベースにしたオープンソースのアプリケーション コン...
諺にあるように、物事は時間とともに変化します。SEO では、検索エンジンのトレンドに常に追従する必要...
この記事を書く前に、著者は尋ねたいのですが、百度が現在何世代の検索エンジンサービス技術を使用している...
昨日、私は2人の友人と新浪微博と騰訊微博についてチャットをしていました。そのうちの1人は、最初は新浪...
ウェブマスターネットワークは7月5日に報道した。「本日、百度連盟は『百度連盟業務協力基準』を改訂する...
諺にもあるように、学びは決して終わらない。私たちは人生の約20年間を学校で教育を受けて過ごします。学...
はじめに: WeChat はショッピングモールではなく、自然なコミュニケーションツールです。私のアド...
アメリカのクラウドサーバーブランド iON (krypt 傘下) は現在、米国のサンノゼ、ロサンゼル...