この記事が公開された後、一部の読者から 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 ストレージ ボリューム クラスターを構築する
ガートナーの最新予測によると、パブリッククラウドサービスに対する世界のエンドユーザーの支出は、202...
myserverplanet.com では、OVZ によって仮想化された 4G メモリと 4G スワ...
1. 広告をクリックするために特別に設計された自動クリック プログラムまたはアプリケーションを使用す...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeibo は WeCh...
長い間SEO最適化の仕事をしてきた結果、固定した考えや行動意識が生まれてくるのは必然です。コンテンツ...
いわゆる検索エンジン不正行為とは、Baidu の「検索エンジン最適化ガイド 2.0」の言葉を借りれば...
オンライン ショッピングをする人にとって、商品を探すのは最初の段階にすぎません。さまざまな店舗で価格...
実際、この記事のタイトルを見ると、初心者のウェブマスターとして、Baidu ウェイトとは何なのか疑問...
Baidu の時代では、SEO は単なる一時的な雲に過ぎません。数日前、Wuming は「外部リンク...
記事のタイトルの重要性は誰もが理解していると思います。SEO やセルフ メディアの運用を行っているか...
半月前、誰かが私のQQにたくさんのメッセージを送信しました。広告だと思って見ませんでした。数日後にこ...
新しいドイツのクラウド サーバーの立ち上げを記念して、CloudSilk (Baisi Networ...
世界中で 100 万以上のネットワークを保護する信頼できるセキュリティ パートナーである Sonic...
stablehost の Web サイトは、同社のサービス評判と同様に、シンプルで信頼性の高い新しい...
Ganji.comは共同購入事業をWoWotuanに売却したが、アナリストらはこれを「負担の解消」と...