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

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

Chef は、物理マシンや仮想マシン上のインフラを管理するために使われる構成管理技術です。Chef は Cookbook を使ってシナリオを定義します。

CookbookはChefの基本的な作業単位で、作業単位に関連するすべての詳細から構成され、Chefインフラストラクチャ上でノードとして構成されたシステムの設定や状態を変更する機能を持ちます。Cookbookは複数のタスクを実行できます。

前提条件 🔗

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

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

ChefでCollectorをインストールして使う 🔗

コミュニティの Cookbook のサイトである Chef Supermarket から Chef Cookbook をダウンロードしてください。

Collector をインストールするには、run_listsplunk_otel_collector::default レシピをインクルードし、ノードの run_state に属性を設定します。以下は、必須の splunk_access_token 属性とオプションの属性を設定する方法を示す設定例です:

{
    "splunk-otel-collector": {
        "splunk_access_token": "<SPLUNK_ACCESS_TOKEN>",
        "splunk_realm": "<SPLUNK_REALM>",
    }
}

Linux 対応の属性 🔗

Linuxの場合、Cookbook は以下の表に示す属性を受け入れます:

Name

説明

デフォルト値

collector_version

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

なし

gomemlimit

Collector バージョン 0.97.0 から splunk_ballast_size_mib に代わります。GO ランタイムのメモリ使用量を制限し、ガベージコレクションを強化して、メモリ不足を防ぎます。詳細については、設定でメモリバラストを更新する方法 を参照してください。

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_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 から非推奨です。使用している場合は、設定の更新方法 を参照してください。

"

collector_config_source

Collector 設定 YAML ファイルのソースパス。このファイルはノードの $collector_config_dest パスにコピーされます。サポートされる値のタイプについては、ファイルリソースの ソース属性 を参照してください。デフォルトのソースファイルはCollectorパッケージで提供されます。

/etc/otel/collector/agent_config.yaml

collector_config_dest

ノード上の Collector 構成ファイルの宛先パス。Collectorサービスでは、SPLUNK_CONFIG 環境変数にこの値が設定されます。

/etc/otel/collector/agent_config.yaml

node['splunk_otel_collector']['collector_config']

Collector 設定オブジェクト。このオブジェクトの下にあるものはすべて直接 YAML に変換され、Collector 設定ファイルになります。このオプションを使用すると、collector_config_source の機能が優先されます。

{}

service_user$service_group

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

splunk-otel-collector

package_stage

使用する Collector パッケージ・リポジトリステージ。releasebeta 、または test を指定できます。

release

with_fluentd

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

false

fluentd_version

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

Debian stretch 用の 3.7.1 およびその他すべての Linux ディストロ用の 4.3.1

fluentd_config_source

Fluentd 設定ファイルのソースパス。このファイルはノードの $fluentd_config_dest パスにコピーされます。サポートされている値のタイプについては、ファイルリソースの ソース属性 を参照してください。デフォルトのソースファイルは Collector パッケージによって提供されます。$with_fluentdtrue に設定されている場合のみ適用できます。

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

fluentd_config_dest

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

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

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

自動ディスカバリーを使用して、Collectorのインストールと一緒にバックエンドアプリケーションアプリケーションを自動的にインストルメンテーションすることができます。自動ディスカバリーを使用すると、OpenTelemetryエージェントを個別にインストールして設定する必要がなくなります。詳細は App とサービスのオートディスカバリー を参照してください。 自動ディスカバリーを有効にするには、インストール後または設定変更後に、ノード上のインストルメンテーション対象のアプリケーションを個別に起動または再起動する必要があります。

次の表はこの Chef Cookbook で設定できる変数を示しています:

Name

説明

デフォルト値

with_auto_instrumentation

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

false

with_auto_instrumentation_sdks

インストールおよび有効化する自動ディスカバリー SDK。注: dotnet は現在 x86_64/amd64 でのみサポートされています。

%w(java nodejs dotnet)

auto_instrumentation_version

インストールする splunk-otel-auto-instrumentation パッケージのバージョン、例えば 0.50.0。サポートされる最小バージョンは、Javaの場合は 0.48、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_resource_attributes

OpenTelemetryインストルメンテーションリソース属性を設定します。例えば、deployment.environment=prd,my.key=my.valuekey=value ペアのカンマ区切り文字列)。指定されたリソース属性は、ノード上の /etc/splunk/zeroconfig/node.conf 設定ファイル、または systemd インストール方法を使用している場合は /usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf に追加されます。

''

auto_instrumentation_service_name

ノード上のすべてのインストルメンテーションされたアプリケーションのサービス名を明示的に設定します(例: my.service )。デフォルトでは、インストルメンテーションされたアプリケーションごとにサービス名が自動的に導出されます。しかし、この変数に空でない値が設定されると、その値は派生したサービス名を上書きします。

''

auto_instrumentation_enable_profiler

AlwaysOn CPU プロファイリングを有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。

false

auto_instrumentation_enable_profiler_memory

AlwaysOn Memory Profiling を有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。

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についてデフォルトに延期します。

auto_instrumentation_java_agent_path

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

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

auto_instrumentation_npm_path

プリインストールされている npm コマンドへのパス、例: /my/custom/path/to/npm

npm

次のステップ 🔗

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

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