4.2. レシーバー


レシーバーはデータを Collector に入れます。レシーバーはプッシュベースまたはプルベースにすることができます。通常、レシーバーは指定された形式のデータを受け入れて内部形式に変換し、それを適用可能なパイプラインで定義されるプロセッサーおよびエクスポーターに渡します。デフォルトでは、レシーバーは設定されていません。1 つまたは複数のレシーバーを設定する必要があります。レシーバーは 1 つ以上のデータソースをサポートします。

現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのレシーバーが利用可能です。

4.2.1. OTLP Receiver

OTLP Receiver は、OpenTelemetry Protocol (OTLP) を使用してトレース、メトリクス、およびログを取り込みます。

OTLP Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317 
1

            tls: 
2

              ca_file: ca.pem
              cert_file: cert.pem
              key_file: key.pem
              client_ca_file: client.pem 
3

              reload_interval: 1h 
4

          http:
            endpoint: 0.0.0.0:4318 
5

            tls: {} 
6


    service:
      pipelines:
        traces:
          receivers: [otlp]
        metrics:
          receivers: [otlp]
# ...
Copy to Clipboard Toggle word wrap

1
OTLP gRPC エンドポイント。省略した場合、デフォルトの 0.0.0.0:4317 が使用されます。
2
サーバー側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS は無効になります。
3
サーバーがクライアント証明書を検証する TLS 証明書へのパス。これにより、TLSConfigClientCAs および ClientAuth の値が RequireAndVerifyClientCert に設定されます。詳細は、Config of the Golang TLS package を参照してください。
4
証明書をリロードする間隔を指定します。この値が設定されていない場合、証明書はリロードされません。reload_interval フィールドは、nsusmssmh などの有効な時間単位が含まれる文字列を受け入れます。
5
OTLP HTTP エンドポイント。デフォルト値は 0.0.0.0:4318 です。
6
サーバー側の TLS 設定。詳細は、grpc プロトコル設定セクションを参照してください。

4.2.2. Jaeger Receiver

Jaeger Receiver は、Jaeger 形式でトレースを取り込みます。

Jaeger Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      jaeger:
        protocols:
          grpc:
            endpoint: 0.0.0.0:14250 
1

          thrift_http:
            endpoint: 0.0.0.0:14268 
2

          thrift_compact:
            endpoint: 0.0.0.0:6831 
3

          thrift_binary:
            endpoint: 0.0.0.0:6832 
4

          tls: {} 
5


    service:
      pipelines:
        traces:
          receivers: [jaeger]
# ...
Copy to Clipboard Toggle word wrap

1
Jaeger gRPC エンドポイント。省略した場合、デフォルトの 0.0.0.0:14250 が使用されます。
2
Jaeger Thrift HTTP エンドポイント。省略した場合、デフォルトの 0.0.0.0:14268 が使用されます。
3
Jaeger Thrift Compact エンドポイント。省略した場合、デフォルトの 0.0.0.0:6831 が使用されます。
4
Jaeger Thrift Binary エンドポイント。省略した場合、デフォルトの 0.0.0.0:6832 が使用されます。
5
サーバー側の TLS 設定。詳細は、OTLP Receiver 設定セクションを参照してください。

4.2.3. Host Metrics Receiver

Host Metrics Receiver は、OTLP 形式でメトリクスを取り込みます。

Host Metrics Receiver が有効になっている OpenTelemetry Collector カスタムリソース

apiVersion: v1
kind: ServiceAccount
metadata:
  name: otel-hostfs-daemonset
  namespace: <namespace>
# ...
---
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
allowHostDirVolumePlugin: true
allowHostIPC: false
allowHostNetwork: false
allowHostPID: true
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: true
allowedCapabilities: null
defaultAddCapabilities:
- SYS_ADMIN
fsGroup:
  type: RunAsAny
groups: []
metadata:
  name: otel-hostmetrics
readOnlyRootFilesystem: true
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: RunAsAny
supplementalGroups:
  type: RunAsAny
users:
- system:serviceaccount:<namespace>:otel-hostfs-daemonset
volumes:
- configMap
- emptyDir
- hostPath
- projected
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel
  namespace: <namespace>
spec:
  serviceAccount: otel-hostfs-daemonset
  mode: daemonset
  volumeMounts:
    - mountPath: /hostfs
      name: host
      readOnly: true
  volumes:
    - hostPath:
        path: /
      name: host
  config:
    receivers:
      hostmetrics:
        collection_interval: 10s 
1

        initial_delay: 1s 
2

        root_path: / 
3

        scrapers: 
4

          cpu: {}
          memory: {}
          disk: {}
    service:
      pipelines:
        metrics:
          receivers: [hostmetrics]
# ...
Copy to Clipboard Toggle word wrap

1
ホストメトリクス収集の時間間隔を設定します。省略した場合、デフォルト値は 1m です。
2
ホストメトリクス収集の初期時間遅延を設定します。省略した場合、デフォルト値は 1s です。
3
Host Metrics Receiver がルートファイルシステムの場所を認識できるように、root_path を設定します。Host Metrics Receiver のインスタンスを複数実行する場合は、各インスタンスに同じ root_path 値を設定します。
4
有効なホストメトリクススクレーパーをリストします。使用可能なスクレーパーは、cpudiskloadfilesystemmemorynetworkpagingprocesses、および process です。

4.2.4. Kubernetes Objects Receiver

Kubernetes Objects Receiver は、Kubernetes API サーバーから収集されるオブジェクトをプルまたは監視します。このレシーバーは、主に Kubernetes イベントを監視しますが、あらゆる種類の Kubernetes オブジェクトを収集できます。このレシーバーはクラスター全体のテレメトリーを収集するため、すべてのデータを収集するにはこのレシーバーのインスタンスが 1 つあれば十分です。

重要

Kubernetes Objects Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Kubernetes Objects Receiver が有効になっている OpenTelemetry Collector カスタムリソース

apiVersion: v1
kind: ServiceAccount
metadata:
  name: otel-k8sobj
  namespace: <namespace>
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-k8sobj
  namespace: <namespace>
rules:
- apiGroups:
  - ""
  resources:
  - events
  - pods
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - "events.k8s.io"
  resources:
  - events
  verbs:
  - watch
  - list
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otel-k8sobj
subjects:
  - kind: ServiceAccount
    name: otel-k8sobj
    namespace: <namespace>
roleRef:
  kind: ClusterRole
  name: otel-k8sobj
  apiGroup: rbac.authorization.k8s.io
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel-k8s-obj
  namespace: <namespace>
spec:
  serviceAccount: otel-k8sobj
  mode: deployment
  config:
    receivers:
      k8sobjects:
        auth_type: serviceAccount
        objects:
          - name: pods 
1

            mode: pull 
2

            interval: 30s 
3

            label_selector: 
4

            field_selector: 
5

            namespaces: [<namespace>,...] 
6

          - name: events
            mode: watch
    exporters:
      debug:
    service:
      pipelines:
        logs:
          receivers: [k8sobjects]
          exporters: [debug]
# ...
Copy to Clipboard Toggle word wrap

1
このレシーバーが監視するリソース名。たとえば、podsdeploymentsevents などです。
2
このレシーバーが使用する観測モード。pull または watch です。
3
プルモードにのみ適用されます。オブジェクトをプルする要求の間隔です。省略した場合、デフォルト値は 1h です。
4
ターゲットを定義するためのラベルセレクター。
5
ターゲットをフィルタリングするためのフィールドセレクター。
6
イベントを収集する namespace のリスト。省略した場合、デフォルト値は all です。

4.2.5. Kubelet Stats Receiver

Kubelet Stats Receiver は、kubelet の API サーバーからノード、Pod、コンテナー、ボリュームに関連するメトリクスを抽出します。これらのメトリクスは、さらなる分析のためにメトリクス処理パイプラインに送られます。

Kubelet Stats Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      kubeletstats:
        collection_interval: 20s
        auth_type: "serviceAccount"
        endpoint: "https://${env:K8S_NODE_NAME}:10250"
        insecure_skip_verify: true
    service:
      pipelines:
        metrics:
          receivers: [kubeletstats]
  env:
    - name: K8S_NODE_NAME 
1

      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName
# ...
Copy to Clipboard Toggle word wrap

1
API に認証するために K8S_NODE_NAME を設定します。

Kubelet Stats Receiver には、OpenTelemetry Collector の実行に使用されるサービスアカウントに対する追加の権限が必要です。

サービスアカウントに必要な権限

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-collector
rules:
  - apiGroups: ['']
    resources: ['nodes/stats']
    verbs: ['get', 'watch', 'list']
  - apiGroups: [""]
    resources: ["nodes/proxy"] 
1

    verbs: ["get"]
# ...
Copy to Clipboard Toggle word wrap

1
extra_metadata_labels または request_utilization または limit_utilization メトリクスを使用するときに必要な権限。

4.2.6. Prometheus Receiver

Prometheus Receiver はメトリクスエンドポイントをスクレイプします。

Prometheus Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
        prometheus:
          config:
            scrape_configs: 
1

              - job_name: 'my-app'  
2

                scrape_interval: 5s 
3

                static_configs:
                  - targets: ['my-app.example.svc.cluster.local:8888'] 
4

    service:
      pipelines:
        metrics:
          receivers: [prometheus]
# ...
Copy to Clipboard Toggle word wrap

1
Prometheus 形式を使用して設定をスクレイプします。
2
Prometheus のジョブ名。
3
メトリクスデータをスクレイプする間隔。時間単位を受け入れます。デフォルト値は 1m です。
4
メトリクスが公開されるターゲット。この例では、example プロジェクトの my-app アプリケーションからメトリクスをスクレイプします。

4.2.7. OTLP JSON File Receiver

OTLP JSON File Receiver は、OpenTelemetry Protocol 仕様に準拠した、ProtoJSON 形式のデータを含むファイルからパイプライン情報を抽出します。処理対象ファイルの作成や修正などの変更がないか、指定されたディレクトリーを監視します。

重要

OTLP JSON File Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

OTLP JSON File Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    otlpjsonfile:
      include:
        - "/var/log/*.log" 
1

      exclude:
        - "/var/log/test.log" 
2

# ...
Copy to Clipboard Toggle word wrap

1
監視するファイルパスの glob パターンのリスト。
2
無視するファイルパスの glob パターンのリスト。

4.2.8. Zipkin Receiver

Zipkin Receiver は、Zipkin v1 および v2 形式でトレースを取り込みます。

Zipkin Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      zipkin:
        endpoint: 0.0.0.0:9411 
1

        tls: {} 
2

    service:
      pipelines:
        traces:
          receivers: [zipkin]
# ...
Copy to Clipboard Toggle word wrap

1
Zipkin HTTP エンドポイント。省略した場合、デフォルトの 0.0.0.0:9411 が使用されます。
2
サーバー側の TLS 設定。詳細は、OTLP Receiver 設定セクションを参照してください。

4.2.9. Kafka Receiver

Kafka Receiver は、Kafka からトレース、メトリクス、ログを OTLP 形式で受信します。

重要

Kafka Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Kafka Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      kafka:
        brokers: ["localhost:9092"] 
1

        protocol_version: 2.0.0 
2

        topic: otlp_spans 
3

        auth:
          plain_text: 
4

            username: example
            password: example
          tls: 
5

            ca_file: ca.pem
            cert_file: cert.pem
            key_file: key.pem
            insecure: false 
6

            server_name_override: kafka.example.corp 
7

    service:
      pipelines:
        traces:
          receivers: [kafka]
# ...
Copy to Clipboard Toggle word wrap

1
Kafka ブローカーのリスト。デフォルトは localhost:9092 です。
2
Kafka プロトコルのバージョン。たとえば、2.0.0 などです。これは必須フィールドです。
3
読み取り元の Kafka トピックの名前。デフォルトは otlp_spans です。
4
プレーンテキスト認証設定。省略した場合、プレーンテキスト認証は無効になります。
5
クライアント側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS 認証は無効になります。
6
サーバーの証明書チェーンとホスト名の検証を無効にします。デフォルトは false です。
7
ServerName は、仮想ホスティングをサポートするためにクライアントによって要求されたサーバーの名前を示します。

4.2.10. Kubernetes Cluster Receiver

