Splunk Observability Cloud のインストルメンテーションの方法

バックエンドアプリケーション用のゼロコードインストルメンテーション(旧称自動インストルメンテーション)について学びます。

OpenTelemetry Collector ドキュメントの用語との整合性を保つために、自動インストルメンテーションは ゼロコードインストルメンテーションに変更され、手動インストルメンテーションはコードベースのインストルメンテーションに変更されました。

詳細については、アップストリームの OpenTelemetry Collector ドキュメント https://opentelemetry.io/ja/docs/concepts/instrumentation/zero-code/ を参照してください。

この変更は用語の更新のみで、OpenTelemetry Collector や Splunk インストルメンテーション エージェントのインストールや更新は必要ありません。

ゼロコードインストルメンテーション

ゼロコードインストルメンテーションにより、アプリケーションのソースファイルを変更することなく、アプリケーションをインストルメンテーションして、テレメトリデータをエクスポートすることができます。

言語固有のインストルメンテーションエージェントは、OTLP レシーバーまたは Splunk Observability Cloud バックエンドのいずれかにある OTLP エンドポイントに、サポートされている形式でデータをエクスポートするようにソースアプリケーションを設定します。

ゼロコードインストルメンテーションは、Java、Node.js、.NET、Go、Python、Ruby、PHPで書かれたアプリケーションで利用可能で、各言語でサポートされているライブラリを使用して書かれたコードのテレメトリデータを自動的に収集します。

ゼロコードインストルメンテーションはオートディスカバリーと設定とどのように異なりますか?

自動検出とゼロコード インストルメンテーションは似たような機能を持っていますが、別々の機能です。自動検出とゼロコード インストルメンテーションはどちらもテレメトリデータを収集し、Splunk Observability Cloud に送信しますが、いくつかの重要な詳細が異なります。

オートディスカバリーとゼロコードインストルメンテーションの主な違いについては、以下の表を参照してください:

機能

ゼロコードインストルメンテーション

自動ディスカバリー

デプロイ

例えば、Splunk OpenTelemetry Java エージェントなど、言語固有のインストルメンテーションエージェントとしてデプロイされます。

オプションのアドオンとして Splunk Distribution of OpenTelemetry Collector でデプロイされています。

インストルメント済みアプリケーション

例えば、Python、Java、Node.jsアプリケーションなど、バックエンドアプリケーションのみをインストルメンテーションします。

データベースやウェブサーバーなどのサードパーティサービスからテレメトリデータを収集します。

インストルメント済みの言語

エージェントは言語固有です。たとえば、Node.js エージェントでは Node.js アプリケーションだけがインストルメンテーションされます。ゼロコード インストルメンテーションでは、Java、Node.js、.NET、Go、Python、Ruby、PHP で書かれたアプリケーションがサポートされています。

オートディスカバリー自体は言語ランタイムをインストルメンテーションしませんが、Java、Node.js、.NET で書かれたアプリケーションのゼロコードインストルメンテーションを展開するために使用できます。

コードベースのインストルメンテーション

コードベースのインストルメンテーションでは、アプリケーションのソースファイルを編集することにより、アプリケーションをインストルメンテーションしてテレメトリデータを Splunk Observability Cloud にエクスポートすることができます。

ゼロコード インストルメンテーションとは異なり、コードベースのインストルメンテーションではアプリケーションのソースコードを編集する必要があります。アプリケーションのソースコードを変更することで、ローカルで実行中の OpenTelemetry Collector インスタンスにテレメトリデータを送信できるようになり、OpenTelemetry Collector がデータを処理して Splunk Observability Cloud に転送します。

コードベースのインストルメンテーションは、Java、Node.js、.NET、Python、PHP、Go、Ruby、C++ で書かれたアプリケーションをサポートしています。C++ ではコードベースのインストルメンテーションのみがサポートされています。

さらに詳しく