この記事が公開された後、一部の読者から 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 ストレージ ボリューム クラスターを構築する
現在、ウェブマスターの 95% は、画像検索を無視して、通常の検索を通じてウェブサイトにもたらされる...
青大根はリンク仲介市場全体を攻撃しました。有名なリンクプラットフォームである阿里巴巴がK-edされた...
国産化粧品が今流行っています。最も有名な「パーフェクトダイアリー」のほかに、もう一つ好調なブランドが...
ブラック フライデーが近づいています。frontrangehosting のすべての VPS が 5...
2013年にBaiduアルゴリズムが継続的に導入されたことにより、「コンテンツが王、外部リンクが女王...
Baiduのアルゴリズムが継続的にアップグレードされるにつれて、従来のウェブサイト運営モデルは深刻な...
IT トレーニング業界では、ビッグデータやクラウド コンピューティング トレーニングという用語が常に...
v5.net は独立サーバー事業に従事しています。クラウドサーバー (VPS) の発売以来、ウェブマ...
「百科」とは、インターネット上のオープンで無料のオンライン百科事典を指し、さまざまな分野の知識を網羅...
PaaS は Platform as a Service の略で、サービスとしてのプラットフォームを...
休暇前に社会と触れ合い、自分を鍛えたいと思い、自分の趣味と能力を組み合わせて、蘇州にある電動機器を販...
SEO について話すとき、最初に頭に浮かぶ要素は、キーワード、外部リンク、包含ステータスなどです。こ...
dedipath は専用サーバーのプロモーションを頻繁に開催しており、安価な米国専用サーバーは最低で...
情報ネットワーク時代において、電子商取引の成熟度が高まり、オンラインショッピングが徐々に普及するにつ...
インターネットが人々の生活に密接に関係するようになったため、伝統的な消費者行動であるAIDMA(注意...