第5章 Red Hat build of OpenTelemetry の使用
Red Hat build of OpenTelemetry をセットアップして使用し、トレースを OpenTelemetry Collector または TempoStack に送信できます。
5.1. OpenTelemetry Collector を使用してトレースを TempoStack に転送する リンクのコピーリンクがクリップボードにコピーされました!
TempoStack への転送トレースを設定するには、OpenTelemetry Collector をデプロイして設定します。指定されたプロセッサー、レシーバー、エクスポーターを使用して、OpenTelemetry Collector をデプロイメントモードでデプロイできます。その他のモードについては、関連情報 に記載されたリンクを使用して、OpenTelemetry Collector ドキュメントを参照してください。
前提条件
- Red Hat build of OpenTelemetry Operatorがインストールされている。
- Tempo Operator がインストールされている。
- TempoStack がクラスターにデプロイされている。
手順
OpenTelemetry Collector のサービスアカウントを作成します。
ServiceAccount の例
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deploymentサービスアカウントのクラスターロールを作成します。
ClusterRole の例
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: otel-collector rules:1 2 - apiGroups: ["", "config.openshift.io"] resources: ["pods", "namespaces", "infrastructures", "infrastructures/status"] verbs: ["get", "watch", "list"]クラスターロールをサービスアカウントにバインドします。
ClusterRoleBinding の例
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: otel-collector subjects: - kind: ServiceAccount name: otel-collector-deployment namespace: otel-collector-example roleRef: kind: ClusterRole name: otel-collector apiGroup: rbac.authorization.k8s.ioYAML ファイルを作成して、
OpenTelemetryCollectorカスタムリソース (CR) を定義します。OpenTelemetryCollector の例
apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: otel spec: mode: deployment serviceAccount: otel-collector-deployment config: | receivers: jaeger: protocols: grpc: thrift_binary: thrift_compact: thrift_http: opencensus: otlp: protocols: grpc: http: zipkin: processors: batch: k8sattributes: memory_limiter: check_interval: 1s limit_percentage: 50 spike_limit_percentage: 30 resourcedetection: detectors: [openshift] exporters: otlp: endpoint: "tempo-simplest-distributor:4317"1 tls: insecure: true service: pipelines: traces: receivers: [jaeger, opencensus, otlp, zipkin]2 processors: [memory_limiter, k8sattributes, resourcedetection, batch] exporters: [otlp]
tracegen をテストとしてデプロイできます。
apiVersion: batch/v1
kind: Job
metadata:
name: tracegen
spec:
template:
spec:
containers:
- name: tracegen
image: ghcr.io/open-telemetry/opentelemetry-collector-contrib/tracegen:latest
command:
- "./tracegen"
args:
- -otlp-endpoint=otel-collector:4317
- -otlp-insecure
- -duration=30s
- -workers=1
restartPolicy: Never
backoffLimit: 4