Kubernetes Cluster Receiver は、Kubernetes API サーバーからクラスターメトリクスとエンティティーイベントを収集します。このレシーバーは、Kubernetes API を使用して更新に関する情報を受信します。このレシーバーの認証は、サービスアカウントを通じてのみサポートされます。

重要

Kubernetes Cluster Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Kubernetes Cluster Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      k8s_cluster:
        distribution: openshift
        collection_interval: 10s
    exporters:
      debug: {}
    service:
      pipelines:
        metrics:
          receivers: [k8s_cluster]
          exporters: [debug]
        logs/entity_events:
          receivers: [k8s_cluster]
          exporters: [debug]
# ...
Copy to Clipboard Toggle word wrap

このレシーバーには、設定済みのサービスアカウント、クラスターロールの RBAC ルール、および RBAC をサービスアカウントにバインドするクラスターロールバインディングが必要です。

ServiceAccount オブジェクト

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app: otelcontribcol
  name: otelcontribcol
# ...
Copy to Clipboard Toggle word wrap

ClusterRole オブジェクトの RBAC ルール

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otelcontribcol
  labels:
    app: otelcontribcol
rules:
- apiGroups:
  - quota.openshift.io
  resources:
  - clusterresourcequotas
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - events
  - namespaces
  - namespaces/status
  - nodes
  - nodes/spec
  - pods
  - pods/status
  - replicationcontrollers
  - replicationcontrollers/status
  - resourcequotas
  - services
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - daemonsets
  - deployments
  - replicasets
  - statefulsets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - replicasets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - batch
  resources:
  - jobs
  - cronjobs
  verbs:
  - get
  - list
  - watch
- apiGroups:
    - autoscaling
  resources:
    - horizontalpodautoscalers
  verbs:
    - get
    - list
    - watch
# ...
Copy to Clipboard Toggle word wrap

ClusterRoleBinding オブジェクト

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otelcontribcol
  labels:
    app: otelcontribcol
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: otelcontribcol
subjects:
- kind: ServiceAccount
  name: otelcontribcol
  namespace: default
# ...
Copy to Clipboard Toggle word wrap

4.2.11. OpenCensus Receiver

OpenCensus Receiver は、OpenCensus プロジェクトとの下位互換性を提供し、計装済みのコードベースの移行を容易にします。gRPC または HTTP および JSON を介して OpenCensus 形式でメトリクスとトレースを受信します。

警告

OpenCensus Receiver が非推奨になり、今後のリリースで削除される可能性があります。

OpenCensus Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      opencensus:
        endpoint: 0.0.0.0:9411 
1

        tls: 
2

        cors_allowed_origins: 
3

          - https://*.<example>.com
    service:
      pipelines:
        traces:
          receivers: [opencensus]
# ...
Copy to Clipboard Toggle word wrap

1
OpenCensus エンドポイント。省略した場合、デフォルトは 0.0.0.0:55678 です。
2
サーバー側の TLS 設定。詳細は、OTLP Receiver 設定セクションを参照してください。
3
HTTP JSON エンドポイントを使用して、オプションで CORS を設定することもできます。これは、このフィールドで許可される CORS オリジンのリストを指定することで有効になります。* を含むワイルドカードは、cors_allowed_origins で受け入れられます。任意のオリジンと一致させるには、* のみを入力します。

4.2.12. Filelog Receiver

Filelog Receiver はファイルからログを追跡して解析します。

重要

Filelog Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

テキストファイルを追跡する Filelog Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      filelog:
        include: [ /simple.log ] 
1

        operators: 
2

          - type: regex_parser
            regex: '^(?P<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (?P<sev>[A-Z]*) (?P<msg>.*)$'
            timestamp:
              parse_from: attributes.time
              layout: '%Y-%m-%d %H:%M:%S'
            severity:
              parse_from: attributes.sev
# ...
Copy to Clipboard Toggle word wrap

1
読み取り対象のファイルパスにマッチするファイル glob パターンのリスト。
2
演算子の配列。各演算子は、タイムスタンプや JSON の解析などの単純なタスクを実行します。必要な形式へのログインを処理するには、演算子をチェーンします。

