背景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 は再び「タイムアウト」したのでしょうか?
ContaboのStorage VPS(ストレージVPS、大容量ハードディスクVPS)は、すべてのデ...
今日のデジタル時代では、あらゆる規模の企業が、ビジネスの効率、柔軟性、リモート アクセス、スケーラビ...
Kubernetes では、Pod のスケジュールをより正確に制御し、クラスター内の特定のノードに割...
[[278472]] Normal 0 7.8 磅 0 2 false false false EN...
21 世紀はインターネットの新時代です。ウェブマスターにとって、インターネットは私たちの生活に統合さ...
ライブストリーミングの台頭により、ある程度、コンテンツトラフィックの収益化効率は最大化されました。し...
どのロシアの VPS が推奨されますか?ロシアのVPSとは何ですか?最も安いロシアの VPS はどれ...
Google は、ビデオ グループ チャット ソフトウェア Hangouts の導入をユーザーに促す...
Google Gmailの公式ブログによると、GoogleはGmailの画像の取り扱いに関するルール...
2 月 16 日に、「SEM の医療 PPC の、少ない労力で機能する高コンバージョン ランディング...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
春節は中国人にとって最も待ち望まれている重要な祭りです。平和と再会を象徴しています。このような伝統的...
小規模な SEO サービス企業は、人材の確保に苦労することがよくあります。これは給与と開発スペースの...
この記事はブログ記事「ウェブサイトを適切に再設計する方法」の翻訳です。内容は次のとおりです。今日のイ...
この記事の著者は、まったくの初心者で、まったくの初心者です。以下では、ブログを運営して収益を上げる方...