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 Auto Instrumentation
yum install -y splunk-otel-auto-instrumentation
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 Auto Instrumentation
dnf install -y splunk-otel-auto-instrumentation
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 Auto 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 パッケージのローカルパスに置き換えます。
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>
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>
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>
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-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
Debian と RPM パッケージによる自動インストルメンテーション 🔗
インストーラスクリプトや Debian/RPM リポジトリを使用せずに Collector をインストールしたい場合は、GitHub のリリースページから個々の Debian または RPM パッケージをダウンロードし、以下のようにインストールしてください。
次の点に注意してください:
root 権限が必要です。
Splunk OTel Collector リリース で GitHub の対象システムに適した
splunk-otel-auto-instrumentation
Debian パッケージまたは RPM パッケージをダウンロードします。<path to splunk-otel-auto-instrumentation deb/rpm>
をダウンロードした自動インストルメンテーションパッケージのローカルパスに置き換えます。
以下のコマンドを実行して、自動 インストルメンテーションパッケージをインストールします:
dpkg -i <path to splunk-otel-auto-instrumentation deb>
rpm -ivh <path to splunk-otel-auto-instrumentation rpm>
自動 インストルメンテーションパッケージをアップグレードするには、以下を実行します:
sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>
sudo rpm -Uvh <path to splunk-otel-auto-instrumentation rpm>
自動インストルメンテーションエージェント 🔗
splunk-otel-auto-instrumentation
deb/rpm パッケージは、以下の自動インストルメンテーションエージェントをインストールし、設定をサポートします:
Java
Node.js
To learn more, see Automatic discovery and configuration for back-end applications in Linux.
ログ収集のために Fluentd をインストールして設定する 🔗
ログ収集が必要な場合は、Fluentd をインストールし、収集したログイベントを Collector に転送するために、以下の手順を実行します。これには root 権限が必要です。
パッケージリポジトリを使用して Collector for Linux をインストールします。 の説明に従って Collector をインストール、設定、起動します。Collector のデフォルトの設定ファイルは、
127.0.0.1:8006
上のログイベントをリッスンし、Splunk Observability Cloud に送信します。ターゲットシステムの 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 を参照してください。
ログイベントを収集し、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 にコピーします。
td-agent
サービスのユーザー/グループが、前のステップで設定ファイルにアクセスする権限を持っていることを確認します。systemctl restart td-agent
を実行して、Fluentd サービスを再起動し、変更を適用します。/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_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
です。
次のステップ 🔗
パッケージをインストールしたら、以下を参照してください: