Collector で Splunk Universal Forwarder を使用する

各仮想マシン (VM) に Splunk Universal Forwarder (UF) と一緒に OpenTelemetry Collector の Splunk Distribution をデプロイして、データの取り込みを手動で管理します。

Splunk Observability Cloud が OpenTelemetry Collector をエージェントとして使用してトレース、メトリクス、ログを取得するのに対し、Splunk Enterprise Cloud は Splunk Universal Forwarder を使用してログと一部のメトリクスを取得し、ログとしても保存します。詳しくは「Splunk Universal Forwarder (UF)」をご確認ください。

仮想マシン(VM)上で、Splunk Universal Forwarder(UF)と併せて Splunk Distribution の OpenTelemetry Collector をデプロイできます。これにより、ログを含むデータ取り込みを手動で管理できます。このソリューションは、AWS EC2、GCE、Azure VM、VMWare などの一般的な環境で実行されている、現在 Splunk Observability Cloud および Enterprise and Cloud の両方によってサポートされているオペレーティングシステムの VM 環境に適用できます。

メリット

Collector とともに Universal Forwarder を使用する利点は、次のとおりです:

  • Splunk Observability CloudをEnterpriseまたはEnterprise Cloudと並行して使用することで、重複したテレメトリデータをキャプチャして送信する必要がなくなります。

  • Splunk Log Observer Connect と一緒に使用すると、Related Content を含む、事実上すべての Splunk Observability Cloud ロギング機能を利用できます。

  • 既存のUFデプロイメントを更新する必要はありません。

注: Kubernetes 環境では、ネイティブの OTel ログ収集がデフォルトでサポートされています。詳細については、「Collector for Kubernetes のログとイベントを収集する」 を参照してください。

CollectorとUniversal Forwarderによるデータ収集

Collector とUFでデータを収集するには:

  1. デフォルトの設定ファイルを使って各エージェントを設定します:

  2. 以下のコマンドを実行して Collector をインストールします:

    curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
    sudo sh /tmp/splunk-otel-collector.sh --realm SPLUNK_REALM -- SPLUNK_ACCESS_TOKEN
  3. UF が、Splunk Observability Cloud でホストを識別するために使用されるホストの完全修飾ドメイン名(FQDN)をキャプチャしていることを確認してください。UF はすでにこれをキャプチャでき、その動作は Collector と一貫性があります。FQDN をキャプチャするには、次を実行します。

    • $SPLUNK_HOME/etc/system/local/ ディレクトリから server.conf を開き、次のスタンザが存在することを確認します。

    [general]
    hostnameOption = fullyqualifiedname
    • $SPLUNK_HOME/etc/system/local/ directory ディレクトリから inputs.conf を開き、次のスタンザが存在することを確認します。

    [default]
    host=$decideOnStartup
    • UFを再起動します。

  4. UFがサービス名をキャプチャしていることを確認します。これは、Collectorの構成およびアプリケーション内で、手動で設定する必要があります。

    1. UFの場合は、トレースIDやスパンIDをログに付加するのと同じ方法で行います。

    2. サービスの名前をキャプチャするには、構成ファイルで OTEL_SERVICE_NAME 環境変数を設定します。Linux では export OTEL_SERVICE_NAME=<yourServiceName> を実行します。Windows PowerShell では $env:OTEL_SERVICE_NAME=<yourServiceName> を実行します。追加の OpenTelemetry 仕様の環境変数については、GitHub の https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md#environment-variables を参照してください。

  5. 両方のエージェントを再起動します。