スマートエージェントは、Java エージェントを使用した Java アプリケーションまたは Node.js エージェントを使用した NodeJS アプリケーションを自動インストゥルメント化する自動付加機能を提供します。この機能は、アプリケーションの起動構成を変更せずに、サポートされている Splunk AppDynamics エージェントを検出して起動するために使用します。スマートエージェントのコマンド ライン ユーティリティを使用して、追加の設定を行うことができます。

サポートされているランタイムとフレームワーク:

  • Java:Tomcat、Weblogic、Springboot、JBoss、Glassfish、およびプレーン Java アプリケーション
  • NodeJS

自動付加設定のカスタマイズ

デフォルトの ld_preload.json(サポートされているすべての Java フレームワークと NodeJS アプリケーションにエージェントを付加)を上書きすることや、更新されたルールを使用した独自の設定を追加することができます。ld_preload.json のデフォルトの場所は /etc/opt/appdynamics/ld_preload.json です。

デフォルトの自動付加パスは、ルートレベルで定義されているエージェントパスと同じです。

カスタムエージェントパスを使用している場合は、ld_preload.json ファイルで指定されていることを確認します。

Java エージェントの場合、ld_preload.json ファイル内の各正規表現に必要なエージェントパスを指定できます。これにより、特定の Java エージェントを特定の Java サービスに自動付加できます。

詳細な自動付加設定を使用したり、複数のホストで自動化された方法で自動付加を設定したりするには、スマートエージェントのコマンド ライン ユーティリティを使用します。

ld_preload.json ファイルは、次のシナリオに基づいて更新できます。

シナリオld_preload.json への更新
いずれかの Java プロセスの自動付加機能を無効化にします。
{
  "logging": {
    "level": "trace",
    "directory": "/var/log/appdynamics",
    "fileName": "ld_preload.log",
    "usePid": true
  },
  "java": {
    "agentPath": "/opt/appdynamics/java-agent/javaagent.jar",
    "instrument": false,
    "filters": [
JSON

カスタムパスを使用して事前設定された Java プロセスを無視します。

ただし、Java エージェントのカスタムパスを使用して、インストゥルメント化されていない Java プロセスを自動付加します。

{
  "logging": {
    "level": "trace",
    "directory": "/var/log/appdynamics",
    "fileName": "ld_preload.log",
    "usePid": true
  },
  "java": {
    "agentPath": "custom_path/javaagent.jar",
    "instrument": true,
    "filters": [
JSON

ここで、custom_path は Java エージェントがインストールされているカスタムパスです。

フィルタ

JSON 設定は、サポートされているランタイムごとにセクションに分割されます。たとえば、Java、NodeJS などです。セクションごとに、正規表現を使用して一連のフィルタを指定し、検出されたアプリケーションを自動付加または無視するフィルタを定義することもできます。フィルタは順番に適用されます。正規表現はコマンドライン全体に適用されます。

Example regex:
 {
        "name": "instrument node applications",
        "regex": "node .*\\.js.*$",
        "instrument": true
      },

     {
        "name": "ignore npm commands",
        "regex": "npm",
        "instrument": false
      } 
JSON

起動スクリプト(/opt/tomcat/bin/startup.sh など)は、特定のパラメータを使用して Java アプリケーションを内部的に起動します。自動付加は、シェルスクリプトではなく、Java アプリケーションの起動をモニターします。