Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Linux を使い始める » インストーラ・スクリプトを使用して Linux 用 Collector をインストールします。

インストーラ・スクリプトを使用して Linux 用 Collector をインストールします。 🔗

The Splunk Distribution of the OpenTelemetry Collector for Linux is a package that provides integrated collection and forwarding for all data types.

以下のいずれかの方法でパッケージをインストールします:

対応バージョン 🔗

Collector は以下のLinuxディストリビューションとバージョンをサポートしています:

  • Amazon Linux: 2, 2023.Fluentdによるログ収集は、現在Amazon Linux 2023ではサポートされていません。

  • CentOS、Red Hat、またはOracle: 7、8、9

  • Debian: 9, 10, 11

  • SUSE: 12, 15 バージョン 0.34.0 以上。Fluentd によるログ収集は現在サポートされていません。

  • Ubuntu: 16.04, 18.04, 20.04, 22.04, and 24.04

  • Rocky Linux: 8, 9

含まれるパッケージ 🔗

インストーラ・スクリプトは、これらの要素をデプロイし、設定します:

Install the Collector using the installer script 🔗

To install the Collector package using the installer script, follow these steps:

  1. Ensure you have systemd, curl and sudo installed.

  2. Download and run the installer script using this command:

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 --memory $SPLUNK_MEMORY_TOTAL_MIB -- $SPLUNK_ACCESS_TOKEN

Replacing the following variables for your environment:

  • SPLUNK_REALM:これはデータを送信するレルムです。デフォルトは us0 です。Splunk レルムを見つけるには、レルムについての注意 を参照してください。

  • SPLUNK_MEMORY_TOTAL_MIB:メビバイト(MiB)単位で割り当てられたメモリの合計。例えば、512 は512MiB (500 x 2^20バイト)のメモリを割り当てます。

  • SPLUNK_ACCESS_TOKEN:データ取り込みリクエストを認証するための、base64 エンコードされたアクセストークンです。Splunk Observability Cloudを使用した組織のアクセストークンの作成および管理 を参照してください。

メモリ割り当てを設定する 🔗

メモリ割り当てを設定するには、--memory パラメータを変更します。デフォルトでは、このパラメータは512MiB、つまり500×2^20バイトのメモリに設定されています。次の例に示すように、より多くのメモリを割り当てるには、この設定を増やします。

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 --memory $SPLUNK_MEMORY_TOTAL_MIB \
    -- $SPLUNK_ACCESS_TOKEN

プロキシ設定を構成する 🔗

OpenTelemetry Collector をインストールして実行するためのプロキシ設定を行うには、Collectorのプロキシ設定を構成する を参照してください。

設定されたレポを使用する 🔗

デフォルトでは、apt/yum/zypperのレポ定義ファイルが作成され、それぞれ https://splunk.jfrog.io/splunkhttps://packages.treasuredata.com からパッケージとFluentdのdeb/rpmパッケージをダウンロードします。

これらの手順を省略し、splunk-otel-collector および td-agent deb/rpm パッケージを提供するターゲットシステム上の設定済みレポを使用するには、--skip-collector-repo または --skip-fluentd-repo オプションを指定します。例:

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 --skip-collector-repo --skip-fluentd-repo \
 -- $SPLUNK_ACCESS_TOKEN

Configure automatic discovery for back-end applications 🔗

You can also automatically instrument your Java, Node.js, and .NET applications along with the Collector installation. Automatic discovery removes the need to configure receivers for each back-end application. See Automatic discovery and configuration for back-end applications in Linux for the installation instructions.

For more information on instrumentation, see:

Collector for Linux with Docker 🔗

Install the Collector in a host with Docker 🔗

If you’re installing your Collector instance in a host with Docker, you need to configure a client to establish a connection with the daemon. Depending on your Docker installation and Collector deployment method, try one of these options:

  1. If your daemon is listening to a domain socket (for example /var/run/docker.sock), your Collector service or executable needs appropriate permissions and access. Add the splunk-otel-collector user to the Docker group as configured on your system:

$ usermod -aG docker splunk-otel-collector
  1. When using the quay.io/signalfx/splunk-otel-collector image, add the default container user to the required group as configured on your system, and the bind and mount the domain socket:

$ docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --group-add $(stat -c '%g' /var/run/docker.sock) quay.io/signalfx/splunk-otel-collector:latest <...>

# or if specifying the user:group directly
$ docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --user "splunk-otel-collector:$(stat -c '%g' /var/run/docker.sock)" quay.io/signalfx/splunk-otel-collector:latest <...>

Use auto discovery with containers 🔗

If your Collector instance is running in a Docker container and the discovery targets are also containers, you need to share the Docker socket when launching the Collector container:

$ docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --group-add <socket_gid>

To use host bindings, run this command:

--set=splunk.discovery.extensions.docker_observer.config.use_host_bindings=true

Options of the installer script of the Collector for Linux 🔗

The Linux installer script supports the following options for the Collector, Automatic Discovery for back-end services and Fluentd.

スクリプトがサポートするすべての設定オプションを表示するには、-h フラグを使用します。

curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh;
sh /tmp/splunk-otel-collector.sh -h

Collector 🔗

オプション

説明

デフォルト値

--api-url <url>

指定されたレルムから推測されるエンドポイントを使用する代わりに、API エンドポイント URL を明示的に設定します。

https://api.REALM.signalfx.com

--collector-config <path>

Set the path to an existing custom configuration file for the Collector service instead of using the default configuration file provided by the Collector package based on the --mode <agent|gateway> option. If the specified file requires custom environment variables, you can manually add both the variables and values to /etc/otel/collector/splunk-otel-collector.conf after installation. Restart the Collector service with the sudo systemctl restart splunk-otel-collector command for the changes to take effect.

/etc/otel/collector/agent_config.yaml for agent mode; /etc/otel/collector/gateway_config.yaml for gateway mode

--collector-version <version>

インストールする Collector パッケージのバージョン。

latest

--discovery

Collector 起動時にディスカバリーモードを有効にします。詳細は Discover telemetry sources automatically を参照してください。

--hec-token <token>

Set the HEC token if it is different than the specified access_token.

--hec-url <url>

指定されたレルムから推測されるエンドポイントを使う代わりに、明示的にHECエンドポイントURLを設定します。

https://ingest.REALM.signalfx.com/v1/log

--ingest-url <url>

指定されたレルムから推測されるエンドポイントを使用する代わりに、明示的にインジェスト・エンドポイントのURLを設定します。

https://ingest.REALM.signalfx.com

--memory <memory size>

Total memory in MIB to allocate to the Collector. This option automatically calculates the ballast size. See サイジングとスケーリング for more information on how to scale and size the Collector.

512

--mode <agent|gateway>

Collector サービスがホスト監視 ( agent ) またはデータ転送 ( gateway ) モードで実行されるように構成します。詳細は、Collector のデプロイモード を参照してください。

agent

--listen-interface <ip>

Collector レシーバーがリッスンするネットワークインターフェイス。

127.0.0.1 for agent mode, otherwise 0.0.0.0

--realm <us0|us1|eu0|...>

使用する Splunk レルム。インジェスト、API、トレース、HEC のエンドポイント URL は、この値を使用して自動的に生成されます。

us0

--service-group <group>

splunk-otel-collector サービスのグループを設定します。このオプションは、グループが存在しない場合に作成します。

splunk-otel-collector

--service-user <user>

splunk-otel-collector サービスのユーザーを設定します。このオプションは、ユーザーが存在しない場合に作成します。

splunk-otel-collector

--skip-collector-repo

By default, a apt, yum, or zypper repo definition file is created to download the Collector package from https://splunk.jfrog.io. Use this option to skip the previous step and use a pre-configured repo on the target system that provides the splunk-otel-collector deb or rpm package.

--trace-url <url>

指定されたレルムから推測されるエンドポイントではなく、明示的にトレースエンドポイント URL を設定します。

https://ingest.REALM.signalfx.com/v2/trace

--

Use -- if the access token starts with -, for example -- -MY-ACCESS-TOKEN.

--uninstall

Linux 用 Splunk OpenTelemetry Collector を削除します。

Automatic Discovery for back-end services 🔗

オプション

説明

デフォルト値

--with[out]-instrumentation

Whether to install the splunk-otel-auto-instrumentation package and add the libsplunk.so shared object library to /etc/ld.so.preload to activate auto instrumentation for all supported processes on the host. Cannot be combined with the --with-systemd-instrumentation option. See Automatic discovery and configuration for back-end applications in Linux for more information.