このレシーバーを使用して、次の 2 つの方法のいずれかで Pod ファイルシステムからログを収集できます。

  • アプリケーション Pod と一緒に実行されるサイドカーコンテナーでレシーバーを設定します。
  • Kubernetes ログにアクセスするための適切なパーミッションを持つホストマシンにレシーバーを DaemonSet としてデプロイ。

アプリケーションコンテナーからログを収集するには、サイドカーインジェクションでこのレシーバーを使用できます。Red Hat build of OpenTelemetry Operator を使用すると、OpenTelemetry Collector をサイドカーコンテナーとしてアプリケーション Pod に挿入できます。このアプローチは、アプリケーションがコンテナーファイルシステム内のファイルにログを書き込む場合に便利です。次に、このレシーバーはログファイルを調整し、演算子を適用してログを解析できます。

このレシーバーをサイドカーモードで使用してアプリケーションコンテナーからログを収集するには、OpenTelemetryCollector カスタムリソースでボリュームマウントを設定する必要があります。アプリケーションコンテナーとサイドカー Collector の両方が、emptyDir などの同じ共有ボリュームをマウントする必要があります。アプリケーションの Pod 仕様でボリュームを定義します。以下の例を参照してください。

サイドカーモードで設定された Filelog Receiver が含まれる OpenTelemetry Collector カスタムリソース

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: filelog
  namespace: otel-logging
spec:
  mode: sidecar
  volumeMounts: 
1

  - name: logs
    mountPath: /var/log/app
  config:
    receivers:
      filelog:
        include: 
2

        - /var/log/app/*.log
        operators:
        - type: regex_parser
          regex: '^(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[(?P<level>\w+)\] (?P<message>.*)$'
          timestamp:
            parse_from: attributes.timestamp
            layout: '%Y-%m-%d %H:%M:%S'
    processors: {}
    exporters:
      debug:
        verbosity: detailed
    service:
      pipelines:
        logs:
          receivers: [filelog]
          processors: []
          exporters: [debug]
Copy to Clipboard Toggle word wrap

1
サイドカーコレクターがターゲットログファイルにアクセスするために使用するボリュームマウントを定義します。このボリュームは、アプリケーションのデプロイメントで定義されたボリューム名と一致する必要があります。
2
ログファイルを調整するためのファイル glob パターンを指定します。このレシーバーは、これらのパスに新しいログエントリーの有無を監視します。

4.2.13. Journald Receiver

Journald Receiver は、systemd ジャーナルから journald イベントを解析し、ログとして送信します。

重要

Journald Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Journald Receiver が有効になっている OpenTelemetry Collector カスタムリソース

apiVersion: v1
kind: Namespace
metadata:
  name: otel-journald
  labels:
    security.openshift.io/scc.podSecurityLabelSync: "false"
    pod-security.kubernetes.io/enforce: "privileged"
    pod-security.kubernetes.io/audit: "privileged"
    pod-security.kubernetes.io/warn: "privileged"
# ...
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: privileged-sa
  namespace: otel-journald
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otel-journald-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:openshift:scc:privileged
subjects:
- kind: ServiceAccount
  name: privileged-sa
  namespace: otel-journald
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel-journald-logs
  namespace: otel-journald
spec:
  mode: daemonset
  serviceAccount: privileged-sa
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - FSETID
      - KILL
      - NET_BIND_SERVICE
      - SETGID
      - SETPCAP
      - SETUID
    readOnlyRootFilesystem: true
    seLinuxOptions:
      type: spc_t
    seccompProfile:
      type: RuntimeDefault
  config:
    receivers:
      journald:
        files: /var/log/journal/*/*
        priority: info 
1

        units: 
2

          - kubelet
          - crio
          - init.scope
          - dnsmasq
        all: true 
3

        retry_on_failure:
          enabled: true 
4

          initial_interval: 1s 
5

          max_interval: 30s 
6

          max_elapsed_time: 5m 
7

    processors:
    exporters:
      debug: {}
    service:
      pipelines:
        logs:
          receivers: [journald]
          exporters: [debug]
  volumeMounts:
  - name: journal-logs
    mountPath: /var/log/journal/
    readOnly: true
  volumes:
  - name: journal-logs
    hostPath:
      path: /var/log/journal
  tolerations:
  - key: node-role.kubernetes.io/master
    operator: Exists
    effect: NoSchedule
