背景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 は再び「タイムアウト」したのでしょうか?
理論を中心に記事を書く人もいますが、私は主に方法について話します。おそらくこれが道と技術の違いでしょ...
ウェブマスターにとって、ソフト記事をプロモーションに利用することは珍しいことではないと思います。現在...
最近、米国でひっそりと上場していた滴滴出行が国家安全法に基づくサイバーセキュリティ審査の対象となり、...
デジタル時代に入り、クラウドコンピューティングと「人工知能+」を中心にあらゆる分野で変革と変化が起こ...
今日、新しい同僚が会社に加わりました。彼は長い間、機械業界でオンライン販売に携わっていました。私たち...
[[231065]]企業がクラウドに移行すると、最も遠い距離が手の届く範囲になります。インターネット...
多くのウェブマスターにとって、よく知られているwpやzblogに加えて、emlogブログも徐々に人々...
顧客が広告からあなたのストアにアクセスすると、商品ページが表示されます。この時点で、顧客には 2 つ...
ウェブサイトの最適化手法はあまりにも平凡、言い換えれば普通すぎる。その結果、維持されているウェブサイ...
zappiehost は英国に登録された会社で、2009 年に設立されました。現在は主に、OVH の...
一部の市民は、WeChatのアバターやニックネームは自由に変更できるため、特定の身元認証の抜け穴があ...
spinservers はダラス データ センターに 2 台の安価なサーバーを補充しました。ウェブマ...
2014年の最後の月を振り返ってみましょう。一秒一秒が重要です。2014年12月は血みどろの戦いでし...
Enzu の BudgetVM は 10 年以上前から存在しており、多くの人がよく知っていると思いま...
Hostsolutions では、安価な VPS (大容量ハード ドライブ VPS、高構成) と安価...