Chefを使用してCollector for Linuxをデプロイする
Chef を使用して OpenTelemetry Collector をインストールおよび設定し、Linux および Windows マシンからメトリクス、トレース、ログを収集し、Splunk Observability Cloud にデータを送信します。
Chef は、物理マシンや仮想マシン上のインフラを管理するために使われる構成管理技術です。Chef は Cookbook を使ってシナリオを定義します。
Cookbook は Chef の基本作業単位で、作業単位に関連するすべての詳細から構成され、Chef インフラストラクチャ上でノードとして構成されたシステムの設定や状態を変更する機能を持ちます。Cookbook は複数のタスクを実行できます。
前提条件
Chefを使うには以下のリソースが必要です:
-
公開ポートをダブルチェックし、使用環境にコンフリクトがないことを確認してください。 Collector の設定でポートを変更できます。詳細については、「公開ポートとエンドポイント」 を参照してください。
Linux
Collector は以下のLinuxディストリビューションとバージョンをサポートしています:
-
Amazon Linux: 2、2023
-
CentOS: 7、8、9
-
Red Hat: 7、8、9
-
Oracle: 8、9
-
Debian: 11、12
-
SUSE:バージョン 0.34.0 以降の場合は 12、15
-
Ubuntu:16.04、18.04、20.04、22.04、24.04
-
Rocky Linux:8, 9
ChefでCollectorをインストールして使う
コミュニティの Cookbook のサイトである Chef Supermarket から Chef Cookbook をダウンロードしてください。
Collector をインストールするには、splunk_otel_collector::default レシピを run_list に含め、ノードの run_state で属性を設定します。以下は、必須属性である splunk_access_token 属性と、いくつかの任意属性を設定する方法を示したサンプル構成です。
{
"splunk-otel-collector": {
"splunk_access_token": "<SPLUNK_ACCESS_TOKEN>",
"splunk_realm": "<SPLUNK_REALM>",
}
}
Linux 対応の属性
Linuxの場合、Cookbook は以下の表に示す属性を受け入れます:
|
Name |
説明 |
デフォルト値 |
|---|---|---|
|
|
インストールする Collector パッケージのバージョンです。 |
なし |
|
|
Collector バージョン 0.97.0 以降で、 |
|
|
|
リクエストを認証するためのSplunkアクセストークン。属性は必須です。 |
なし |
|
|
データを送信するレルムを指定します( |
なし |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Smart Agent バンドルディレクトリのパスです。デフォルトのパスは、Collector パッケージによって提供されます。指定するパスがデフォルト値から変更されている場合、パスはノード上の既存のディレクトリにする必要があります。Collector サービスでは、 |
|
|
|
Smart Agent バンドル用の collectd 設定ディレクトリへのパスです。デフォルトのパスは、Collector パッケージによって提供されます。指定するパスがデフォルト値から変更されている場合、パスはノード上の既存のディレクトリにする必要があります。Collector サービスでは、 |
|
|
|
Collector に割り当てる合計メモリ(MIB 単位)です。バラストサイズは自動的に計算されます。Collector サービスでは、 |
|
|
|
|
|
|
|
Collector 設定 YAML ファイルへのソースパス。このファイルは、ノードの |
|
|
|
ノード上の Collector 構成ファイルの保存先パス。 |
|
|
|
Collector 設定オブジェクト。このオブジェクトの下にあるものはすべて直接 YAML に変換され、Collector 設定ファイルになります。このオプションを使用することで |
|
|
|
Collector サービスのユーザーまたはグループの所有権を設定します。ユーザーまたはグループが存在しない場合は作成されます。 |
|
|
|
使用する Collector パッケージリポジトリのステージ。には |
|
バックエンドアプリケーションの自動ディスカバリーを設定する(Linuxのみ)
自動検出を使用して、Collector のインストールとともにバックエンドアプリケーションを自動的にインストルメンテーションできます。自動検出機能により、OpenTelemetry エージェントを個別にインストールおよび設定する必要がなくなります。詳細については、「アプリとサービスの自動検出」を参照してください。自動検出を有効にするには、インストールまたは設定の変更後に、ノードでインストルメンテーションされるアプリケーションを個別に起動または再起動する必要があります。
次の表はこの Chef Cookbook で設定できる変数を示しています:
|
Name |
説明 |
デフォルト値 |
|---|---|---|
|
|
バックエンドアプリケーションの自動検出をインストールまたは管理するかどうかを決定します。 |
|
|
|
インストールしてアクティブ化する自動検出 SDK です。注: |
|
|
|
インストールする |
|
|
|
|
|
|
|
デフォルトでは、ノード上の |
|
|
|
OpenTelemetryインストルメンテーションリソースの属性を設定します。例: |
|
|
|
ノード上でインストルメンテーションされたすべてのアプリケーションサービス名を明示的に設定します( |
|
|
|
AlwaysOn CPU プロファイリングを有効または無効にします。「AlwaysOn Profiling の Node.js 設定」を参照してください。 |
|
|
|
AlwaysOn Memory Profiling を有効または無効にします。「AlwaysOn Profiling の Node.js 設定」を参照してください。 |
|
|
|
インストルメンテーションメトリクスのエクスポートを有効または無効にします。 |
|
|
|
あらゆる有効 SDK が収集したメトリクス、トレース、ログに OTLP エンドポイントを設定します。 |
|
|
|
|
|
|
|
すべてのアクティブ化された SDK によって収集されたメトリクスのエクスポータのカンマ区切りリスト( |
|
|
|
あらゆる有効 SDK が収集したログにエクスポータを設定します( |
|
|
|
Splunk OpenTelemetry Java エージェントへのパスです。デフォルトのパスは、 |
|
|
|
プリインストールされている |
|
次のステップ
パッケージをインストールしたら、以下を参照してください: