背景OpenTelemetry プローブOpenTelemetry (略して Otel、最新バージョンは 1.27) は、テレメトリ データ (メトリック、ログ、トレース情報など) を収集、処理、エクスポートするための一連のツール、API、SDK を提供する、可観測性のオープン ソース プロジェクトです。アプリケーション テレメトリ データ (トレース、メトリック、ログなど) の収集はプローブを通じて行われます。プローブは通常、ライブラリの形式でアプリケーションに統合され、監視とデバッグを支援するために重要な情報を自動的にキャプチャします。 OpenTelemetry プローブは、市場のほとんどのプログラミング言語をサポートしています。プローブ(通常は計装と呼ばれます)の設置は、手動と自動の方法に分けられます。
どちらにも長所と短所があります。手動計測は、テレメトリ データ収集に対する高度なカスタマイズと正確な制御が必要なシナリオに適しています。自動インストルメンテーションは、特に標準フレームワークとライブラリを使用するアプリケーションで、迅速な起動と簡素化された統合に適しています。 OpenTelemetry Operator の紹介OpenTelemetry Operator[2]は、Kubernetes環境でのOpenTelemetryコンポーネントの導入と管理を簡素化するために設計されたKubernetes Operatorです。 OpenTelemetry Operatorは、CRD(OpenTelemetryCollector[3]、Instrumentation[4]、OpAMPBridge[5])を通じてKubernetesクラスターにOpenTelemetry Collectorを自動的にデプロイし、管理します。ワークロードに OpenTelemetry プローブを自動的にインストールします。 今日は、OpenTelemetry Operator を使用してプローブを自動的にインストールし、リンク トラッキングを実装する方法を体験します。 デモ建築これはデモ用のアーキテクチャです。 Otelは複数の言語で計測SDKを提供しています[6]。この記事では、Java と Go のアプリケーションを使用します。これら 2 つの言語では、完全自動および半自動の注入インストールが使用されます。
写真 イェーガーデモンストレーションのため、jaegertracing/all-in-one イメージを使用して Jaeger をデプロイします。このイメージには、Jaeger コレクター、メモリ ストレージ、クエリ サービス、UI などのコンポーネントが含まれており、開発とテストに非常に適しています。 OTLP(OpenTelemetry Protocol)[9]のサポートは環境変数COLLECTOR_OTLP_ENABLEDによって有効になり、OTELは8にあります。 cert-managerをインストールするOtel Operator は証明書管理に cert-manager に依存しています。オペレーターをインストールする前に、cert-manager をインストールする必要があります。 OpenTelemetry OperatorのインストールOtel Operatorをインストールするには、次のコマンドを実行します。 OpenTelemetry Collector を構成するCR OpenTelemetryCollector を作成して、Otel のコレクターを構成します。ここで設定するのは次の通りです:
CR OpenTelemetryCollector を作成した後、Otel Operator はデプロイメントと複数のサービスを作成します。 コレクターのデプロイメントには、デプロイメント、デーモンセット、ステートフルセット、サイドカーの4つのデプロイメントモデル[10]があります。デフォルトはデプロイメントです。 計測の設定Instrumentation は、Otel プローブのインストールと構成を自動化する Otel Operator の別の CRD です。
詳細な設定手順については、Instrumentation APIドキュメント[11]を参照してください。 Java サンプル アプリケーション正しいプローブを挿入できるように、Otel Operator にアプリケーション タイプを通知するには、Pod に instruments.opentelemetry.io/inject-java: "true" という注釈を付けます。 Otel Operator が otel 初期化コンテナを Pod に挿入していることがわかります。 写真 そして、一連の環境変数が構成のために Java コンテナに挿入されます。 写真 Go サンプル アプリケーション前述のGo言語の自動インジェクションのデモは半自動方式を採用しており、本記事のタイトルと矛盾しており埋め込みます。私はOtelプローブを手動でインストールするシンプルなGoアプリケーション[12]を作成しました。ご興味がございましたら、ソースコードをご覧頂けます。 Pod を表示すると、環境変数を通じて注入された Otel 構成も確認できます。 テスト
Jaeger UI を開きます。 ビンゴ! アクセス リンク情報を確認するには、Jaeger UI にアクセスしてください。 写真 参考文献[1] Javaはjavaagentを通じてプローブの自動インストールを実装しています: https://opentelemetry.io/docs/instrumentation/java/automatic/ [2] OpenTelemetryオペレーター: https://opentelemetry.io/docs/kubernetes/operator/ [3] OpenTelemetryCollector: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollector [4] インストルメンテーション: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentation [5] OpAMPBridge: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opampbridge [6] 複数言語でのインストルメンテーションSDK: https://opentelemetry.io/docs/instrumentation/ [7] GoインストルメンテーションSDKを手動でインポートする: https://github.com/addozhang/http-sample/blob/main/otel.go [8] 自動注入設定: https://github.com/open-telemetry/opentelemetry-operator/blob/main/README.md#opentelemetry-auto-instrumentation-injection [9] OTLP(オープンテレメトリープロトコル): https://opentelemetry.io/docs/specs/otlp/ [10] コレクターデプロイメントの4つのデプロイメントモード: https://github.com/open-telemetry/opentelemetry-operator#deployment-modes [11] インストルメンテーションAPIドキュメント: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentation [12] シンプルなGoアプリケーション: https://github.com/addozhang/http-sample |
<<: クラウド移行に関する注意事項 |企業のスムーズなクラウド移行を実現するためのコンピューティングパワーインフラストラクチャを理解するための図
>>: オペレーション兄弟!なぜ Kafka は再び「タイムアウト」したのでしょうか?
現在、extravmではアメリカ中部のダラスデータセンターのVPSを対象に初月30%オフ/更新30%...
12月25日、国内の脆弱性報告プラットフォームであるWuyunの公式サイトは、ユーザーアカウント、プ...
この記事は、黄家朗による教育インターネット マーケティング シリーズの 2 回目です。分類情報 We...
Zenlayerは、アジアの最も重要な金融センターである香港に独自のデータセンターを構え、香港サーバ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています今日、Xi...
グローバル化とデジタル化が経済発展のキーワードとなっている現在、中国企業は国内外の急速に変化する市場...
buyvm は、複数のストリーミング メディアのロックを解除し、通常は厳しい IP 要件を持つ多くの...
1999年に設立されたDangdang.comは、14年間の電子商取引のキャリアの中で浮き沈みを経験...
SEO 実践者が追いかけ、ウェッジホッピングし、調査し、疑問に思い、そして迷っていることの 1 つは...
SEO 業界に不慣れな人にとって、SEO を学ぶ方法を知ることは重要な問題です。 SEO を学ぶには...
近年、中国ではハイパーコンバージェンスが急速に成長しています。 IDCが発表した最新のレポートによる...
営業に携わることが多い従業員は、顧客の認知度を高めて注文を迅速に獲得するためには、製品の機能や用途、...
上海警察は8日、青浦市公安局が綿密な捜査を経て省市をまたぐインターネット詐欺事件を摘発し、機械設備販...
国産化粧品が今流行っています。最も有名な「パーフェクトダイアリー」のほかに、もう一つ好調なブランドが...
2023年11月、Volcano Engineは北京、上海、深センでVolcano Engineパブ...