--without-instrumentation

--with[out]-systemd-instrumentation

Whether to install the splunk-otel-auto-instrumentation package and configure a systemd drop-in file to activate auto instrumentation for all supported applications running as systemd services. Cannot be combined with the --with-instrumentation option. See Automatic discovery and configuration for back-end applications in Linux for more information.

--without-systemd-instrumentation

--with[out]-instrumentation-sdk <sdk>

Whether to enable auto instrumentation for a specific language. This option takes a comma separated set of values representing supported auto-instrumentation SDKs. Currently supported values: java, node, and dotnet. Use --with-instrumentation-sdk to enable only the specified language(s), for example --with-instrumentation-sdk java. Note: .NET (dotnet) auto instrumentation is only supported on x86_64/amd64.

--with-instrumentation-sdk java,nodejs,dotnet

--npm-path <path>

If Auto Instrumentation for Node.js is enabled, npm is required to install the included Splunk OpenTelemetry Auto Instrumentation for Node.js package. If npm is not found via the command -v npm shell command or if installation fails, Auto Instrumentation for Node.js will not be activated. Use this option to specify a custom path to npm, for example --npm-path /my/path/to/npm.

npm

--deployment-environment <value>

Set the deployment.environment resource attribute to the specified value. If not specified, the Environment in the Splunk APM UI will appear as unknown for all instrumented applications. The resource attribute will be appended to the OTEL_RESOURCE_ATTRIBUTES environment variable.

--service-name <name>

Override the auto-generated service names for all instrumented applications with the specified value. The value will be set to the OTEL_SERVICE_NAME environment variable.

--otlp-endpoint <host:port>

Set the OTLP endpoint for captured traces, logs, and metrics for all activated SDKs. The value will be set to the OTEL_EXPORTER_OTLP_ENDPOINT environment variable. If not specified, the default behavior is to defer to the default OTEL_EXPORTER_OTLP_ENDPOINT value for each activated SDK.

--otlp-endpoint-protocol <protocol>

Set the protocol for the OTLP endpoint, for example grpc or http/protobuf. The value will be set to the OTEL_EXPORTER_OTLP_PROTOCOL environment variable. If not specified, the default behavior is to defer to the default OTEL_EXPORTER_OTLP_PROTOCOL value for each activated SDK.

--metrics-exporter <exporters>

Comma-separated list of exporters for collected metrics by all activated SDKs, for example otlp,prometheus. Set the value to none to disable collection and export of metrics. The value will be set to the OTEL_METRICS_EXPORTER environment variable. The default behavior is to defer to the default OTEL_METRICS_EXPORTER value for each activated SDK.

--logs-exporter <exporter>

Set the exporter for collected logs by all activated SDKs, for example otlp. Set the value to none to deactivate collection and export of logs. The OTEL_LOGS_EXPORTER environment variable contains this value. By default, each activated SDK uses the default OTEL_LOGS_EXPORTER value.

--[enable|disable]-profiler

Activate or deactivate AlwaysOn CPU Profiling for all activated SDKs that support the SPLUNK_PROFILER_ENABLED environment variable.

--disable-profiler

--[enable|disable]-profiler-memory

Activate or deactivate AlwaysOn Memory Profiling for all activated SDKs that support the SPLUNK_PROFILER_MEMORY_ENABLED environment variable.

--disable-profiler-memory

--[enable|disable]-metrics

Activate or deactivate collection and exporting metrics for all activated SDKs that support the SPLUNK_METRICS_ENABLED environment variable.

--disable-metrics

--instrumentation-version

The splunk-otel-auto-instrumentation package version to install. Note: The minimum supported version for Java and Node.js auto instrumentation is 0.87.0, and the minimum supported version for .NET auto instrumentation is 0.99.0.

latest

Fluentd 🔗

オプション

説明

デフォルト値

--with[out]-fluentd

ログイベントをCollector に転送するためにfluentdをインストールして設定するかどうか。詳細は Collect Linux logs with Fluentd を参照してください。

--without-fluentd

--skip-fluentd-repo

By default, a apt/yum repo definition file will be created to download the fluentd deb/rpm package from https://packages.treasuredata.com. Use this option to skip the previous step and use a pre-configured repo on the target system that provides the td-agent deb/rpm package.

次のステップ 🔗

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

This page was last updated on 2024年09月20日.