エクスポータの設定

エクスポータは、データを Splunk AppDynamics バックエンドに送信する方法です。Splunk AppDynamics for OpenTelemetry の場合、OTLP トレースエクスポート呼び出しを送信する場合 HTTP のみがサポートされます。トレーサ/SDK エクスポータは、OTLP バージョン 0.9.0 以降に基づいている必要があります。

exporters.otlphttp セクションでは、Splunk AppDynamics エンドポイントと API キーを使用して以下の属性を設定する必要があります。

JSON
exporters:
  otlphttp:
    endpoint: "<appd-endpoint>"
    headers: {"x-api-key":"<x-api-key>" }
    compression: none    # applicable only to otel-collector versions 0.44 or later.
    tls:
      insecure: false
      ca_file: /etc/ca.crt
      cert_file: /etc/server.crt
      key_file: /etc/tls.key

<x-api-key> および <appd-endpoint> の詳細については、「属性の説明」を参照してください。

証明書の設定

otel-collector 構成の tls セクションでは、仮想アプライアンスの入力コントローラから証明書を取得する必要があります。証明書を設定するには、次の手順を実行します。

OpenTelemety コレクタが仮想アプライアンスと通信するには、仮想アプライアンスの tls 証明書が必要です。これらの証明書はデータの送信中に使用されます。

証明書を設定するには、次の手順を実行します。

  1. デフォルトの証明書を抽出します。
    注: 仮想アプライアンスノードの管理者は、証明書を抽出して、他のユーザーと証明書を共有できます。
    1. 仮想アプライアンスノードのいずれかにログインします。
    2. ディレクトリ /var/appd/config/helpers/ に移動します。
    3. ./cert-gen.sh ingress-master ingress-cert-secret コマンドを実行して証明書を生成します。
      注:

      証明書抽出コマンドは、デフォルトの証明書を使用している場合にのみ機能します。カスタム証明書を使用している場合、デフォルトの証明書は機能しません。

      証明書抽出の例
      CODE
      appduser@ip-10-0-0-196:/var/appd/config/helpers/$ ./cert-gen.sh ingress-master
      ingress-cert-secret
      certificates and keys have been extracted
      appduser@ip-10-0-0-196:/var/appd/config/helpers/$ ls
      cert-gen.sh
      ingress-master-ingress-cert-secret-ca.crt
      ingress-master-ingress-cert-secret-server.crt
      ingress-master-ingress-cert-secret-tls.key
  2. (オプション)カスタム証明書を使用している場合は、管理者から証明書を取得します。
  3. OpenTelemetry Collector が構成されているマシンに証明書をコピーします。
  4. OpenTelemetry Collector で証明書を次のパスにマウントします。
    CODE
    ingress-master-ingress-cert-secret-ca.crt -> /etc/ca.crt
    ingress-master-ingress-cert-secret-server.crt -> /etc/server.crt
    ingress-master-ingress-cert-secret-tls.key -> /etc/tls.key
    デフォルトまたはカスタム証明書用の Docker Compose のセットアップ
    CODE
    otel-collector:
      image: otel/opentelemetry-collector:0.101
      container_name: otel-collector
      command: ["--config=/etc/otel-config.yaml"]
      volumes:
        - ./otel-config.yaml:/etc/otel-config.yaml
        - ./ingress-master-ingress-cert-secret-ca.crt:/etc/ca.crt
        - ./ingress-master-ingress-cert-secret-server.crt:/etc/server.crt
        - ./ingress-master-ingress-cert-secret-tls.key:/etc/tls.key