Chefを使用してCollector for Linuxをデプロイする 🔗
Chef は、物理マシンや仮想マシン上のインフラを管理するために使われる構成管理技術です。Chef は Cookbook を使ってシナリオを定義します。
CookbookはChefの基本的な作業単位で、作業単位に関連するすべての詳細から構成され、Chefインフラストラクチャ上でノードとして構成されたシステムの設定や状態を変更する機能を持ちます。Cookbookは複数のタスクを実行できます。
前提条件 🔗
Chefを使うには以下のリソースが必要です:
公開されているポートを再確認して、環境に競合がないことを確認します。Collector の設定でポートを変更できます。詳細は 公開ポートとエンドポイント を参照してください。
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_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 から |
|
|
リクエストを認証する 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 設定ファイルへの宛先パス。 |
|
バックエンドアプリケーションの自動ディスカバリーを設定する(Linuxのみ) 🔗
自動ディスカバリーを使用して、Collectorのインストールと一緒にバックエンドアプリケーションアプリケーションを自動的にインストルメンテーションすることができます。自動ディスカバリーを使用すると、OpenTelemetryエージェントを個別にインストールして設定する必要がなくなります。詳細は App とサービスのオートディスカバリー を参照してください。 自動ディスカバリーを有効にするには、インストール後または設定変更後に、ノード上のインストルメンテーション対象のアプリケーションを個別に起動または再起動する必要があります。
次の表はこの Chef Cookbook で設定できる変数を示しています:
Name |
説明 |
デフォルト値 |
---|---|---|
|
バックエンドアプリケーションの自動ディスカバリーをインストールまたは管理するかどうか。 |
|
|
インストールおよび有効化する自動ディスカバリー SDK。注: |
|
|
インストールする |
|
|
|
|
|
デフォルトでは、ノード上の |
|
|
OpenTelemetryインストルメンテーションリソース属性を設定します。例えば、 |
|
|
ノード上のすべてのインストルメンテーションされたアプリケーションのサービス名を明示的に設定します(例: |
|
|
AlwaysOn CPU プロファイリングを有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。 |
|
|
AlwaysOn Memory Profiling を有効または無効にします。詳細については、AlwaysOn Profilingの Node.js 設定 を参照してください。 |
|
|
インストルメンテーションメトリクスのエクスポートを有効または無効にします。 |
|
|
すべてのアクティブ化されたSDKによって収集されたメトリクス、トレース、ログにOTLPエンドポイントを設定します。 |
|
|
すべてのアクティブ化されたSDK、たとえば、 |
|
|
すべての有効化されたSDK、たとえば |
|
|
アクティブ化されたすべてのSDK、たとえば |
|
|
Splunk OpenTelemetry Java エージェントへのパス。デフォルトのパスは |
|
|
プリインストールされている |
|
次のステップ 🔗
パッケージをインストールしたら、以下を参照してください: