5.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 ロールを持つアカウント。

手順

  1. OpenTelemetry Collector インスタンスのプロジェクトを作成します。

    apiVersion: project.openshift.io/v1
    kind: Project
    metadata:
      name: observability
  2. サービスアカウントを作成します。

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: otel-collector-deployment
      namespace: observability
  3. k8sattributes および resourcedetection プロセッサーの権限をサービスアカウントに付与します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: otel-collector
    rules:
    - apiGroups: ["", "config.openshift.io"]
      resources: ["pods", "namespaces", "infrastructures", "infrastructures/status"]
      verbs: ["get", "watch", "list"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: otel-collector
    subjects:
    - kind: ServiceAccount
      name: otel-collector-deployment
      namespace: observability
    roleRef:
      kind: ClusterRole
      name: otel-collector
      apiGroup: rbac.authorization.k8s.io
  4. OpenTelemetryCollector カスタムリソースを使用して OpenTelemetry Collector インスタンスをデプロイします。

    apiVersion: opentelemetry.io/v1beta1
    kind: OpenTelemetryCollector
    metadata:
      name: otel
      namespace: observability
    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-<example>-distributor:4317" 1
            tls:
              insecure: true
        service:
          pipelines:
            traces:
              receivers: [jaeger, opencensus, otlp, zipkin]
              processors: [memory_limiter, k8sattributes, resourcedetection, batch]
              exporters: [otlp]
    1
    これは、<example> Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
  5. 計装されたアプリケーションを使用してコンテナーに環境変数を設定します。

    名前説明デフォルト値

    OTEL_SERVICE_NAME

    service.name リソース属性の値を設定します。

    ""

    OTEL_EXPORTER_OTLP_ENDPOINT

    オプションで指定したポート番号を持つシグナル型のベースエンドポイント URL。

    https://localhost:4317

    OTEL_EXPORTER_OTLP_CERTIFICATE

    gRPC クライアントの TLS 認証情報の証明書ファイルへのパス。

    https://localhost:4317

    OTEL_TRACES_SAMPLER

    トレースに使用されるサンプラー。

    parentbased_always_on

    OTEL_EXPORTER_OTLP_PROTOCOL

    OTLP エクスポーターのトランスポートプロトコル。

    grpc

    OTEL_EXPORTER_OTLP_TIMEOUT

    OTLP エクスポーターが各バッチエクスポートを待機する最大時間間隔。

    10s

    OTEL_EXPORTER_OTLP_INSECURE

    gRPC リクエストのクライアントトランスポートセキュリティーを無効にします。HTTPS スキーマはこれをオーバーライドします。

    False

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.