Collector for Linuxを手動でインストールする
OpenTelemetry Collector for Linux の Splunk ディストリビューションを手動でインストールする方法について説明します。
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 システムベースのすべてのオペレーティングシステムをサポートしています。インテグレーションの手動インストールは、コンテナ化された環境、またはその他の一般的なデプロイメントオプションを使用する場合に役立ちます。
各インストール方法には、独自の環境変数セットを含むデフォルトの設定が付属しており、その値はインストール方法や特定のニーズによって異なります。
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
-
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 - dnf
-
dnf 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 dnf install -y splunk-otel-collector # Optional: install Splunk OpenTelemetry zero-code instrumentation dnf install -y splunk-otel-auto-instrumentation - zypper
-
zypper install -y libcap-progs # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector cat <<EOH > /etc/zypp/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 zypper install -y splunk-otel-collector # Optional: install Splunk OpenTelemetry zero-code instrumentation zypper 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 パッケージのローカルパスに置き換えます。
- Debian
-
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> - RPM と yum
-
yum install -y libcap # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector rpm -ivh <path to splunk-otel-collector rpm> - RPM と dnf
-
dnf install -y libcap # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector rpm -ivh <path to splunk-otel-collector rpm> - RPM と zypper
-
zypper install -y libcap-progs # Required for enabling cap_dac_read_search and cap_sys_ptrace capabilities on the Collector rpm -ivh <path to splunk-otel-collector rpm>
こちらも参照してください:
Debian/RPM のインストール後の設定
以下が該当します:
-
デフォルトの設定ファイルが存在していない場合は、/etc/otel/collector/agent_config.yaml にインストールされます。
-
/etc/otel/collector/splunk-otel-collector.conf 環境ファイルは、
splunk-otel-collectorsystemd サービスを開始するために必要です。-
インストールまたはアップグレード中にこのファイルが存在すると、サービスが自動的に開始します。
-
サンプル環境ファイルは /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
Debian と RPM パッケージによるゼロコードインストルメンテーション
インストーラスクリプトや Debian/RPM リポジトリを使用せずに Collector をインストールしたい場合は、GitHub のリリースページから個々の Debian または RPM パッケージをダウンロードし、以下のようにインストールしてください。
次の点に注意してください:
-
root 権限が必要です。
-
Splunk OTel Collector リリースで GitHub の対象システムに適した
splunk-otel-auto-instrumentationDebian パッケージまたは RPM パッケージをダウンロードします。 -
<path to splunk-otel-auto-instrumentation deb/rpm>をダウンロードしたゼロコードインストルメンテーションパッケージのローカルパスに置き換えます。
以下のコマンドを実行して、ゼロコードインストルメンテーションパッケージをインストールします:
- Debian
-
dpkg -i <path to splunk-otel-auto-instrumentation deb> - RPM
-
rpm -ivh <path to splunk-otel-auto-instrumentation rpm>
ゼロコードインストルメンテーションパッケージをアップグレードするには、以下を実行します:
- Debian
-
sudo dpkg -i <path to splunk-otel-auto-instrumentation deb> - RPM
-
sudo rpm -Uvh <path to splunk-otel-auto-instrumentation rpm>
ゼロコードインストルメンテーションエージェント
splunk-otel-auto-instrumentation deb/rpm パッケージは、以下のゼロコードインストルメンテーションエージェントをインストールし、設定をサポートします:
-
Java
-
Node.js
-
.Net
詳しくは「Linux でのバックエンドアプリケーションのゼロコードインストルメンテーション」を参照してください。
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は、実行中のコンテナ内で単純な(配列でない)環境変数を設定するか、実行しているイメージの Docker ファイルで定義されている変数を上書きします。 -
-pはコンテナのポートをホストに公開します。
以下のコマンドを実行して、コンテナ上で対話型の bash シェルを実行し、Collector のステータスを確認します:
docker exec -it containerID bash
--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 パラメータストアのパラメータに保存し、コンテナ定義で SPLUNK_CONFIG_YAML を指定してパラメータから設定を取得できます。
コマンドライン引数は、環境変数よりも優先されます。これは --config と --mem-ballast-size-mib に適用されます。SPLUNK_CONFIG は SPLUNK_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 をインストールするには、以下の手順に従います:
-
GitHub リリースから、お使いのアーキテクチャのバイナリをダウンロードしてください。
-
既存の設定ファイルまたはカスタム設定ファイルを使用していない場合は、Collector 用のデフォルト設定ファイルをダウンロードしてください。詳しくは「Collector for Linux のデフォルト設定」をご確認ください。
-
コマンドラインからバイナリを実行します:
# 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ファイルを使う:
-
それをターゲットシステム上の任意のディレクトリにアーカイブ解除します。
tar xzf splunk-otel-collector_<version>_<arch>.tar.gz
-
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のようになります。
次のステップ
パッケージをインストールしたら、以下を参照してください: