背景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 は再び「タイムアウト」したのでしょうか?
クラウド コンピューティングは、IT インフラストラクチャ、サービス、およびアプリケーションのより有...
lunarpages は私のお気に入りの仮想ホスティング会社の 1 つです。通常価格は少し高く、中高...
英国企業 hypere.cloud (AS 番号 200636) は、英国ロンドンの元のデータ セン...
ビジネスアプリケーションを作成するプログラマーの多くは、実際の開発で Redis を使用する際に S...
Nofollow タグは皆さんもよくご存知だと思います。ウェブマスターがウェブサイト上の特定のコンテ...
SEO メトリクスとは何ですか? ページ評価要因とどう違うのですか? 基本的に、SEO メトリクスは...
9月28日、百度スマートクラウド2021「クラウドインテリジェンステクノロジーフォーラム」インテリジ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますインターネ...
Justhost は、ロシアの DataLine データセンターのルーティングが大幅に最適化され、当...
SEO に直面すると、多くの人が戸惑います。始め方がわからない人、理解できないと思う人、一生懸命努力...
[51CTO.com クイック翻訳] 2年前、インテルはFPGAチップメーカーのアルテラを買収するた...
ウェブサイトのSEO最適化を行う際、ホームページとコアキーワードから始める傾向があり、内部ページのキ...
中国の旧正月が近づいてきました。これはすべての中国人にとって大きなイベントであり、祭りの勢いを利用し...
SEO の 3 つの鍵は、コンテンツ、プロモーション、ユーザー エクスペリエンスです。プロモーション...
2017 年 9 月 4 日、EasyStor は新しい会議室で、エンタープライズ クラウドおよび仮...