Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Linux を使い始める » Collector for Linuxを手動でインストールする

Collector for Linuxを手動でインストールする 🔗

Splunk Distribution of the OpenTelemetry Collector for Linux は、すべてのデータタイプに対して統合された収集と転送を提供するパッケージです。パッケージを手動でインストールするには、このドキュメントをお読みください。

注釈

また、インストーラ・スクリプト または デプロイおよび構成管理ツール を使用してパッケージをインストールすることもできます。

Splunk には以下の手動設定オプションがあります:

アクセス許可 🔗

ユーザーに関係なく、root権限なしでCollectorを実行できるようにするには、少なくともこれらの機能が必要です:

  • cap_dac_read_search:ファイルの読み取り権限チェック、およびディレクトリの読み取りと実行の権限チェックをバイパスできるようにします。

  • cap_sys_ptrace:任意のプロセスのトレース、管理、データ転送を可能にします。

これらの推奨機能については、Linux capabilities - manual page を参照してください。

注釈

あなたのシステムには、より高い、またはより多くのカスタムアクセス許可が必要である可能性があります。

すでに setcap/libcap2 がインストールされている場合、インストーラ・スクリプトがこれらのアクセス許可を設定します。そうでない場合は、以下の setcap コマンドを使用してアクセス許可をインストールしてください:

setcap CAP_SYS_PTRACE,CAP_DAC_READ_SEARCH=+eip /usr/bin/otelcol

Collector のインストール後にカスタムアクセス許可を設定するには、以下を使用します:

setcap {CUSTOM_CAPABILITIES}=+eip /usr/bin/otelcol

環境変数 🔗

Dockerバイナリファイル 、または Tar ファイル を使用する場合は、環境変数を使用して Collector を設定できます。以下の環境変数が必要です:

  • SPLUNK_REALM (デフォルトなし):どのレルムにデータを送るか。例: us0

  • SPLUNK_ACCESS_TOKEN (デフォルトなし):リクエストを認証するためのアクセストークン。

パッケージリポジトリを使用して Collector for Linux をインストールします。 🔗

Splunk Observability Cloud は、CentOS、Debian、Oracle、Red Hat、Ubuntu を含む、すべての Intel、AMD、ARM systemd ベースのオペレーティングシステムをサポートしています。インテグレーションを手動でインストールすると、コンテナ化された環境や、その他の一般的なデプロイメントオプションを使用したい場合に便利です。

各インストール方法には、独自の環境変数セットを含むデフォルトの設定が付属しており、その値はインストール方法や特定のニーズによって異なります。

注意

Collector をサービスとして実行するには、systemctl が必要です。これは、systemd システムとサービスマネージャの状態を調べたり制御したりするのに使われる主なツールだからです。それ以外の場合は Collector を実行する必要があります。

Debian を使用して Collector for Linux をインストールする 🔗

Debian パッケージを使用して Collector for Linux をインストールするには、パッケージリポジトリを設定し、Collector パッケージをインストールします:

curl -sSL https://splunk.jfrog.io/splunk/otel-collector-deb/splunk-B3CD4420.gpg > /etc/apt/trusted.gpg.d/splunk.gpg
echo 'deb https://splunk.jfrog.io/splunk/otel-collector-deb release main' > /etc/apt/sources.list.d/splunk-otel-collector.list
apt-get update
apt-get install -y splunk-otel-collector

# Optional: install Splunk OpenTelemetry automatic discovery for language runtimes
apt-get install -y splunk-otel-auto-instrumentation

こちらも参照してください:

RPM を使用して Collector for Linux をインストールする 🔗

RPM パッケージを使用して Collector for Linux をインストールするには、パッケージリポジトリを設定し、Collector パッケージをインストールします:

yum install -y libcap  # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector

cat <<EOH > /etc/yum.repos.d/splunk-otel-collector.repo
[splunk-otel-collector]
name=Splunk OpenTelemetry Collector Repository
baseurl=https://splunk.jfrog.io/splunk/otel-collector-rpm/release/\$basearch
gpgcheck=1
gpgkey=https://splunk.jfrog.io/splunk/otel-collector-rpm/splunk-B3CD4420.pub
enabled=1
EOH

yum install -y splunk-otel-collector

# Optional: install Splunk OpenTelemetry zero-code instrumentation
yum install -y splunk-otel-auto-instrumentation

こちらも参照してください:

