Automatic discovery and configuration for back-end applications in Linux 🔗
When using automatic discovery and configuration, the Splunk Distribution of OpenTelemetry Collector automatically detects back-end applications running in your Linux environment.
By deploying the Collector with automatic discovery, you can instrument applications and send data to Splunk Observability Cloud without editing your application’s code or configuring files.
Automatic discovery for Linux can detect and configure the following applications and language runtimes:
Java
Node.js
.NET
How automatic discovery for Linux works 🔗
Automatic discovery for Linux operates as a mode of the Splunk Distribution of OpenTelemetry Collector. You install and activate automatic discovery for the Collector by using the Linux installer script or package manager. During installation, you can specify the types of language runtimes you want the Collector to detect.
After installation, the Collector runs in your Linux environment and listens for requests to your applications. When the Collector detects activity, it gathers telemetry data from your application runtime and sends this data to Splunk Application Performance Monitoring (APM).
要件 🔗
You need the following components to use automatic discovery for back-end Linux applications:
systemd
curl
sudo
Make sure you’ve also installed the components specific to your language runtime:
Java version 8 or higher and supported libraries. See Javaエージェントの互換性と要件 for more information.
Node.jsのバージョン14以上とサポートされているライブラリ。詳しくは Splunk OTel JS の互換性と要件 を参照してください。
.NET version 6.0 or higher and supported libraries. See OpenTelemetry .NET インストルメンテーションの互換性と要件 for more information.
Automatic discovery for .NET is only supported for x86_64/AMD64 architectures.
はじめに 🔗
To install and use automatic discovery for Linux, follow these steps:
パッケージをインストールする 🔗
Using the installer script, you can install and activate automatic discovery for either all supported applications on the host via the system-wide method or only for applications running as systemd
services.
Using the installer script, you can install the automatic discovery package for Java and activate automatic discovery for Java for either all supported Java applications on the host via the system-wide method or for only Java applications running as systemd
services.
注釈
By default, automatic discovery is activated for all languages (Java, Node.js, and .NET) when using the installer script. To deactivate automatic discovery for other languages, add the --without-instrumentation-sdk [language]
option in the installer script command.
次の例に示すように、--with-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the --with-fluentd
option.
The system-wide automatic discovery method automatically adds environment variables to /etc/splunk/zeroconfig/java.conf
.
インストール時にオプションの deployment.environment
リソース属性を自動的に定義するには、--deployment-environment <env>
オプションを指定してインストーラ・スクリプトを実行します。次の例に示すように、<env>
を希望する属性値、例えば prod
で置き換えます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the service is running and restart your application. See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
次の例に示すように、--with-systemd-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
systemd
のインストルメンテーションは、環境変数を /usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
に自動的に追加します。
注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the --with-fluentd
option.
インストール時にオプションの deployment.environment
リソース属性を自動的に定義するには、--deployment-environment <env>
オプションを指定してインストーラ・スクリプトを実行します。次の例に示すように、<env>
を希望する属性値、例えば prod
で置き換えます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the service is running and restart your application. See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
注釈
まず、ダウンロードしたパッケージを使用して Collector for Linux をインストールします。 を使用して Splunk OpenTelemetry Collector をインストールする必要があります。
Collector をインストールした後、以下の手順に従って、Debian または RPM リポジトリを使用して root
権限でパッケージをインストールしてください:
GitHub Releases ページ から直接
splunk-otel-auto-instrumentation
パッケージをダウンロードするか、Linux ホストのパッケージ・リポジトリに Splunk リポジトリを追加してください。パッケージ・リポジトリの設定方法については Debian または RPM パッケージ・リポジトリ を参照してください。以下のコマンドを実行してパッケージをインストールします。
<path to splunk-otel-auto-instrumentation deb/rpm>
はダウンロードしたパッケージのローカルパスに置き換えてください。sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>
sudo rpm -ivh <path to splunk-otel-auto-instrumentation rpm>
/etc/otel/collector/splunk-otel-collector.conf
ファイルを編集して、SPLUNK_ACCESS_TOKEN
とSPLUNK_REALM
変数を先ほど取得した値に設定します。ファイルが存在しない場合は、/etc/otel/collector/splunk-otel-collector.conf.example
で提供されているサンプルを出発点として使用してください。SPLUNK_ACCESS_TOKEN=<access_token> SPLUNK_REALM=<realm>
コレクタサービスを開始します:
sudo systemctl start splunk-otel-collector
Using the installer script, you can install and activate automatic discovery for Node.js for either all supported Node.js applications on the host via the system-wide method or for only Node.js applications running as systemd
services.
インストーラスクリプトは、npm install
コマンドを使用して Node.js パッケージをインストールします。インストールに npm
へのカスタムパスを指定するには、次の例のように --npm-path <path>
オプションを使用します:
--npm-path /custom/path/to/npm
注釈
By default, automatic discovery is activated for all languages (Java, Node.js, and .NET) when using the installer script. To deactivate automatic discovery for other languages, add the --without-instrumentation-sdk [language]
option in the installer script command.
パッケージをインストールするには、Collector インストーラスクリプトを --with-instrumentation
オプションを付けて実行します。インストーラスクリプトは、Splunk Distribution of OpenTelemetry JS から Collector と Node.js エージェントをインストールします。Node.js エージェントは、ローカルマシンで Node.js アプリケーションが起動すると自動的にロードされます。
次の例に示すように、--with-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \ sh /tmp/splunk-otel-collector.sh --with-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the
--with-fluentd
option.
The system-wide automatic discovery method automatically adds environment variables to /etc/splunk/zeroconfig/node.conf
.
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the collector service is running and restart your Node.js application(s). See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
次の例に示すように、--with-systemd-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \ sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>The
systemd
automatic discovery method automatically adds environment variables to/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
.注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the
--with-fluentd
option.
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the collector service is running and restart your Node.js application(s). See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
Using the installer script, you can install and activate automatic discovery for .NET for either all supported .NET applications on the host via the system-wide method or for only .NET applications running as systemd
services.
注釈
By default, automatic discovery is activated for all languages (Java, Node.js, and .NET) when using the installer script. To deactivate automatic discovery for other languages, add the --without-instrumentation-sdk [language]
option in the installer script command.
次の例に示すように、--with-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the --with-fluentd
option.
The system-wide automatic discovery method automatically adds environment variables to /etc/splunk/zeroconfig/dotnet.conf
.
インストール時にオプションの deployment.environment
リソース属性を自動的に定義するには、--deployment-environment <env>
オプションを指定してインストーラ・スクリプトを実行します。次の例に示すように、<env>
を希望する属性値、例えば prod
で置き換えます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the service is running and restart your application. See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
次の例に示すように、--with-systemd-instrumentation
オプションを指定してインストーラ・スクリプトを実行します。<SPLUNK_REALM>
と <SPLUNK_ACCESS_TOKEN>
をそれぞれ Splunk Observability Cloud レルムとトークンに置き換えてください。
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
systemd
のインストルメンテーションは、環境変数を /usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
に自動的に追加します。
注釈
If you wish to collect logs for the target host, make sure Fluentd is installed and enabled in your Collector instance by specifying the --with-fluentd
option.
インストール時にオプションの deployment.environment
リソース属性を自動的に定義するには、--deployment-environment <env>
オプションを指定してインストーラ・スクリプトを実行します。次の例に示すように、<env>
を希望する属性値、例えば prod
で置き換えます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN>
次の例のように、追加オプションを使用して、CPU とメモリ、およびメトリクスの AlwaysOn Profilingを有効にできます:
curl -sSL https://dl.signalfx.com/splunk-otel-collector.sh > /tmp/splunk-otel-collector.sh && \
sudo sh /tmp/splunk-otel-collector.sh --with-systemd-instrumentation --deployment-environment prod \
--realm <SPLUNK_REALM> -- <SPLUNK_ACCESS_TOKEN> \
--enable-profiler --enable-profiler-memory --enable-metrics
Next, ensure the service is running and restart your application. See コレクターサービスが実行されていることを確認します。 and アプリケーションを開始する.
コレクターサービスが実行されていることを確認します。 🔗
インストールに成功したら、以下のコマンドを実行し、splunk-otel-collector
サービスが実行されていることを確認します:
sudo systemctl status splunk-otel-collector
サービスが起動していない場合は、以下のコマンドで起動または再起動します:
sudo systemctl restart splunk-otel-collector
サービスが開始できない場合は、/etc/otel/collector/splunk-otel-collector.conf
の SPLUNK_REALM
と SPLUNK_ACCESS_TOKEN
が正しいことを確認します。このコマンドでサービスのログを見ることもできます:
sudo journalctl -u splunk-otel-collector
アプリケーションを開始する 🔗
For automatic discovery to take effect, you must either restart the host or manually start or restart any applications on the host where you installed the package. You must restart the host or applications after installing the automatic discovery package for the first time and whenever you make any changes to the configuration file.
After your applications are running, you can verify your data. See Splunk APM で結果を表示する. You can also configure instrumentation settings. See (オプション)インストルメンテーションの設定.
(オプション)インストルメンテーションの設定 🔗
You can configure the Splunk Distribution of OpenTelemetry Collector to suit your instrumentation needs. In most cases, modifying the basic configuration is enough to get started.
To learn more, see the following resources:
Update automatic discovery and configuration 🔗
You can upgrade the package by using the package repository or by using Debian or RPM packages.
インストーラ・スクリプトを使ってパッケージをインストールした場合、または Debian や RPM のパッケージリポジトリを手動で設定した場合は、プラットフォームに応じて以下のコマンドを実行してください。パッケージのアップグレードには root
権限が必要です。
以下のコマンドを実行します:
sudo apt-get update
sudo apt-get --only-upgrade splunk-otel-auto-instrumentation
You might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
RPMパッケージ管理システムについては、以下のコマンドを実行します:
yum:
sudo yum upgrade splunk-otel-auto-instrumentation
dnf:
sudo dnf upgrade splunk-otel-auto-instrumentation
zypper:
sudo zypper refresh
sudo zypper update splunk-otel-auto-instrumentation
パッケージをアップグレードしたら、ホスト上のJavaアプリケーションを手動で起動または再起動して、変更を有効にします。
パッケージを手動でアップグレードするには:
GitHub Releases ページ から、ターゲットシステム用の
splunk-auto-auto-instrumentation
Debian パッケージまたは RPM パッケージをダウンロードします。以下のコマンドを実行してパッケージをインストールします。
<path to splunk-otel-auto-instrumentation deb/rpm>
はダウンロードしたパッケージのローカルパスに置き換えてください:
sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>
sudo rpm -Uvh <path to splunk-otel-auto-instrumentation rpm>
After upgrading the Debian package, you might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
Collector と同じパッケージリポジトリを使用してアップグレードすることもできます。詳細は Debian または RPM パッケージ を参照してください。
To update the Node.js agent to the latest provided version, you must first update the splunk-otel-auto-instrumentation
package.
You can upgrade the package by using the package repository or by using Debian or RPM packages.
インストーラ・スクリプトを使ってパッケージをインストールした場合、または Debian や RPM のパッケージリポジトリを手動で設定した場合は、プラットフォームに応じて以下のコマンドを実行してください。パッケージのアップグレードには root
権限が必要です。
以下のコマンドを実行します:
sudo apt-get update
sudo apt-get --only-upgrade splunk-otel-auto-instrumentation
You might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
RPMパッケージ管理システムについては、以下のコマンドを実行します:
yum:
sudo yum upgrade splunk-otel-auto-instrumentation
dnf:
sudo dnf upgrade splunk-otel-auto-instrumentation
zypper:
sudo zypper refresh
sudo zypper update splunk-otel-auto-instrumentation
After you’ve upgraded the packages, manually start or restart the Node.js applications on the host for the changes to take effect.
パッケージを手動でアップグレードするには:
GitHub Releases ページ から、ターゲットシステム用の
splunk-auto-auto-instrumentation
Debian パッケージまたは RPM パッケージをダウンロードします。以下のコマンドを実行してパッケージをインストールします。
<path to splunk-otel-auto-instrumentation deb/rpm>
はダウンロードしたパッケージのローカルパスに置き換えてください:
sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>
sudo rpm -Uvh <path to splunk-otel-auto-instrumentation rpm>
After upgrading the Debian package, you might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
Collector と同じパッケージリポジトリを使用してアップグレードすることもできます。詳細は Debian または RPM パッケージ を参照してください。
splunk-otel-auto-instrumentation
パッケージを更新したら、以下のコマンドを実行します:
cd /usr/lib/splunk-instrumentation/splunk-otel-js && \
sudo npm install /usr/lib/splunk-instrumentation/splunk-otel-js.tgz
The default automatic discovery configuration expects the Node.js agent to be installed under the /usr/lib/splunk-instrumentation/splunk-otel-js
path.
Node.jsエージェントが別のパスにインストールされている場合は、NODE_OPTIONS
環境変数のパスを、システム全体サービスの場合は /etc/splunk/zeroconfig/node.conf
、systemd
サービスの場合は /usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
を手動で更新してください。例:
NODE_OPTIONS=-r /custom/nodejs/install/path/@splunk/otel/instrument
You can upgrade the package by using the package repository or by using Debian or RPM packages.
インストーラ・スクリプトを使ってパッケージをインストールした場合、または Debian や RPM のパッケージリポジトリを手動で設定した場合は、プラットフォームに応じて以下のコマンドを実行してください。パッケージのアップグレードには root
権限が必要です。
以下のコマンドを実行します:
sudo apt-get update
sudo apt-get --only-upgrade splunk-otel-auto-instrumentation
You might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
RPMパッケージ管理システムについては、以下のコマンドを実行します:
yum:
sudo yum upgrade splunk-otel-auto-instrumentation
dnf:
sudo dnf upgrade splunk-otel-auto-instrumentation
zypper:
sudo zypper refresh
sudo zypper update splunk-otel-auto-instrumentation
After you’ve upgraded the packages, manually start or restart the .NET applications on the host for the changes to take effect.
パッケージを手動でアップグレードするには:
GitHub Releases ページ から、ターゲットシステム用の
splunk-auto-auto-instrumentation
Debian パッケージまたは RPM パッケージをダウンロードします。以下のコマンドを実行してパッケージをインストールします。
<path to splunk-otel-auto-instrumentation deb/rpm>
はダウンロードしたパッケージのローカルパスに置き換えてください:
sudo dpkg -i <path to splunk-otel-auto-instrumentation deb>
sudo rpm -Uvh <path to splunk-otel-auto-instrumentation rpm>
After upgrading the Debian package, you might see a prompt to keep or overwrite the configuration file(s) in /etc/splunk/zeroconfig/
. If you choose to overwrite, the configuration file reverts to the default file provided by the upgraded package.
Collector と同じパッケージリポジトリを使用してアップグレードすることもできます。詳細は Debian または RPM パッケージ を参照してください。
トラブルシューティング 🔗
To troubleshoot common errors that occur when instrumenting applications, see the following troubleshooting guides:
Splunk APM で結果を表示する 🔗
After activating automatic discovery, ensure your data is flowing into Splunk Observability Cloud. See データがSplunk APMに取り込まれていることを確認する.