Java および NodeJS エージェントの自動付加
スマートエージェントは、Java エージェントを使用した Java アプリケーションまたは Node.js エージェントを使用した NodeJS アプリケーションを自動インストゥルメント化する自動付加機能を提供します。この機能は、アプリケーションの起動構成を変更せずに、サポートされている Splunk AppDynamics エージェントを検出して起動するために使用します。スマートエージェントのコマンド ライン ユーティリティを使用して、追加の設定を行うことができます。
サポートされているランタイムとフレームワーク:
- Java:Tomcat、Weblogic、Springboot、JBoss、Glassfish、およびプレーン Java アプリケーション
- NodeJS
自動付加設定のカスタマイズ
これには、Java および Node.js アプリケーションの自動アタッチ設定に関する情報が含まれます。
デフォルトの ld_preload.json(サポートされているすべての Java フレームワークと Node.JS アプリケーションにエージェントを付加)を上書きすることや、更新されたルールを使用した独自の設定を追加することができます。
ld_preload.json のデフォルトの場所は <SmartAgent directory>/lib/ld_preload.json です。
デフォルトの自動付加パスは、ルートレベルで定義されているエージェントパスと同じです。
カスタムエージェントパスを使用している場合は、ld_preload.json ファイルで指定されていることを確認します。
Java エージェントの場合、ld_preload.json ファイル内の各正規表現に必要なエージェントパスを指定できます。これにより、特定の Java エージェントを特定の Java サービスに自動付加できます。
シナリオ例
ld_preload.json ファイルは、次のシナリオに基づいて更新できます。
| シナリオ | ld_preload.json への更新 |
|---|---|
| いずれかの Java プロセスの自動付加機能を無効にします。 |
|
|
カスタムパスを使用して事前設定された Java プロセスを無視します。 ただし、Java エージェントのカスタムパスを使用して、インストゥルメント化されていない Java プロセスを自動付加します。 |
ここで、custom_path は Java エージェントがインストールされているカスタムパスです。 |
| アプリケーション、階層、およびノードの名前を自動生成します。 |
ここでは、TomcatApp、階層、およびノードは、すべてのエンティティに使用するサフィックスの例です。これは、サフィックスとして必要なものに基づいて変更できます。以下は、指定する環境変数によって変更される変数です。
|
フィルター
JSON 設定は、サポートされているランタイムごとにセクションに分割されます。たとえば、Java、NodeJS などです。セクションごとに、正規表現を使用して一連のフィルタを指定し、検出されたアプリケーションを自動付加または無視するフィルタを定義することもできます。フィルタは順番に適用されます。正規表現はコマンドライン全体に適用されます。
Example regex:
{
"name": "instrument node applications",
"regex": "node .*\\.js.*$",
"instrument": true
},
{
"name": "ignore npm commands",
"regex": "npm",
"instrument": false
}
起動スクリプト(/opt/tomcat/bin/startup.sh など)は、特定のパラメータを使用して Java アプリケーションを内部的に起動します。自動付加は、シェルスクリプトではなく、Java アプリケーションの起動をモニターします。