# ...
Copy to Clipboard Toggle word wrap

1
メッセージの優先度または優先度の範囲で出力をフィルタリングします。デフォルト値は info です。
2
エントリーの読み取り元のユニットをリストします。空の場合、すべてのユニットからエントリーが読み取られます。
3
非常に長いログや出力できない文字を含むログを含めます。デフォルト値は false です。
4
true に設定すると、ダウンストリームのコンポーネントからエラーが発生した場合に、レシーバーがファイルの読み取りを一時停止し、現在のログのバッチを再送信しようとします。デフォルト値は false です。
5
最初の失敗から再試行するまで待機する時間の間隔。デフォルト値は 1s です。単位は mssmh です。
6
再試行バックオフ間隔の上限。この値に達すると、その後の再試行間の間隔がこの値で一定に保たれます。デフォルト値は 30s です。サポートされている単位は mssmh です。
7
ログバッチをダウンストリームのコンシューマーに送信する試行の最大時間間隔 (再試行を含む)。この値に達すると、データが破棄されます。設定値が 0 の場合、再試行が停止しません。デフォルト値は 5m です。サポートされている単位は mssmh です。

4.2.14. Kubernetes Events Receiver

Kubernetes Events Receiver は、Kubernetes API サーバーからイベントを収集します。収集されたイベントはログに変換されます。

重要

Kubernetes Events Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Kubernetes Events Receiver に必要な OpenShift Container Platform の権限

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-collector
  labels:
    app: otel-collector
rules:
- apiGroups:
  - ""
  resources:
  - events
  - namespaces
  - namespaces/status
  - nodes
  - nodes/spec
  - pods
  - pods/status
  - replicationcontrollers
  - replicationcontrollers/status
  - resourcequotas
  - services
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - daemonsets
  - deployments
  - replicasets
  - statefulsets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - replicasets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - batch
  resources:
  - jobs
  - cronjobs
  verbs:
  - get
  - list
  - watch
- apiGroups:
    - autoscaling
  resources:
    - horizontalpodautoscalers
  verbs:
    - get
    - list
    - watch
# ...
Copy to Clipboard Toggle word wrap

Kubernetes Event Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  serviceAccount: otel-collector 
1

  config:
    receivers:
      k8s_events:
        namespaces: [project1, project2] 
2

    service:
      pipelines:
        logs:
          receivers: [k8s_events]
# ...
Copy to Clipboard Toggle word wrap

1
必要な ClusterRole otel-collector RBAC を持つ Collector のサービスアカウント。
2
イベントを収集する namespace のリスト。デフォルト値は空です。その場合、すべての namespace が収集されます。

4.2.15. Prometheus Remote Write Receiver

Prometheus Remote Write Receiver は、Remote Write プロトコルを使用して Prometheus からメトリクスを受信し、それらを OpenTelemetry 形式に変換します。このレシーバーは Prometheus Remote Write v2 プロトコルのみをサポートします。

重要

Prometheus Remote Write Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、以下のリンクを参照してください。

Prometheus Remote Write Receiver が有効になっている OpenTelemetry Collector カスタムリソース

# ...
  config:
    receivers:
      prometheusremotewrite:
        endpoint: 0.0.0.0:9090 
1

    # ...
    service:
      pipelines:
        metrics:
          receivers: [prometheusremotewrite]
# ...
Copy to Clipboard Toggle word wrap

1
受信側が Prometheus リモート書き込み要求をリッスンするエンドポイント。

以下は、Prometheus でこのレシーバーを使用するための前提条件です。

  • Prometheus は、メタデータ WAL レコード機能フラグを有効にして開始されます。
  • Prometheus リモート書き込み v2 プロトコル が Prometheus リモート書き込み設定で有効になっている。
  • ネイティブヒストグラムは、機能フラグを使用して Prometheus で有効になります。
  • Prometheus は、従来のヒストグラムをネイティブのヒストグラムに変換するように設定されています。

これらの Prometheus 機能の有効化についての詳細は、Prometheus のドキュメント を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat