Docs » Splunk Observability Cloud でサポートされているインテグレーション » Collectorコンポーネント: レシーバー » Kafka レシーバー

Kafka レシーバー 🔗

The Kafka receiver allows the Splunk Distribution of the OpenTelemetry Collector to collect metrics and logs (in OTLP format), and traces, from Kafka. Message payload encoding is configurable. The supported pipeline types are metrics, logs, and traces. See パイプラインでデータを処理する for more information.

注釈

すぐに使えるダッシュボードとナビゲーターは、まだKafkaレシーバーではサポートされていませんが、将来のリリースではサポートされる予定です。

はじめに 🔗

以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. Configure the Kafka receiver as described in the next section.

  3. Collector を再起動します。

サンプル構成 🔗

To activate the receiver, add kafka to the receivers section of your configuration file:

receivers:
  kafka:
    protocol_version: 2.0.0

To complete the configuration, include the receiver in one or more pipelines of the service section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [kafka]

Main settings 🔗

以下の設定が必要です:

  • protocol_version. The Kafka protocol version, for example 2.0.0.

以下の設定はオプションです:

  • brokers。デフォルトでは localhost:9092 です。Kafkaブローカーのリスト。

  • resolve_canonical_bootstrap_servers_only。デフォルトでは false です。起動時にブローカーIPを解決してから逆引きするかどうか。

  • topic。デフォルト:トレースは otlp_spans、メトリクスは otlp_metrics、ログは otlp_logs。読み込み元のKafkaトピックの名前。1つのトピックには1つのテレメトリタイプしか使用できません。

  • encoding。デフォルトでは otlp_proto です。Kafkaから受信したペイロードのエンコーディング。以下のエンコーディングが利用可能です:

    • otlp_proto。ペイロードはそれぞれ ExportTraceServiceRequestExportLogsServiceRequest または ExportMetricsServiceRequest にデシリアライズされます。

    • jaeger_proto。ペイロードは、単一のJaeger proto Span にデシリアライズされます。

    • jaeger_json。ペイロードは、jsonpb を使用して、単一のJaeger JSON Spanにデシリアライズされます。

    • zipkin_proto。ペイロードはZipkinプロトスパンのリストにデシリアライズされます。

    • zipkin_json。ペイロードはZipkin V2 JSONスパンのリストにデシリアライズされます。

    • zipkin_thrift。ペイロードはZipkin Thriftスパンのリストにデシリアライズされます。

    • raw。ログのみ。ペイロードのバイトはログレコードの本文として挿入されます。

    • text。ログのみ。ペイロードはテキストとしてデコードされ、ログレコードの本文として挿入されます。デフォルトでは、デコードにUTF-8を使用します。この動作をカスタマイズするには、text_utf-8text_shift_jis などの text_<ENCODING> を使用できます。

    • json。ログのみ。ペイロードはJSONとしてデコードされ、ログレコードの本文として挿入されます。

    • azure_resource_logs。ログのみ。ペイロードはAzure Resource LogsフォーマットからOTLPに変換されます。

  • group_id。デフォルトでは otel-collector です。受信者がメッセージを消費するコンシューマーグループ。

  • client_id。デフォルトでは otel-collector です。消費者クライアントID。

  • initial_offset。デフォルトでは latest です。以前にコミットしたオフセットがない場合に使用する初期オフセット。指定可能な値は latest または earliest です。

  • auth. You can use the following options to authenticate:

    • plain_text. It has the following fields:

      • username. The username to use.

      • password. The password to use.

    • sasl. It has the following fields:

      • username. The username to use.

      • password. The password to use.

      • mechanism。使用するSASLメカニズム: SCRAM-SHA-256SCRAM-SHA-512AWS_MSK_IAM または PLAIN

      • aws_msk.regionAWS_MSK_IAM を使用している場合は、AWSリージョン。

      • aws_msk.broker_addrAWS_MSK_IAM を使用する場合、MSKブローカーのアドレス。

    • tls. It has the following fields:

      • ca_file. Use only if insecure is set to false. Path to the CA cert. For a client it verifies the server certificate.

      • cert_file. Use only if insecure is set to false. Path to the TLS cert to use for TLS required connections.

      • key_file. Use only if insecure is set to false. Path to the TLS key to use for TLS required connections.

      • insecure。デフォルトでは false です。tls設定で、サーバーの証明書チェーンとホスト名、InsecureSkipVerify の検証を無効にします。

      • server_name_override。バーチャルホスティングをサポートするためにクライアントが要求したサーバー名を示します。

    • kerberos. It has the following fields:

      • service_name. Kerberos service name.

      • realm。Kerberosレルム。

      • use_keytabtrue の場合、パスワードの代わりにkeytabが使われます。

      • username. The Kerberos username used to authenticate with KDC.

      • password. The Kerberos password used to authenticate with KDC.

      • config_file。Kerberos設定へのパス、例えば /etc/krb5.conf

      • keytab_file。keytabファイルへのパス、例えば /etc/security/kafka.keytab

      • disable_fast_negotiation。デフォルトでは false です。PA-FX-FASTネゴシエーション(Pre-Authentication Framework - Fast)を無効にします。一部の一般的なKerberos実装はPA-FX-FASTネゴシエーションをサポートしていません。

  • metadata. It has the following fields:

    • full。デフォルトでは true です。メタデータ一式を保持するかどうか。無効にすると、クライアントは起動時にブローカーに最初のリクエストを行いません。

    • retry. It has the following fields:

      • max。デフォルトでは 3 です。メタデータ取得の再試行回数。

      • backoff。デフォルトでは 250ms。メタデータのリトライの間隔。

  • autocommit. It has the following fields:

    • enable。デフォルトでは true です。更新されたオフセットをブローカーに自動コミットするかどうか。

    • interval。デフォルトでは 1s です。更新されたオフセットをコミットする頻度。auto-commit が有効になっていな場合、無効です。

  • message_marking. It has the following fields:

    • after。デフォルトでは false です。true の場合、メッセージはパイプラインが実行された後にマークされます。

    • on_error。デフォルトでは false です。 false の場合、正常に処理されたメッセージだけがマークされます。処理されたメッセージが恒久的なエラーを返した場合、パーティション全体がブロックされる可能性があることに注意してください。

  • header_extraction。ヘッダーの抽出方法を決定します。以下のフィールドがあります:

    • extract_headers。デフォルトでは false です。true の場合、ヘッダーフィールドはリソース属性にアタッチされます。

    • headers。デフォルトでは []。Kafkaレコードから抽出したいヘッダーのリスト。マッチするパターンは exact。今のところ、正規表現はサポートされていません。

Configuration example: Connect to Kafka using SASL and TLS 🔗

This is an example of how to configure the receiver to connect to Kafka using SASL and TLS:

receivers:
  kafka:
    auth:
      sasl:
        username: "user"
        password: "secret"
        mechanism: "SCRAM-SHA-512"
      tls:
        insecure: false

Configuration example: Extract headers 🔗

This is an example of how to configure the receiver to extract headers:

receivers:
  kafka:
    topic: test
    header_extraction:
      extract_headers: true
      headers: ["header1", "header2"]

If you feed the receiver the following test:

{
  event: Hello,
  headers: {
    header1: value1,
    header2: value2,
  }
}

You’ll obtain the following log record:

{
  ...
  body: Hello,
  resource: {
    kafka.header.header1: value1,
    kafka.header.header2: value2,
  },
  ...
}

以下が該当します:

  • Kafkaレコードヘッダー header1header2 がリソースの属性に追加されます。

  • 一致するKafkaヘッダーキーはすべて、kafka.header の文字列が先頭に付加され、リソースの属性に付加されます。

設定 🔗

The following table shows the configuration options for the Kafka receiver:

トラブルシューティング 🔗

Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。

Splunk Observability Cloudをご利用のお客様

見込み客および無料トライアルユーザー様

  • Splunk Answers のコミュニティサポートで質問し、回答を得る

  • Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。

このページは 2024年12月12日 に最終更新されました。