ChefでCollectorをデプロイする 🔗
Chef は、物理マシンや仮想マシン上のインフラを管理するために使われる構成管理技術です。Chef は Cookbook を使ってシナリオを定義します。
CookbookはChefの基本的な作業単位で、作業単位に関連するすべての詳細から構成され、Chefインフラストラクチャ上でノードとして構成されたシステムの設定や状態を変更する機能を持ちます。Cookbookは複数のタスクを実行できます。
前提条件 🔗
Chefを使うには以下のリソースが必要です:
公開されているポートを再確認して、環境に競合がないことを確認します。Collector の設定でポートを変更できます。詳細は 公開ポートとエンドポイント を参照してください。
Linux 🔗
以下のLinuxディストリビューションとバージョン:
Amazon Linux: 2
CentOS、Red Hat、Oracle: 7、8、9
Debian: 9, 10, 11
SUSE: 12, 15 (注: Collector バージョン 0.34.0 以降のみ。Fluentdによるログ収集は現在サポートされていません)。
Ubuntu:18.04, 20.04, 22.04
Windows 🔗
以下のWindowsバージョン。すべてのバージョンでPowerShell 3.0以降を使用する必要があります。
Windows Server 2019 64 ビット
Windows Server 2022 64-bit
注意
Windowsでは、CollectorはWindowsサービスとしてインストールされ、その環境変数はサービススコープで設定されるため、Collectorサービスでのみ使用でき、マシン全体では使用できません。
ChefでCollectorをインストールして使う 🔗
コミュニティの Cookbook のサイトである Chef Supermarket から Chef Cookbook をダウンロードしてください。
Collector をインストールするには、run_list
に splunk_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 パッケージのバージョン(例: |
なし |
|
Collector バージョン 0.97.0 から |
90% of |
|
リクエストを認証する Splunk アクセストークン。この属性は必須です。 |
なし |
|
どのレルムにデータを送信するか、例えば |
なし |
|
|
|
|
|
|
|
|
|
|
Smart Agentバンドルディレクトリへのパス。デフォルトのパスはCollectorパッケージによって提供されます。指定したパスをデフォルト値から変更する場合は、ノードの既存のディレクトリにする必要があります。Collectorサービスでは、 |
|
|
Smart Agent バンドルのcollectd設定ディレクトリへのパス。デフォルトのパスはCollectorパッケージによって提供されます。指定されたパスがデフォルト値から変更される場合、パスはノード上の既存のディレクトリである必要があります。Collectorサービスでは、 |
|
|
Collector に割り当てる MIB の合計メモリ。バラストサイズを自動的に計算します。Collector サービスでは、 |
|
|
|
|
|
Collector 設定 YAML ファイルのソースパス。このファイルはノードの |
|
|
ノード上の Collector 構成ファイルの宛先パス。Collectorサービスでは、 |
|
|
Collector 設定オブジェクト。このオブジェクトの下にあるものはすべて直接 YAML に変換され、Collector 設定ファイルになります。このオプションを使用すると、 |
|
|
Collector サービスのユーザーまたはグループの所有権を設定します。ユーザーまたはグループが存在しない場合は作成されます。 |
|
|
使用する Collector パッケージ・リポジトリステージ。 |
|
|
ログ収集のための Fluentd と依存関係をインストールするか管理するかどうか。Linux では、依存関係には、Linux の機能を有効にするための |
|
|
インストールする td-agent (Fluentd) パッケージのバージョン |
Debian stretch 用の |
|
Fluentd 設定ファイルのソースパス。このファイルはノードの |
|
|
ノード上の Fluentd 設定ファイルへの宛先パス。 |
|
Configure automatic discovery for back-end applications (Linux only) 🔗
You can automatically instrument your back-end applications applications along with the Collector installation using automatic discovery. Automatic discovery removes the need to install and configure OpenTelemetry agents separately. See Discover telemetry sources automatically for more information. The applications to be instrumented on the node need to be started or restarted separately after installation or any configuration changes for automatic discovery to take effect.
次の表はこの Chef Cookbook で設定できる変数を示しています:
Name |
説明 |
デフォルト値 |
---|---|---|
|
Whether to install or manage automatic discovery for back-end applications. When set to |
|
|
The automatic discovery SDKs to install and activate. Note: |
|
|
Version of the |
|
|
Whether to activate and configure the automatic discovery for |
|
|
By default, the |
|
|
OpenTelemetryインストルメンテーションリソース属性を設定します。例えば、 |
|
|
ノード上のすべてのインストルメンテーションされたアプリケーションのサービス名を明示的に設定します(例: |
|
|
AlwaysOn CPU プロファイリングを有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。 |
|
|
AlwaysOn Memory Profiling を有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。 |
|
|
インストルメンテーションメトリクスのエクスポートを有効または無効にします。 |
|
|
トレースを受信する OTLP gRPC エンドポイントを設定します。OpenTelemetry Collector バージョン |
|
|
Splunk OpenTelemetry Java エージェントへのパス。デフォルトのパスは |
|
|
プリインストールされている |
|
Configure automatic discovery for SignalFx .NET (Windows only) 🔗
You can automatically instrument your .NET applications along with the Collector installation using automatic discovery. Automatic discovery removes the need to install and configure the SignalFx .NET agent separately. See Discover telemetry sources automatically for more information.
Cookbook は以下の表に示す属性を受け入れます:
Name |
説明 |
デフォルト値 |
---|---|---|
|
Whether to install or manage automatic discovery for .NET. When set to |
|
|
ダウンロードしてインストールする |
|
|
カスタムホストから MSI をダウンロードする URL を指定します (例: |
|
|
デフォルトでは、 |
|
|
Whether to configure automatic discovery for all .NET applications on the node. When set to |
|
|
Splunk APM に報告されるデプロイメント環境変数を設定します (例: |
|
|
インストルメンテーションされたアプリケーションのサービス名を設定します。例: |
|
|
AlwaysOn Profiling を有効または無効にします。この値は、Windows レジストリの |
|
|
AlwaysOn Memory Profiling を有効または無効にします。この値は、Windows レジストリの |
|
|
上記のオプションに加えて、Windowsレジストリに追加するオプションのハッシュ。詳しくは SignalFx Instrumentation for .NETの設定 を参照してください。 |
|
追加の環境変数 🔗
CollectorのサービスにCollector 設定ファイルから追加の環境変数を含めるには、collector_additional_env_vars
を使用します。デフォルトでは {}
です。
たとえば、Collector の設定ファイルに ${MY_CUSTOM_VAR1}
と ${MY_CUSTOM_VAR2}
への参照が含まれている場合、Collector サービスがこれらの変数を展開できるようにするには、次のように指定します:
collector_additional_env_vars: {'MY_CUSTOM_VAR1' => 'value1', 'MY_CUSTOM_VAR2' => 'value2'}
Linuxでは、変数/値は /etc/otel/collector/splunk-otel-collector.conf
systemd環境ファイルに追加されます。
Windows では、変数/値は HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\splunk-otel-collector
レジストリキーの下の Environment 値に追加されます。