3.3. 分散トレースの設定


分散トレースを有効にして、Kafka Bridge で使用され、生成されたメッセージと、クライアントアプリケーションからの HTTP リクエストをトレースします。

トレースを有効にするプロパティーは application.properties ファイルにあります。分散トレースを有効にするには、以下を実行します。

  • 使用するトレースを有効にするには、bridge.tracing プロパティーの値を設定します。唯一使用できる値は opentelemetry です。
  • トレースの環境変数を設定します。

デフォルトの設定では、OpenTelemetry トレースは OTLP をエクスポータープロトコルとして使用します。OTLP エンドポイントを設定することで、引き続き Jaeger バックエンドインスタンスを使用してトレースを取得できます。

注記

Jaeger は、バージョン 1.35 以降、OTLP プロトコルをサポートしています。古いバージョンの Jaeger は、OTLP プロトコルを使用してトレースを取得できません。

OpenTelemetry は、トレースデータをメトリクスデータの スパン として収集するための API 仕様を定義します。スパンは特定の操作を表します。トレースは、1 つ以上のスパンのコレクションです。

トレースは、Kafka Bridge で以下の場合に生成されます。

  • Kafka からコンシューマー HTTP クライアントにメッセージを送信します。
  • プロデューサー HTTP クライアントからメッセージを受信して Kafka に送信します。

Jaeger は必要な API を実装し、分析用にユーザーインターフェイスでトレースデータを視覚化します。

エンドツーエンドのトレーシングを設定するために、HTTP クライアントでトレーシングを設定する必要があります。

注意

Streams for Apache Kafka は OpenTracing をサポートしなくなりました。これまでに bridge.tracing=jaeger オプションを指定して OpenTracing を使用していた場合は、代わりに OpenTelemetry の使用に移行することを推奨します。

手順

  1. Kafka Bridge インストールアーカイブで提供される application.properties ファイルを編集します。

    使用するトレースを有効にするには、bridge.tracing プロパティーを使用します。

    OpenTelemetry を有効にする設定例

    bridge.tracing=opentelemetry 1

    1
    OpenTelemetry を有効にするプロパティーは、行の先頭にある # を削除することでコメントが解除されます。

    トレースを有効にすると、Kafka Bridge スクリプトの実行時にトレースを初期化します。

  2. 設定ファイルを作成します。
  3. トレーシングの環境変数を設定します。

    OpenTelemetry の環境変数

    OTEL_SERVICE_NAME=my-tracing-service 1
    OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 2

    1
    OpenTelemetry トレーサーサービスの名前。
    2
    ポート 4317 でスパンをリッスンする gRPC ベースの OTLP エンドポイント。
  4. プロパティーを有効にしてトレース用に Kafka Bridge スクリプトを実行します。

    OpenTelemetry を有効にして Kafka Bridge を実行する

    ./bin/kafka_bridge_run.sh --config-file=<path>/application.properties

    Kafka Bridge の内部コンシューマーとプロデューサーが有効になり、トレースできるようになりました。

3.3.1. OpenTelemetry でのトレースシステムの指定

デフォルトの OTLP トレースシステムの代わりに、OpenTelemetry でサポートされている他のトレースシステムを指定できます。

OpenTelemetry で別のトレースシステムを使用する場合は、以下の手順を実施します。

  1. トレースシステムのライブラリーを Kafka クラスパスに追加します。
  2. トレースシステムの名前を追加のエクスポーター環境変数として追加します。

    OTLP を使用しない場合の追加の環境変数

    OTEL_SERVICE_NAME=my-tracing-service
    OTEL_TRACES_EXPORTER=zipkin 1
    OTEL_EXPORTER_ZIPKIN_ENDPOINT=http://localhost:9411/api/v2/spans 2

    1
    トレースシステムの名前。この例では、Zipkin を指定します。
    2
    スパンをリッスンする特定の選択されたエクスポーターのエンドポイント。この例では、Zipkin エンドポイントが指定されています。

3.3.2. サポートされているスpan 属性

Kafka Bridge は、標準の OpenTelemetry 属性に加えて、HTTP の OpenTelemetry 標準規則からそのスパンに次の 属性を追加します。

属性キー

属性値

peer.service

kafkaにハードコーディングされています。

http.request.method

リクエストの実行に使用される http メソッド

url.scheme

URI スキーム コンポーネント

url.path

URI パス コンポーネント

url.query

URI クエリー コンポーネント

messaging.destination.name

生成または読み取る Kafka トピックの名前

messaging.system

kafkaにハードコーディングされています。

http.response.status_code

200 から 300 までの http レスポンスの場合は OK。他のすべてのステータスコードの エラー

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.