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 Zero-code instrumentation for back-end applications in Linux for the installation instructions.

For more information on APM instrumentation, see:

Collector for Linux with Docker 🔗

Install the Collector in a host with Docker 🔗

Dockerを使用してCollectorインスタンスをホストにインストールしている場合は、デーモンとの接続を確立するためにクライアントを設定する必要があります。DockerのインストールとCollectorのデプロイ方法に応じて、以下のオプションのいずれかを試してください:

  1. デーモンがドメインソケット(たとえば /var/run/docker.sock )をリッスンしている場合、Collectorサービスまたは実行ファイルに適切な権限とアクセスが必要です。システムで設定されているDockerグループに splunk-otel-collector ユーザーを追加します:

$ usermod -aG docker splunk-otel-collector
  1. quay.io/signalfx/splunk-otel-collector 画像を使用する場合は、デフォルトのコンテナユーザーを、システムで設定されている必要なグループに追加し、ドメインソケットをバインドしてマウントします:

$ 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 🔗

CollectorインスタンスがDockerコンテナで実行され、検出ターゲットもコンテナである場合、Collectorコンテナを起動するときにDockerソケットを共有する必要があります:

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

ホストバインディングを使用するには、次のコマンドを実行します:

--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 with zero-code instrumentation 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.

agent モード用 /etc/otel/collector/agent_config.yamlgateway モード用 /etc/otel/collector/gateway_config.yaml

--collector-version <version>

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

latest

--discovery

Collector 起動時にディスカバリーモードを有効にします。詳細は Automatic discovery of apps and services を参照してください。

--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 レシーバーがリッスンするネットワーク・インターフェイス。

agent モード用 127.0.0.1、それ以外の場合は 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 with zero-code instrumentation 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 zero-code instrumentation for all supported processes on the host. Cannot be combined with the --with-systemd-instrumentation option. See Zero-code instrumentation 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 zero-code instrumentation for all supported applications running as systemd services. Cannot be combined with the --with-instrumentation option. See Zero-code instrumentation for back-end applications in Linux for more information.

--without-systemd-instrumentation

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

Whether to enable zero-code 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) zero-code instrumentation is only supported on x86_64/amd64.

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

--npm-path <path>

If zero-code instrumentation for Node.js is enabled, npm is required to install the included Splunk OpenTelemetry zero-code instrumentation for Node.js package. If npm is not found via the command -v npm shell command or if installation fails, zero-code 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>

deployment.environment リソース属性を指定した値に設定します。指定しない場合、Splunk APM UI の Environment は、すべてのインストルメント済みアプリケーションの unknown として表示されます。リソース属性は OTEL_RESOURCE_ATTRIBUTES 環境変数に追加されます。

--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>

すべてのアクティブ化されたSDKのキャプチャされたトレース、ログ、およびメトリックのOTLPエンドポイントを設定します。値は OTEL_EXPORTER_OTLP_ENDPOINT 環境変数に設定されます。指定しない場合、デフォルトの動作は、アクティブ化された各SDKのデフォルト値 OTEL_EXPORTER_OTLP_ENDPOINT に延期されます。

--otlp-endpoint-protocol <protocol>

OTLPエンドポイントのプロトコル、例えば、grpc または http/protobuf を設定します。値は OTEL_EXPORTER_OTLP_PROTOCOL 環境変数に設定されます。指定されない場合、デフォルトの動作は、各アクティブ化されたSDKのデフォルトの OTEL_EXPORTER_OTLP_PROTOCOL 値に延期されます。

--metrics-exporter <exporters>

すべての有効化されたSDKによって収集されたメトリクスのエクスポーターのコマ区切りリスト。例: otlp,prometheus。メトリクスの収集とエクスポートを無効にするには、この値を none に設定します。この値は、 OTEL_METRICS_EXPORTER 環境変数に設定されます。デフォルトの動作は、アクティブ化された各SDKのデフォルトの OTEL_METRICS_EXPORTER 値に従います。

--logs-exporter <exporter>

すべてのアクティブ化されたSDKによって収集されたログのエクスポーターを設定します(例: otlp )。ログの収集とエクスポートを非アクティブにするには、値を none に設定します。 OTEL_LOGS_EXPORTER 環境変数にはこの値が含まれています。デフォルトでは、アクティブ化された各SDKはデフォルトの OTEL_LOGS_EXPORTER 値を使用します。

--[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 zero-code instrumentation is 0.87.0, and the minimum supported version for .NET zero-code 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.

次のステップ 🔗

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

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