ダウンロードしたパッケージを使用して Collector for Linux をインストールします。 🔗

インストーラスクリプトや Debian/RPM リポジトリを使用せずに Collector をインストールしたい場合は、GitHub のリリースページから個々の Debian または RPM パッケージをダウンロードし、以下のようにインストールしてください。

次の点に注意してください:

  • root 権限が必要です。

  • Splunk OTel Collector リリース で GitHub のリリースを検索します。

  • setcap 依存関係と Collector パッケージをインストールするには、<path to splunk-otel-collector deb/rpm> をダウンロードした Collector パッケージのローカルパスに置き換えます。

apt-get update && apt-get install -y libcap2-bin  # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector
dpkg -i <path to splunk-otel-collector deb>

こちらも参照してください:

Debian/RPM のインストール後の設定 🔗

以下が該当します:

  • デフォルトの設定ファイルが存在していない場合は、/etc/otel/collector/agent_config.yaml にインストールされます。

  • /etc/otel/collector/splunk-otel-collector.conf 環境ファイルは、splunk-otel-collector systemd サービスを開始するために必要です。

    • インストールまたはアップグレード中にこのファイルが存在すると、サービスが自動的に開始します。

    • サンプル環境ファイルは /etc/otel/collector/splunk-otel-collector.conf.example にインストールされ、デフォルト設定に必要な環境変数が含まれています。このサンプルファイルを使用するには、必要な変数を設定し、/etc/otel/collector/splunk-otel-collector.conf としてファイルを保存します。

  • 設定ファイルや環境ファイルの変更を有効にするには、サービスを再起動する必要があります。サービスを開始または再起動するには、以下を実行します:

    sudo systemctl restart splunk-otel-collector
    
  • splunk-otel-collector サービスの状態を確認するには、以下を実行してください:

    sudo systemctl status splunk-otel-collector
    
  • splunk-otel-collector サービスのログとエラーを表示するには、systemd ジャーナルを実行します:

    sudo journalctl -u splunk-otel-collector
    

Zero-code instrumentation with Debian and RPM packages 🔗

インストーラスクリプトや Debian/RPM リポジトリを使用せずに Collector をインストールしたい場合は、GitHub のリリースページから個々の Debian または RPM パッケージをダウンロードし、以下のようにインストールしてください。

次の点に注意してください:

  • root 権限が必要です。

  • Splunk OTel Collector リリース で GitHub の対象システムに適した splunk-otel-auto-instrumentation Debian パッケージまたは RPM パッケージをダウンロードします。

  • Replace <path to splunk-otel-auto-instrumentation deb/rpm> with the local path to the downloaded zero-code instrumentation package.

Run the following commands to install the zero-code instrumentation package:

dpkg -i <path to splunk-otel-auto-instrumentation deb>

To upgrade the zero-code instrumentation package, run:

sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>

Zero-code instrumentation agents 🔗

The splunk-otel-auto-instrumentation deb/rpm package installs and supports configuration for the following zero-code instrumentation agents:

  • Java

  • Node.js

  • .Net

To learn more, see Zero-code instrumentation for back-end applications in Linux.

ログ収集のために Fluentd をインストールして設定する 🔗

ログ収集が必要な場合は、Fluentd をインストールし、収集したログイベントを Collector に転送するために、以下の手順を実行します。これには root 権限が必要です。

  1. パッケージリポジトリを使用して Collector for Linux をインストールします。 の説明に従って Collector をインストール、設定、起動します。Collector のデフォルトの設定ファイルは、127.0.0.1:8006 上のログイベントをリッスンし、Splunk Observability Cloud に送信します。

  2. ターゲットシステムの Linux ディストリビューション/バージョンに適した td-agent パッケージをインストールします。Fluentd のインストール でパッケージを探します。

    • 必要であれば、capng_c プラグインと依存関係をインストールし、Linux の機能 (例えば、cap_dac_read_search および/または cap_dac_override ) を有効にします。これには td-agent バージョン 4.1 以上が必要です。Linux 機能 を参照してください。

    • 必要であれば、fluent-plugin-systemd プラグインをインストールして、systemd ジャーナルからログイベントを収集します。Fluent plugin systemd を参照してください。

  3. ログイベントを収集し、Collector に転送するように Fluentd を設定します:

    • オプション 1: Fluentd パッケージが提供する /etc/td-agent/td-agent.conf のデフォルト設定ファイルを更新して、必要なログイベントを収集し、127.0.0.1:8006 に転送します。

    • オプション2: インストールされた Collector パッケージは、多くの一般的なサービスからログイベントを収集し、127.0.0.1:8006 に転送します。これらのファイルを使用するには、Fluentd サービスのデフォルトの設定ファイルパスを上書きする必要があります。これを行うには、systemd 環境ファイルを /etc/otel/collector/fluentd/splunk-otel-collector.conf から /etc/systemd/system/td-agent.service.d/splunk-otel-collector.conf にコピーします。

  4. td-agent サービスのユーザー/グループが、前のステップで設定ファイルにアクセスする権限を持っていることを確認します。

  5. systemctl restart td-agent を実行して、Fluentd サービスを再起動し、変更を適用します。

  6. /var/log/td-agent/td-agent.log にある Fluentd サービスのログとエラーを表示します。

一般的な Fluentd の設定については Fluentd の設定 を参照してください。

Docker 🔗

Splunk Distribution of OpenTelemetry Collector の Linux docker イメージには、AMD64、ARM64、ppc64le アーキテクチャー用のイメージを指定する multiarch マニフェストが含まれています。Docker はこのマニフェストを使用して、ターゲットプラットフォーム用の正しいイメージをダウンロードします。

以下のコマンドを実行して、Dockerを使ってパッケージをインストールします:

docker run --rm -e SPLUNK_ACCESS_TOKEN=12345 -e SPLUNK_REALM=us0 \
    -p 13133:13133 -p 14250:14250 -p 14268:14268 -p 4317:4317 -p 6060:6060 \
    -p 7276:7276 -p 8888:8888 -p 9080:9080 -p 9411:9411 -p 9943:9943 \
    --name otelcol quay.io/signalfx/splunk-otel-collector:latest
    # Use a semantic versioning (semver) tag instead of the ``latest`` tag.
    # Semantic versioning is a formal convention for determining the version
    # number of new software releases.

以下のリストは、docker run コマンド・オプションの詳細です:

  • --rm は、コンテナが終了すると自動的に削除されます。

  • -e は、実行中のコンテナの単純な(配列でない)環境変数を設定したり、実行中のイメージのDockerfileで定義されている変数を上書きしたりします。

  • -p はコンテナのポートをホストに公開します。

以下のコマンドを実行して、コンテナ上で対話型の bash シェルを実行し、Collector のステータスを確認します:

docker exec -it containerID bash

注釈

Collector を --read-only モードで実行し、Smart Agent レシーバーのレガシー collectd モニタータイプを使用する場合は、--read-only --tmpfs /usr/lib/splunk-otel-collector/agent-bundle/run:uid=999,gid=999 (デフォルト) または Smart Agent 拡張機能の collectd::configDir パスで設定された書き込み可能な設定ディレクトリを指定する必要があります。

カスタムDockerコンフィギュレーションを作成する 🔗

デフォルトのコンフィギュレーションファイルの代わりに、カスタムのコンフィギュレーションファイルを指定することができます。このファイルのパスを指定するには、環境変数 SPLUNK_CONFIG または --config コマンドライン引数を使用します。

環境変数 SPLUNK_CONFIG_YAML を使って、コマンドラインでカスタム設定ファイルを指定することもできます。これは、基礎となるファイルシステムに容易にアクセスできない環境で便利です。例えば、AWS Fargate では、カスタム設定の YAML を AWS Systems Manager Parameter Store のパラメータに格納し、コンテナ定義で SPLUNK_CONFIG_YAML を指定してパラメータから設定を取得することができます。

コマンドライン引数は環境変数より優先されます。これは --config--mem-ballast-size-mib に適用され、SPLUNK_CONFIGSPLUNK_CONFIG_YAML よりも優先されます。例:

docker run --rm -e SPLUNK_ACCESS_TOKEN=12345 -e SPLUNK_REALM=us0 \
    -e SPLUNK_CONFIG=/etc/collector.yaml -p 13133:13133 -p 14250:14250 \
    -p 14268:14268 -p 4317:4317 -p 6060:6060 -p 8888:8888 \
    -p 9080:9080 -p 9411:9411 -p 9943:9943 \
    -v "${PWD}/collector.yaml":/etc/collector.yaml:ro \
    # A volume mount might be required to load the custom configuration file.
    --name otelcol quay.io/signalfx/splunk-otel-collector:latest
    # Use a semantic versioning (semver) tag instead of the ``latest`` tag.
    # Semantic versioning is a formal convention for determining the version
    # number of new software releases.

以下の構成を使用して、CPU メトリクスを収集し、ログに記録します。cat コマンドは、 CONFIG_YAML パラメータを YAML に割り当てます。docker run コマンドは、パラメータ CONFIG_YAML を展開し、環境変数 SPLUNK_CONFIG_YAML に割り当てます。YAMLは空白のインデントを維持する必要があることに注意してください。

CONFIG_YAML=$(cat <<-END
receivers:
   hostmetrics:
      collection_interval: 1s
      scrapers:
         cpu:
exporters:
   debug:
      # Can be changed to info
      verbosity: detailed
service:
   pipelines:
      metrics:
         receivers: [hostmetrics]
         exporters: [logging]
END
)

docker run --rm \
    -e SPLUNK_CONFIG_YAML=${CONFIG_YAML} \
    --name otelcol quay.io/signalfx/splunk-otel-collector:latest
    # Use a semantic versioning (semver) tag instead of the ``latest`` tag.
    # Semantic versioning is a formal convention for determining the version
    # number of new software releases.

バイナリファイル 🔗

バイナリファイルを使用して Collector をインストールするには、以下の手順に従います:

  1. GitHub リリース から、お使いのアーキテクチャーのバイナリをダウンロードしてください。

  2. 既存の設定ファイルまたはカスタム設定ファイルを使用していない場合は、Collector用の デフォルト設定ファイル をダウンロードしてください。詳細は Collector for Linux のデフォルト設定 を参照してください。

  3. コマンドラインからバイナリを実行します:

# see available command-line options
$ <download dir>/otelcol_<platform>_<arch> --help
Usage of otelcol:
   --config string          Locations to the config file(s), note that only a single location can be set per flag entry e.g. --config=/path/to/first --config=path/to/second. (default "[]")
   --feature-gates string   Comma-delimited list of feature gate identifiers. Prefix with '-' to disable the feature. '+' or no prefix will enable the feature. (default "[]")
   --no-convert-config      Do not translate old configurations to the new format automatically. By default, old configurations are translated to the new format for backward compatibility.
   --set string             Set arbitrary component config property. The component has to be defined in the config file and the flag has a higher precedence. Array config properties are overridden and maps are joined. Example --set=processors.batch.timeout=2s (default "[]")
   -v, --version                Version of the collector.

# start the collector with the SPLUNK_REALM and SPLUNK_ACCESS_TOKEN env vars required in our default config files
$ SPLUNK_REALM=<realm> SPLUNK_ACCESS_TOKEN=<token> <download dir>/otelcol_<platform>_<arch> --config=<path to config file>

# alternatively, use the SPLUNK_CONFIG env var instead of the --config command-line option
$ SPLUNK_CONFIG=<path to config file> SPLUNK_REALM=<realm> SPLUNK_ACCESS_TOKEN=<token> <download dir>/otelcol_<platform>_<arch>

# type Ctrl-c to stop the collector

Tar ファイル 🔗

配布物のtar.gzアーカイブもあります。これには、環境変数を含むデフォルトのエージェントとゲートウェイの設定ファイルが含まれています。

tarファイルを使う:

  1. それをターゲットシステム上の任意のディレクトリにアーカイブ解除します。

tar xzf splunk-otel-collector_<version>_<arch>.tar.gz
  1. amd64 システムでは、アーカイブされていない agent-bundle ディレクトリに移動し、bin/patch-interpreter $(pwd) を実行してください。これにより、バンドル内のバイナリに正しいローダーが設定されていることが確認できます。

デフォルト以外の場所での作業 🔗

デフォルト以外の場所からCollectorを実行する場合、Smart Agentレシーバーとエージェント設定ファイルでは、Smart Agent拡張機能で現在使用されている2つの環境変数を設定する必要があります:

  • SPLUNK_BUNDLE_DIR:Smart Agent バンドルのパス。例えば、/usr/lib/splunk-otel-collector/agent-bundle です。

  • SPLUNK_COLLECTD_DIR:Smart Agent の collectd コンフィグディレクトリへのパス。例えば、/usr/lib/splunk-otel-collector/agent-bundle/run/collectd です。

次のステップ 🔗

パッケージをインストールしたら、以下を参照してください:

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