第4章 Collector の設定


4.1. Collector の設定

Red Hat build of OpenTelemetry Operator は、Red Hat build of OpenTelemetry リソースを作成およびデプロイするときに使用されるアーキテクチャーと設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールすることも、ファイルを変更することもできます。

4.1.1. デプロイメントモード

OpenTelemetryCollector カスタムリソースを使用すると、OpenTelemetry Collector の次のいずれかのデプロイメントモードを指定できます。

Deployment
デフォルトです。
StatefulSet
Collector の File Storage Extension または Tail Sampling Processor を使用する場合など、ステートフルワークロードを実行する必要がある場合は、StatefulSet デプロイメントモードを使用します。
DaemonSet
たとえば、Collector の Filelog Receiver を使用してコンテナーログを読み取るなど、すべてのノードからテレメトリーデータをスクレイプする必要がある場合は、DaemonSet デプロイメントモードを使用します。
サイドカー

コンテナー内のログファイルにアクセスする必要がある場合は、Collector をサイドカーとして注入し、Collector の Filelog Receiver と emptyDir などの共有ボリュームを使用します。

アプリケーションがテレメトリーデータを localhost 経由で送信するように設定する必要がある場合は、Collector をサイドカーとして注入し、暗号化かつ認証された接続を介してテレメトリーデータを外部サービスに転送するように Collector をセットアップします。サイドカーとして注入されると、Collector はアプリケーションと同じ Pod で実行されます。

注記

サイドカーデプロイメントモードを選択した場合は、OpenTelemetryCollector カスタムリソース CR で spec.mode: sidecar フィールドを設定することに加えて、Pod アノテーションまたは namespace アノテーションとして sidecar.opentelemetry.io/inject アノテーションも設定する必要があります。このアノテーションを Pod と namespace の両方に設定すると、false または OpenTelemetryCollector CR 名のいずれかに設定されている場合は、Pod アノテーションが優先されます。

Pod アノテーションとして、sidecar.opentelemetry.io/inject アノテーションはいくつかの値をサポートしています。

apiVersion: v1
kind: Pod
metadata:
  ...
  annotations:
    sidecar.opentelemetry.io/inject: "<supported_value>" 
1

...
Copy to Clipboard Toggle word wrap
1
サポートされる値:
false
Collector を注入しません。アノテーションがない場合、これがデフォルトになります。
true
同じ namespace 内の OpenTelemetryCollector CR の設定を Collector に注入します。
<collector_name>
同じ namespace 内の <collector_name> OpenTelemetryCollector CR の設定を Collector に注入します。
<namespace>/<collector_name>
<namespace> namespace 内の <collector_name> OpenTelemetryCollector CR の設定を Collector に注入します。

4.1.2. OpenTelemetry Collector 設定オプション

OpenTelemetry Collector は、テレメトリーデータにアクセスする 5 種類のコンポーネントで構成されます。

  • レシーバー
  • プロセッサー
  • エクスポーター
  • コネクター
  • 拡張機能

カスタムリソース YAML ファイルで、コンポーネントのインスタンスを複数定義できます。コンポーネントは、設定した後に YAML ファイルの spec.config.service セクションで定義されたパイプラインで有効にする必要があります。ベストプラクティスとしては、必要なコンポーネントのみを有効にします。

OpenTelemetry Collector カスタムリソースファイルの例

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: cluster-collector
  namespace: tracing-system
spec:
  mode: deployment
  observability:
    metrics:
      enableMetrics: true
  config:
    receivers:
      otlp:
        protocols:
          grpc: {}
          http: {}
    processors: {}
    exporters:
      otlp:
        endpoint: otel-collector-headless.tracing-system.svc:4317
        tls:
          ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt"
      prometheus:
        endpoint: 0.0.0.0:8889
        resource_to_telemetry_conversion:
          enabled: true # by default resource attributes are dropped
    service: 
1

      pipelines:
        traces:
          receivers: [otlp]
          processors: []
          exporters: [otlp]
        metrics:
          receivers: [otlp]
          processors: []
          exporters: [prometheus]
Copy to Clipboard Toggle word wrap

1
コンポーネントが設定されていても、service セクションで定義されていない場合、そのコンポーネントは有効になりません。
Expand
表4.1 Operator が OpenTelemetry Collector を定義するために使用するパラメーター
パラメーター説明デフォルト
receivers:
Copy to Clipboard Toggle word wrap

レシーバーは、データが Collector に到達する方法です。デフォルトでは、レシーバーは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なレシーバーが必要です。レシーバーは、パイプラインに追加して有効にされます。

otlpjaegerprometheuszipkinkafkaopencensus

なし

processors:
Copy to Clipboard Toggle word wrap

プロセッサーは、受信したデータをエクスポートする前に処理します。デフォルトでは、プロセッサーは有効になっていません。

batchmemory_limiterresourcedetectionattributesspank8sattributesfilterrouting

なし

exporters:
Copy to Clipboard Toggle word wrap

エクスポーターは、1 つ以上のバックエンドまたは宛先にデータを送信します。デフォルトでは、エクスポーターは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なエクスポーターが必要です。エクスポーターは、パイプラインに追加して有効にされます。エクスポーターはデフォルト設定で使用できますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要です。

otlpotlphttpdebugprometheuskafka

なし

connectors:
Copy to Clipboard Toggle word wrap

コネクターはパイプラインのペアを結合します。つまり、パイプラインの終わりのエクスポーターとしてデータを消費し、パイプラインの始まりのレシーバーとしてデータを出力します。コネクターを使用して、消費されたデータを要約、複製、またはルーティングできます。

spanmetrics

なし

extensions:
Copy to Clipboard Toggle word wrap

テレメトリーデータの処理を含まないタスク用のオプションのコンポーネント。

bearertokenauthoauth2clientjaegerremotesamplingpprofhealth_checkmemory_ballastzpages

なし

service:
  pipelines:
Copy to Clipboard Toggle word wrap

コンポーネントは、それらを services.pipeline セクションのパイプラインに追加して有効にされます。

  
service:
  pipelines:
    traces:
      receivers:
Copy to Clipboard Toggle word wrap

レシーバーは、それらを service.pipelines.traces セクションに追加してトレース用に有効にします。

 

なし

service:
  pipelines:
    traces:
      processors:
Copy to Clipboard Toggle word wrap

プロセッサーは、それらを service.pipelines.traces セクションに追加してトレース用に有効にします。

 

なし

service:
  pipelines:
    traces:
      exporters:
Copy to Clipboard Toggle word wrap

エクスポーターは、それらを service.pipelines.traces セクションに追加してトレース用に有効にします。

 

なし

service:
  pipelines:
    metrics:
      receivers:
Copy to Clipboard Toggle word wrap

メトリクスのレシーバーを有効にするには、service.pipelines.metrics の下に追加します。

 

なし

service:
  pipelines:
    metrics:
      processors:
Copy to Clipboard Toggle word wrap

メトリクスのプロセッサーを有効にするには、service.pipelines.metrics の下に追加します。

 

なし

service:
  pipelines:
    metrics:
      exporters:
Copy to Clipboard Toggle word wrap

メトリクスのエクスポーターを有効にするには、service.pipelines.metrics の下に追加します。

 

なし

4.1.3. 必要な RBAC リソースの自動作成

一部の Collector コンポーネントは、RBAC リソースの設定を必要とします。

手順

  • Red Hat build of OpenTelemetry Operator が権限を自動的に作成できるように、opentelemetry-operator-controller-manage サービスアカウントに次の権限を追加します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: generate-processors-rbac
    rules:
    - apiGroups:
      - rbac.authorization.k8s.io
      resources:
      - clusterrolebindings
      - clusterroles
      verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: generate-processors-rbac
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: generate-processors-rbac
    subjects:
    - kind: ServiceAccount
      name: opentelemetry-operator-controller-manager
      namespace: openshift-opentelemetry-operator
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat