Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Linux を使い始める » デプロイツールを使用して Collector for Linuxをインストールする » Saltを使用してCollector for Linuxをデプロイする

Saltを使用してCollector for Linuxをデプロイする 🔗

式を使用して Collector をインストールおよび設定し、Linux マシンからメトリクス、トレース、ログを収集し、Splunk Observability Cloud にデータを送信することができます。Salt モジュールをダウンロードするには、GitHub リポジトリ を参照してください。

数式はあらかじめ書かれた Salt States です。Salt States と同様に自由で、パッケージのインストール、サービスの設定と開始、ユーザーやアクセス許可の設定、その他多くの一般的なタスクに使用できます。

前提条件 🔗

Salt を使うには以下のリソースが必要です:

サポートされているLinuxバージョン 🔗

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

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

  • CentOS: 7, 8, 9

  • Red Hat: 7, 8, 9

  • Oracle: 8, 9

  • Debian: 11, 12

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

  • Ubuntu:16.04、18.04、20.04、22.04、24.04

  • Rocky Linux: 8, 9

はじめに 🔗

Saltは、ユーザー定義のデータを 「ミニオン」が利用できるようにするために、「ピラー」と呼ばれるキーバリューストアを使用します。Saltはミニオンを、マネージャーからのコマンドを聞き、要求されたタスクを実行できるSaltミニオンデーモンを実行しているサーバーと定義しています。一般的に、ミニオンはSaltを使って制御されるサーバーです。

splunk-otel-collector ピラーですべての属性を設定することができます。例:

splunk-otel-collector:
splunk_access_token: "MY_ACCESS_TOKEN"
splunk_realm: "SPLUNK_REALM"
splunk_repo_base_url: https://splunk.jfrog.io/splunk
splunk_otel_collector_config: '/etc/otel/collector/agent_config.yaml'
splunk_service_user: splunk-otel-collector
splunk_service_group: splunk-otel-collector

Linux 対応の属性 🔗

Linuxの場合、数式は以下の表に示す属性を受け付けます:

Name

説明

デフォルト値

collector_version

インストールする Collector パッケージのバージョン(例: 0.25.0 )。バージョンは、Github Releases の前の v を除いたものに対応する必要があります。Linuxでは、このパラメータが指定されていない場合、最新のCollectorバージョンがインストールされることに注意してください。

なし

gomemlimit

Collector バージョン 0.97.0 から splunk_ballast_size_mib に代わります。詳細については、設定でメモリバラストを更新する方法 を参照してください。

splunk_total_mem_mib の90%

splunk_access_token

リクエストを認証する Splunk アクセストークン。この属性は必須です。

なし

splunk_realm

どのレルムにデータを送信するか、例えば us0。Splunk のインジェスト URL と API URL は、この値によって推測されます。コレクターサービスでは、SPLUNK_REALM 環境変数にこの値が設定されます。この属性は必須です。Splunk レルムを検索するには、レルムについての注意 を参照してください。

なし

splunk_ingest_url

$splunk_realm パラメータによって推測される URL ではなく、明示的に Splunk インジェスト URL を設定します。環境変数 SPLUNK_INGEST_URL には、Collector サービスに対してこの値が設定されます。

https://ingest.${splunk_realm}.signalfx.com

splunk_api_url

$splunk_realm パラメータによって推測される URL ではなく、明示的に Splunk API URL を設定します。環境変数 SPLUNK_API_URL には、Collector サービスに対してこの値が設定されます。

https://api.${splunk_realm}.signalfx.com

splunk_trace_url

$splunk_ingest_url パラメータによって推測される URL ではなく、明示的に Splunk トレースエンドポイント URL を設定します。環境変数 SPLUNK_TRACE_URL には、Collector サービスに対してこの値が設定されます。

${splunk_ingest_url}/v2/trace

splunk_hec_url

$splunk_ingest_url パラメータによって推測される URL ではなく、明示的に Splunk HEC エンドポイントの URL を設定します。環境変数 SPLUNK_HEC_URL には、Collector サービスに対してこの値が設定されます。

${splunk_ingest_url}/v1/log

splunk_hec_token

Splunk HEC 認証トークンを設定します ( $splunk_access_token と異なる場合)。SPLUNK_HEC_TOKEN 環境変数には、Collector サービスに対してこの値が設定されます。

$splunk_access_token

splunk_bundle_dir

Smart Agentバンドルディレクトリへのパス。デフォルトのパスはCollectorパッケージによって提供されます。指定したパスをデフォルト値から変更する場合は、ノードの既存のディレクトリにする必要があります。Collectorサービスでは、SPLUNK_BUNDLE_DIR 環境変数にこの値が設定されます。

/usr/lib/splunk-otel-collector/agent-bundle

splunk_collectd_dir

Smart Agent バンドルのcollectd設定ディレクトリへのパス。デフォルトのパスはCollectorパッケージによって提供されます。指定されたパスがデフォルト値から変更される場合、パスはノード上の既存のディレクトリである必要があります。Collectorサービスでは、SPLUNK_COLLECTD_DIR 環境変数にこの値が設定されます。

${splunk_bundle_dir}/run/collectd

splunk_memory_total_mib

Collector に割り当てる MIB の合計メモリ。バラストサイズを自動的に計算します。Collector サービスでは、SPLUNK_MEMORY_TOTAL_MIB 環境変数にこの値が設定されます。

512

splunk_ballast_size_mib

splunk_ballast_size_mib は Collector バージョン 0.97.0 から非推奨です。使用している場合は、設定の更新方法 を参照してください。

splunk_memory_total_mib 合計の1/3

splunk_otel_collector_config_source

リモートホストの splunk_otel_collector_config の代わりにアップロードして設定する、コントロールホストの Collector 設定 YAML ファイルのソースパス。カスタムCollector設定を使用するには、Salt dirに設定ファイルを追加します。たとえば、salt://templates/agent_config.yaml

""、つまり、何もコピーされず、既存の splunk_otel_collector_config が使用されます

service_user$service_group

Collector サービスのユーザーまたはグループの所有権を設定します。ユーザーまたはグループが存在しない場合は作成されます。

splunk-otel-collector

install_fluentd

ログ収集のための Fluentd と依存関係をインストールするか管理するかどうか。Linux では、依存関係には、Linux の機能を有効にするための capng_c、systemd ジャーナルログ収集のための fluent-plugin-systemd、必要なライブラリと開発ツールが含まれます。

false

td_agent_version

インストールする td-agent (Fluentd) パッケージのバージョン

4.3.0

splunk_fluentd_config

リモートホストの Fluentd 設定ファイルへのパス。

/etc/otel/collector/fluentd/fluent.conf

splunk_fluentd_config_source

リモートホストの splunk_fluentd_config ファイルの代わりにアップロードして設定する、コントロールホストのFluentd 設定ファイルのソースパスです。カスタム Fluentd 設定ファイルを使うには、設定ファイルを Salt dirに追加します。例えば、salt://templates/td_agent.conf

"" つまり、何もコピーされず、既存の splunk_fluentd_config ファイルが使われます。

fluentd_config_dest

ノード上の Fluentd 設定ファイルへの宛先パス。$with_fluentdtrue に設定されている場合にのみ適用されます。

/etc/otel/collector/fluentd/fluent.conf

バックエンドアプリケーションの自動ディスカバリーを設定する 🔗

Collectorのインストールと同時に、バックエンドのアプリケーションを自動的にインストルメンテーションすることができます。自動ディスカバリーにより、OpenTelemetry SDKを個別にインストールして設定する必要がなくなります。詳細は バックエンドアプリケーションの自動ディスカバリーを設定する を参照してください。

次の表に、このSaltモジュールで設定可能な変数を示します:

Name

説明

デフォルト値

install_auto_instrumentation

バックエンドアプリケーションの自動ディスカバリーをインストールまたは管理するかどうか。true に設定すると、splunk-otel-auto-instrumentation deb/rpmパッケージがCollectorリポジトリからダウンロードされてインストールされます。自動ディスカバリーまたは設定の変更を有効にするには、インストール後にノード上のアプリケーションを個別に起動または再起動する必要があります。詳細については、Linux でのバックエンドアプリケーションのゼロコードインストルメンテーション を参照してください。

false

auto_instrumentation_version

インストールする splunk-otel-auto-instrumentation パッケージのバージョン、例えば 0.50.0。サポートされる最小バージョンは、Javaの場合は 0.48.0、Node.jsの場合は 0.87.0、.NETの場合は 0.99.0 です。

latest

auto_instrumentation_systemd

systemd サービスのみの自動ディスカバリーを有効にして設定するかどうか。true に設定すると、自動ディスカバリー環境変数が /usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf に追加されます。

false

auto_instrumentation_ld_so_preload

デフォルトでは、ノード上の /etc/ld.so.preload ファイルは /usr/lib/splunk-instrumentation/libsplunk.so パッケージが提供する splunk-otel-auto-instrumentation 共有オブジェクトライブラリ用に設定されており、自動ディスカバリーに必要です。この変数を設定して、追加のライブラリパス、例えば /path/to/my.library.so を含めることができます。

''

auto_instrumentation_java_agent_path

Splunk OpenTelemetry Java エージェントへのパス。デフォルトのパスは splunk-otel-auto-instrumentation パッケージによって提供されます。パスをデフォルト値から変更する場合は、ノード上の既存のファイルである必要があります。

/usr/lib/splunk-instrumentation/splunk-otel-javaagent.jar

auto_instrumentation_npm_path

Node.js SDKをインストールするために必要な、プリインストールされた npm コマンドへのパス。例えば、/my/custom/path/to/npm

npm

auto_instrumentation_resource_attributes

OpenTelemetryインストルメンテーションリソースの属性を設定します。例: deployment.environment=prod

''

auto_instrumentation_service_name

すべてのインストルメンテーション対象アプリケーションのサービス名を明示的に設定します(例: my.service )。デフォルトでは、サービス名は、ノード上でインストルメンテーションされる検出された各実行可能ファイルの引数から自動的に導出されます。しかし、この変数に空でない値を設定すると、その値はすべての派生サービス名をオーバーライドします。

''

auto_instrumentation_enable_profiler

AlwaysOn CPU プロファイリングを有効または無効にします。

false

auto_instrumentation_enable_profiler_memory

AlwaysOn Memory Profiling を有効または無効にします。

false

auto_instrumentation_enable_metrics

インストルメンテーションメトリクスをアクティブまたは非アクティブにします。

false

auto_instrumentation_otlp_endpoint

すべてのアクティブ化されたSDKによって収集されたメトリクス、トレース、ログにOTLPエンドポイントを設定します。auto_instrumentation_versionlatest または 0.87.0 以上の場合のみ適用されます。

'' で、それぞれのアクティブにれたSDKについてデフォルトに延期します。

auto_instrumentation_otlp_endpoint_protocol

すべてのアクティブ化されたSDK、たとえば、grpc または http/protobuf によって収集されたメトリクス、トレース、ログにOTLPエンドポイントプロトコルを設定します。auto_instrumentation_versionlatest または 0.104.0 以上の場合のみ適用されます。

'' で、それぞれのアクティブにれたSDKについてデフォルトに延期します。

auto_instrumentation_metrics_exporter

すべての有効化されたSDK、たとえば otlp,prometheus によって収集されたメトリックのエクスポーターのコマ区切りリスト。値を none に設定すると、メトリクスの収集とエクスポートが無効になります。auto_instrumentation_versionlatest または 0.104.0 以上の場合のみ適用されます。

'' で、それぞれのアクティブにれたSDKについてデフォルトに延期します。

auto_instrumentation_logs_exporter

アクティブ化されたすべてのSDK、たとえば otlp によって収集されたログのエクスポー ターを設定します。値を none に設定すると、メトリクスの収集とエクスポートが無効になります。auto_instrumentation_versionlatest または 0.108.0 以上の場合のみ適用されます。

'' で、それぞれのアクティブにれたSDKについてデフォルトに延期します。

次のステップ 🔗

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

このページは 2025年03月31日 に最終更新されました。