トレース、ログ、およびメトリクスを Collector に送信する
サイドカーインジェクションを使用して Telemetry データを送信するようにアプリケーションを設定する
概要
第1章 OpenTelemetry Collector へのトレース、ログ、メトリクスの送信 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ビルドの OpenTelemetry を設定して使用し、トレース、ログ、メトリクスを OpenTelemetry Collector または TempoStack インスタンスに送信できます。
OpenTelemetry Collector へのトレースとメトリクスの送信は、サイドカー注入の有無にかかわらず可能です。
1.1. サイドカー注入を使用してトレースとメトリクスを OpenTelemetry Collector に送信する リンクのコピーリンクがクリップボードにコピーされました!
サイドカー注入を使用して、OpenTelemetry Collector インスタンスへのテレメトリーデータの送信をセットアップできます。
Red Hat build of OpenTelemetry Operator では、デプロイメントワークロードへのサイドカー注入と、OpenTelemetry Collector にテレメトリーデータを送信するための計装の自動設定が可能です。
前提条件
- Red Hat OpenShift distributed tracing platform (Tempo) がインストールされ、TempoStack インスタンスがデプロイされている。
Web コンソールまたは OpenShift CLI (
oc) を使用してクラスターにアクセスできる。-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。 -
Red Hat OpenShift Dedicated を使用する場合は
dedicated-adminロールを持つアカウント。
-
手順
OpenTelemetry Collector インスタンスのプロジェクトを作成します。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecar namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecar namespace: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow k8sattributesおよびresourcedetectionプロセッサーの権限をサービスアカウントに付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetry Collector をサイドカーとしてデプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
<example>Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
-
otel-collector-sidecarサービスアカウントを使用してデプロイメントを作成します。 -
sidecar.opentelemetry.io/inject: "true"アノテーションをDeploymentオブジェクトに追加します。これにより、ワークロードから OpenTelemetry Collector インスタンスにデータを送信するために必要なすべての環境変数が注入されます。
1.2. サイドカー注入を使用せずにトレースとメトリクスを OpenTelemetry Collector に送信する リンクのコピーリンクがクリップボードにコピーされました!
サイドカー注入を使用せずに、テレメトリーデータを OpenTelemetry Collector インスタンスに送信するようにセットアップできます。これには、いくつかの環境変数を手動で設定する必要があります。
前提条件
- Red Hat OpenShift distributed tracing platform (Tempo) がインストールされ、TempoStack インスタンスがデプロイされている。
Web コンソールまたは OpenShift CLI (
oc) を使用してクラスターにアクセスできる。-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。 -
Red Hat OpenShift Dedicated を使用する場合は
dedicated-adminロールを持つアカウント。
-
手順
OpenTelemetry Collector インスタンスのプロジェクトを作成します。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow k8sattributesおよびresourcedetectionプロセッサーの権限をサービスアカウントに付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetryCollectorカスタムリソースを使用して OpenTelemetry Collector インスタンスをデプロイします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
<example>Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
計装されたアプリケーションを使用してコンテナーに環境変数を設定します。
Expand 名前 説明 デフォルト値 OTEL_SERVICE_NAMEservice.nameリソース属性の値を設定します。""OTEL_EXPORTER_OTLP_ENDPOINTオプションで指定したポート番号を持つシグナル型のベースエンドポイント URL。
https://localhost:4317OTEL_EXPORTER_OTLP_CERTIFICATEgRPC クライアントの TLS 認証情報の証明書ファイルへのパス。
https://localhost:4317OTEL_TRACES_SAMPLERトレースに使用されるサンプラー。
parentbased_always_onOTEL_EXPORTER_OTLP_PROTOCOLOTLP エクスポーターのトランスポートプロトコル。
grpcOTEL_EXPORTER_OTLP_TIMEOUTOTLP エクスポーターが各バッチエクスポートを待機する最大時間間隔。
10sOTEL_EXPORTER_OTLP_INSECUREgRPC リクエストのクライアントトランスポートセキュリティーを無効にします。HTTPS スキーマはこれをオーバーライドします。
False