Node.js コレクターの設定

ほとんどのユースケースでは、 Instana Node.js のコレクターを初期化し、デフォルトの設定オプションをそのまま require('@instana/collector')(); 使用する必要があります。 デフォルト設定の変更については、「デフォルト設定の変更」 に記載されている手順に従って変更できます。

デフォルト設定の変更

InstanaNode.js コレクターを初期化する際に設定オブジェクトを渡すことができます:

require('@instana/collector')({
  // configuration options, see as follows
});
 

さらに、環境変数を使用して Node.js コレクターを構成することもできます。

エージェントの通信

コレクターの設定を変更して、エージェントのホストとポートを変更できます。

エージェント・ホスト

コレクターは IP 127.0.0.1 を使用して、ホストのデフォルト・ゲートウェイを介したフォールバックとして Instana エージェントと通信しようとします。 これらの IP のいずれでもエージェントを使用できない場合は、agentHost オプションを使用してカスタム IP を使用することができます。

require('@instana/collector')({
  agentHost: '::1' // use IPv6 to contact via localhost
});
 

あるいは、環境変数を利用します。

require('@instana/collector')({
  agentHost: process.env.HOST_IP
});
 

構成されていない場合、Instana コレクターは INSTANA_AGENT_HOST という名前の環境変数を検索し、この環境変数で定義されている内容を使用してエージェントと通信します。 この環境変数がない場合は、まず localhost でエージェントとの接続を試行し、次にデフォルト・ゲートウェイで接続を試行します。

エージェント・ポート

コレクターはポート 42699 を介して Instana エージェントとの通信を試行します。 ポートが変更されている場合は、agentPortオプションを使用してポートを変更できます。

require('@instana/collector')({
  agentPort: 42699
});
 

構成されていない場合、Instana コレクターは INSTANA_AGENT_PORT という名前の環境変数を検索し、この環境変数で定義されている内容を使用してエージェントと通信します。 この環境変数がない場合は、デフォルト・ポート 42699 にフォールバックします。

Kubernetes および Red Hat OpenShift

Node.js アプリケーションと Instana エージェントが Kubernetes クラスタで実行されている場合、この構成に必要な設定については、 Kubernetes ネットワークアクセスに関するドキュメントを参照してください。

Node.js のEOLイベントを無効化

Instana エージェントが存在する非サーバーレス環境では、 Node.js トレーサーは、実行中の Node.js バージョンがサポート終了(EOL)に達したことを検出すると、問題イベントをトリガーします。

これらのEOLイベントを抑制するには、次の環境変数を使用して無効化できます:

INSTANA_TRACING_DISABLE_EOL_EVENTS=true
 

Node.js のEOL(サポート終了)バージョンの完全な一覧については、公式の Node.js リリースページを参照してください。

トレース

トレースは、リクエストがさまざまなサービスやコンポーネントを通過する際に詳細な情報をキャプチャすることで、アプリケーションのエンドツーエンドの可視性を提供します。

トレースはデフォルトで有効です。 トレースを完全に無効化するか、選択的に無効化するには、設定オプションについてトレース無効化のセクションを参照してください。

エントリスパンなしでルートエグジットスパンを許可する

注: この機能は、 Instana コレクター 4.0 以降で利用可能です。

デフォルトでは、 InstanaNode.js トレーサーは、アクティブなエントリースパンを持つ出口スパンのみをキャプチャします。 この機能を有効にすると、トレーサーがスタンドアロンの終了スパンを追跡できるようになります。

この機能を有効にするには、以下のいずれかのオプションを使用してください:

  • 環境 INSTANA_ALLOW_ROOT_EXIT_SPAN 変数を設定する。

  • Tracerの初期化関数を通じて機能を設定します:

    require('@instana/collector')({
    tracing: {
      allowRootExitSpan: true
    }
    });
     

が または 1 に設定 INSTANA_ALLOW_ROOT_EXIT_SPAN されている場合、 trueあるいは allowRootExitSpan が に設定されている場合 true、アクティブなエントリ スパンが存在しない場合でも、トレーサーは終了スパンをキャプチャします。

この機能は、 Instana の自動計測ではサポートされていないメカニズムによってタスクがトリガーされる以下のシナリオで有用です:

  • 非対応のメッセージングライブラリからの受信メッセージ
  • サポートされていないプロトコル(例:生の Transmission Control Protocol ( TCP )や WebSocket )を介して行われるリクエスト
  • アプリケーションが内部的に開始するスケジュールされたジョブ( Node.js などのメカニズム setTimeoutsetIntervalまたは非サポートのスケジューリングライブラリを使用する場合を含む)

エンドポイントを無視する

Node.js Tracer 4.9.0 から開始し、特定のトレースや呼び出しを除外することで、不要なデータ取り込みを削減できます。 このフィルタリング機構はトレース収集を洗練させます。 トレースを除外するには、 Node.js のトレース設定で以下のパラメータを定義してください:

  • 技術:関連する技術を指定してください。例:、 Kafka RedisDynamoDB、、または HTTP
  • 方法:除外すべき方法を特定する。 例えば、以下の技術についてはこれらのメソッドを除外します:
    • Kafka: send, consume
    • Redis: get, type
    • DynamoDB: query, scan
    • HTTP: get, post
  • エンドポイント(該当する場合):特定のエンドポイントに基づいてフィルタリングをさらに絞り込みます。 例えば、以下の技術のエンドポイントは次のように定義されています:
    • Kafkaエンドポイントはトピック名です。
    • HTTPエンドポイントは URL のパスです。
  • 接続(オプション):特定の接続のトレースを除外します。 例えば、以下の技術に対する接続は次のように定義されます:
    • Redis接続は接続文字列です。
    • HTTP接続にはホストとポートが含まれます。
制約事項:

無視するエンドポイント機能には以下の制限があります:

  • この機能は現在、 Redis、 DynamoDB,、 Kafka、および HTTP でご利用いただけます。 ただし、 Kafka と HTTP の両方のエンドポイントのみが、メソッドとエンドポイントの両方によるフィルタリングをサポートしています。
  • Kafka.js ライブラリは、複数のトピックに同時にメッセージを送信できる sendBatch メソッドをサポートしています。 メソッドとエンドポイントの両方を使用してトレースをフィルタリングする場合、設定で関連するすべてのエンドポイント(トピック)を指定してください。 いずれかのトピックが省略されても、トレースは無視されません。
  • 接続フィルタリングは現在、 Redis および HTTP でのみサポートされています。
  • HTTP エントリ呼び出しのフィルタリングは現在サポートされています。

ルールのフィルタリング

トレースのフィルタリングに関するルールは以下の通りです:

  • トレースが無視されると、その後続するすべてのダウンストリームトレースも同様に無視される。
  • すべてのエンドポイント、メソッド、または接続を無視するには * を使用します。
  • エンドポイント値( Kafka トピック名など)は、サービス間で一貫性を保ちます。
  • メソッド名は、プログラミング言語や技術によって異なる場合があります。 ご自身のサービスに適したメソッドとエンドポイントを特定するには、 Instana UIを参照してください。

以下の Instana のUIスクリーンショットは、設定のための正しいメソッドとエンドポイントを特定するための視覚的な参照を提供します:

UIにおける手法とエンドポイント

構成オプション

エンドポイント除外を有効にするには、以下のいずれかのオプションを使用できます:

  • 環境変数
  • コード内設定
  • エージェントの構成
環境変数

サービスごとにエンドポイントをフィルタリングするには、以下の環境変数を使用して無視するエンドポイントを構成できます:

  • インスタナ_エンドポイントパスを無視
  • インスタナ_エンドポイントを無視
インスタナ_エンドポイントパスを無視

この環境変数を使用すると、次の例に示すように、外部 YAML ファイルを介したフィルタリングを設定できます:

INSTANA_IGNORE_ENDPOINTS_PATH=/absolute/path/to/config.yaml
 

前の例では、ファイル config.yaml は絶対パスで指定され、指定された構成構造に従わなければなりません。

以下の例はメソッドによるフィルタリングを示しています:

tracing:
  ignore-endpoints:
    redis:
      - get
      - type
    dynamodb:
      - query
    kafka:
      - send 
    http:
      - get
 

この設定では、以下のトレースがフィルタリングされます:

  • GET および TYPE コマンド Redis
  • QUERY コマンド DynamoDB
  • SEND メソッド Kafka およびすべての下流トレース
  • GET メソッド HTTP およびすべての下流トレース

以下の例は、メソッド、エンドポイント、および接続によるフィルタリングを示しています:

tracing:
  ignore-endpoints:
    kafka: 
      - methods: ["consume"]
        endpoints: ["topic1", "topic2"]

      - methods: ["consume", "send"]
        endpoints: ["topic3"]

      - methods: ["*"] # Applied to all methods
        endpoints: ["topic4"]

      - methods: ["consume"]
        endpoints: ["*"] # Applied to all endpoints

    http:
      - methods: ["get"]
        endpoints: ["/status"]

      - methods: ["get", "post"]
        endpoints: ["/status", "/v1/status"]

      - methods: ["*"]
        connection: ["localhost:3000"]

    redis:
      - methods: ['get']
        connections: ['192.168.0.1:9191']
 

この設定では、以下のトレースがフィルタリングされます:

  • CONSUME メソッドの topic1 および topic2 における Kafka およびすべての下流トレース
  • CONSUME および SEND 方法 において Kafkatopic3 および すべての下流トレース
  • すべての (*) メソッドおよび topic4Kafka すべての下流トレース
  • CONSUME すべてのトピック*および Kafka すべてのダウンストリームトレースに対するメソッド
  • GET URLHTTP/status へのメソッドおよびすべての下流トレース
  • GET URLへの POST メソッド /status と、 HTTP/v1/status およびすべてのダウンストリームトレース
  • 接続 localhost:3000 およびすべてのダウンストリームトレースに対するすべての(*)メソッド
  • GET 接続 192.168.0.1:9191 時のメソッド Redis

同じ設定ファイル内で、両方のフィルタリングオプション(メソッドのみとメソッドとエンドポイント)を組み合わせることができます。

この構成は、エージェント configuration.yaml 構造と互換性があります。

インスタナ_エンドポイントを無視

この環境変数を使用すると、メソッド名のみに基づいてトレースを除外できます。

INSTANA_IGNORE_ENDPOINTS=redis:get,type
 

この設定では、パッケージ redis 内の および TYPE コマンド GET がトレース対象から除外されます。

複数のパッケージに対する除外設定を行うには、以下の例に示す設定を使用してください。

INSTANA_IGNORE_ENDPOINTS=redis:get,type;dynamodb:query,scan;kafka:send;http:get
 

この設定では、以下のトレースがフィルタリングされます:

  • GET および TYPE コマンド Redis
  • QUERY および SCAN コマンド DynamoDB
  • SEND メソッド Kafka
  • GET メソッド HTTP
コード内設定

サービスごとにエンドポイントをフィルタリングするには、コード内設定を使用して無視するエンドポイントを構成できます。

以下の例はメソッドによるフィルタリングを示しています:

require('@instana/collector')({
  tracing: {
    ignoreEndpoints: {
      redis: ['get', 'type'],
      dynamodb: ['query', 'scan'],
      kafka: ['send'],
      http: ['get']
    }
  }
});
 

この設定では、以下のトレースがフィルタリングされます:

  • GET および TYPE コマンド Redis
  • QUERY および SCAN コマンド DynamoDB
  • SEND メソッド内 Kafka およびすべての下流トレース
  • GET メソッド内 HTTP およびすべての下流トレース

以下の例は、メソッドとエンドポイントによるフィルタリングを示しています:

require('@instana/collector')({
  tracing: {
    ignoreEndpoints: {
      kafka: [
        { methods: ['consume'], endpoints: ['topic1', 'topic2'] },
        { methods: ['send'], endpoints: ['topic3'] }
      ],
      http: [
        {
          methods: ['get'], endpoints: ['/status']
        }
      ]
    }
  }
});
 

この設定では、以下のトレースがフィルタリングされます:

  • CONSUME メソッドの topic1 および topic2 における Kafka およびすべての下流トレース
  • SEND メソッドの topic3 呼び出し元 Kafka およびすべての下流トレース
  • GET URLHTTP/status へのメソッドおよびすべての下流トレース

同じ設定で両方のフィルタリングオプション(メソッドのみとメソッドとエンドポイント)を使用できます。

トレースの無効化

注: これらの手順は、 Node.js Tracer 4.17.0 およびそれ以降のバージョンに適用されます。

トレースを無効にするには、完全にオフにするか、特定の計測項目やデータベース、メッセージング、ロギングなどのグループ全体を選択的に除外することができます。 この柔軟性により、アプリケーションのニーズに基づいてトレースを微調整できます。

トレースを無効にする設定を適用するには、次のいずれかの方法を使用します:

  • 環境変数
  • コード内設定
  • エージェント設定( YAML )

すべてのトレースを無効化

トレースを無効にすると、 Instana トレースツールによるスパンの収集および報告が完全に停止します。 この手法は、デバッグやテスト、あるいは一時的にトレースが不要な場合などのシナリオで有用である。

トレースが無効化されている場合、自動計測もトレース SDK も有効ではありません。 すべてのSDK呼び出しは、エラーやスパンを生成することなく、黙って無視されます。

すべてのトレースを無効にするには、次のいずれかの方法を使用します:

  • 環境変数: 環境変数を INSTANA_TRACING_DISABLE に設定してください true

    INSTANA_TRACING_DISABLE=true
     
  • コード内設定: トレーサー初期化時に以下のオプションを渡す:

    require('@instana/collector')({
    tracing: {
      disable: true
    }
    });
     

特定の計測機能を無効化

特定の計測対象またはパッケージ名に対してトレースを無効にするには、次のオプションを使用します。 適切な名前を見つけるには、 サポートされているライブラリセクションに記載されている値を Instrumentation identifier 参照してください。

特定の計測機能を無効にするには、次のいずれかの方法を使用します:

  • 環境変数: 以下の例 INSTANA_TRACING_DISABLE_INSTRUMENTATIONS に示すように環境変数を設定してください:

    INSTANA_TRACING_DISABLE_INSTRUMENTATIONS=redis,graphql
     

    この例では、この設定により graphqlredis とに対するトレースが無効化されています。 これらの2つの計測では、スパンは収集も報告もされません。

  • コード内設定: トレーサー初期化時に以下のオプションを渡す:

    require('@instana/collector')({
    tracing: {
      disable: {
        instrumentations: ['redis', 'graphql']
      }
    }
    });
     

計測グループの無効化

グループ名を指定することで、関連する計測のカテゴリ全体を無効にできます。 このアプローチは、単一の構成でより広範なライブラリ群のトレースを無効にしたい場合に有用です。

グループレベルでの無効化は現在、以下のカテゴリに限定されています:

特定の計測グループを無効にするには、次のいずれかの方法を使用します:

  • 環境変数: 以下の例 INSTANA_TRACING_DISABLE_GROUPS に示すように環境変数を設定してください:

    INSTANA_TRACING_DISABLE_GROUPS=logging,database
     

    この例では、この設定により、および databaseslogging グループの下にあるすべての計測が無効化されます。 これらのグループに属する計測対象については、スパンは収集も報告もされません。

  • コード内設定: トレーサー初期化時に以下のオプションを渡す:

    require('@instana/collector')({
    tracing: {
      disable: {
        groups: ['logging', 'database']
      }
    }
    });
     

エージェント設定によるトレースの無効化

代わりに、エージェントを通じて設定することで、すべてのサービスに対してインストルメンテーションやグループをグローバルに無効化できます。 詳細については、 「トレースの無効化」 セクションを参照してください。

単一のフラットリストでトレースを無効化

フラットリスト形式では、カンマ区切りリストを使用して複数の計測対象やグループを無効化できます。

注: この方法はサポートされていますが、構造が不十分なため推奨されません。

単一のフラットリストとしてトレースを無効にするには、次のいずれかの方法を使用します:

  • 環境変数: 以下の INSTANA_TRACING_DISABLE 例に示すように環境変数を設定します:

    INSTANA_TRACING_DISABLE=redis,graphql,logging,database
     

    この例では、個々の計測対象(redisgraphql)とグループ全体(loggingdatabase)の両方に対してトレースが無効化されています。 指定されたエントリについては、いずれについてもスパンは収集されません。

  • コード内設定: トレーサー初期化時に以下のオプションを渡す:

    require('@instana/collector')({
    tracing: {
      disable: ['redis', 'graphql', 'logging', 'database']
    }
    });
     

自動トレースの無効化

自動トレースもデフォルトで有効になっています。 自動トレースのみを無効にする (SDK またはopenTracing による手動トレースは有効にしておく) には、次のオプションを初期化関数に渡します。

require('@instana/collector')({
  tracing: {
    automaticTracingEnabled: false
  }
});
 

最後に、環境変数 INSTANA_DISABLE_AUTO_INSTR=true を設定することでも自動トレースを無効にすることができます。

自動トレースが無効化されていても、SDK または OpenTracing API を使用してスパンを手動で作成することはできます。

OpenTelemetry の統合を無効化

OpenTelemetry の統合はデフォルトで有効になっています。 統合を無効化するには、初期化関数に次のオプションを渡してください:

require('@instana/collector')({
  tracing: {
    useOpentelemetry: false
  }
});
 

さらに、変 INSTANA_DISABLE_USE_OPENTELEMETRY 数を に設定することで true、 OpenTelemetry の統合を無効にできます。 詳細については、 Instana 環境変数を参照してください。

ワーカースレッドのトレースを無効化

Instana の Node.js コレクターがワーカースレッドを追跡しないようにするには、次の環境変数を設定します:

INSTANA_DISABLE_WORKER_THREADS=true

この設定では、すべてのワーカースレッドのトレースが無効化されますが、メインプロセスは自動的にトレースされます。 ワーカースレッドが内部タスクやバックグラウンドタスクを実行し、それらをトレース対象から除外したい場合にこの設定を使用してください。

スタック・トレースのキャプチャー

デフォルトでは、コレクターはキャプチャーされたエグジット・スパンごとに最新の 10 件の呼び出しサイトをキャプチャーします。 この値は必要に応じて増減できます (HTTP エントリー・スパンのスタック・トレースは収集されないことに注意してください。このトレースは Node.js コア・コードのみが表示されます)。 スタック・トレースのキャプチャーを無効にするには、値 0 を使用します。

require('@instana/collector')({
  tracing: {
    stackTraceLength: 10
  }
});
 

また、環境変数 INSTANA_STACK_TRACE_LENGTH を設定することによっても、スタック・トレースの長さを構成できます。

カスタム package.json パスの設定

Instana コレクターは、プロジェクト内のプライマリ package.json ファイルを特定し、アプリケーション名などの重要な情報を抽出しようとします。 ファイル package.json のカスタムパスを定義する必要がある場合、またはコレクターがファイルを見つけられない場合は、設定オプション ` packageJsonPath` を使用できます。

require('@instana/collector')({
  packageJsonPath: 'absolute/path/to/package.json'
});
 

環境変数 INSTANA_PACKAGE_JSON_PATH `PATH`を設定することで、``ファイル package.json のパスも設定できます。

サービスの命名

サービスは、Instana の中心となる概念です。 呼び出し、スパン、およびトレースはサービスに密接に関連しています。 デフォルトの場合、Node.js コレクターはメインの package.json ファイルの name 属性と version 属性を使用します。 サービス名をカスタマイズするには、serviceName プロパティーを構成します。

require('@instana/collector')({
  serviceName: 'shop'
});
 

環境変数 INSTANA_SERVICE_NAME を設定することでも、カスタム・サービス名を構成できます。 カスタムサービスの設定に関する詳細については、 「サービス名をグローバルに設定する」 を参照してください。

Kafka トレース相関ヘッダー

コレクターバージョン 4.x 以降、 Kafka トレース相関ヘッダーは常に` string `形式で送信され、` binary `形式のサポートは廃止されました。 詳細については、 Kafka ヘッダーの移行を参照してください。

環境変数を参照 INSTANA_KAFKA_HEADER_FORMAT する設定と、コード内の設定オプションをすべて削除してください tracing: { kafka: { headerFormat: .... }}}

プロセス名の設定

環境変数 INSTANA_PROCESS_NAME を使用して、Node.js プロセスを表すインフラストラクチャー・エンティティーのカスタム・ラベルを設定します。

未処理の Promise 拒否の報告

Instana Node.js のコレクターは、未処理の Promise 拒否を Instana の課題として報告できます。 未処理の Promise 拒否とは、拒否されたが、拒否ハンドラーが定義されていない (Promise チェーンに .catch(...) がない) Promise です。

この機能は、デフォルトでは無効です。 これを有効化して、未処理の Promise 拒否が検出されると、重大度「警告」の問題として Instana に報告されます。

Promise が拒否されたときに進行中であった呼び出しは、未処理の拒否によるエラーとしてマークされないことに注意してください。 これには次の 2 つの理由があります。

  1. 未処理の拒否では Node.js ランタイムでエラーは発生しません。 要求の処理中に未処理の拒否が発生しても、要求は正常に処理できます。
  2. Node.jsランタイムには、特定の呼び出しのコンテキストで未処理の拒否を検出する方法はありません。 実際、未処理の拒否は、後で関連付けられている Promise のガーベッジ・コレクションが行われる時点にのみ検出されます。 この時点までに、未処理の拒否を発生させた要求はすでに終了しており、その対応はすでに行われています。

この機能を有効にするには、オプション reportUnhandledPromiseRejections を以下のように指定します。

require('@instana/collector')({
  reportUnhandledPromiseRejections: true
});
 

Node.js ( 12.0.0 )以降では、未処理のPromise拒否の処理方法を --unhandled-rejections 制御するコマンドラインフラグが導入されています。 --unhandled-rejections=strict が指定されている場合、未処理の拒否の報告はサポートされません。これは、このモードでは Node.js が未処理の拒否をキャッチされていない例外に変換するためです。

ロギング

デフォルトのログ設定を変更するには、以下のセクションを参照してください:

ログ・レベルの構成

デフォルトのログ・レベルを変更するには、以下を使用して構成できます。

require('@instana/collector')({
  level: 'debug'
});
 

環境変数 INSTANA_LOG_LEVELdebuginfowarn または error のいずれかに設定することでも、ログ・レベルを構成できます。 最後に INSTANA_DEBUG を空ではない文字列に設定すると、ログ・レベルが debug に設定されます。

デフォルトのログ・レベルは infoであることに注意してください。 予期しない Instana 関連のデバッグログ(``や`` "name":"@instana/collector""level":20 を含むログ行)を確認した場合、設定でログレベルがデバッグに設定されていないか、` INSTANA_LOG_LEVEL=debug `または INSTANA_DEBUG ``が設定されていないかを確認してください。 独自のロガーを提供する場合(以下を参照)、そのロガーのログレベルを必要に応じて設定する責任はあなたにあります。

AutoProfile

1.98.1 以降。 少なくともNode.js 6.4.0 が必要

この機能は現在、パブリックプレビューのテスト段階にあります。

AutoProfile を有効にするには、コレクターの初期化時にオプション autoProfile: true を追加してください。

require('@instana/collector')({
  autoProfile: true
});
 

環境変数を INSTANA_AUTO_PROFILE に設定することで、 AutoProfile を有効にすることもできます。 true

短い Exit 呼び出しの自動集計

1.108.0 より

Node.js トレーサーは、非常に短い(10ミリ秒未満)高頻度のデータベース呼び出しの自動集計をサポートします。 これにより、このような呼び出しが短時間で連続して実行されるシナリオで、トレースのパフォーマンス・オーバーヘッドを最小限に抑えることができます。 現時点ではこの機能はオプトインであり、明示的に有効にする必要があります。 今後のいずれかのリリースでデフォルトの動作になる予定です。

すぐに有効にするには、次のいずれかの方法を使用してください:

  • 環境変数INSTANA_SPANBATCHING_ENABLED=trueを設定します。
  • コード内構成を使用する。
    require('@instana/collector')({
      tracing: {
        spanBatchingEnabled: true
      }
    });
     
  • エージェントの configuration.yaml に以下を追加する。
    com.instana.plugin.nodejs:
      span-batching-enabled: true
     

動作がデフォルトでオンになると、これらの構成オプションは無視されることに注意してください。

この機能の仕組みが原因で、このオプションを有効にすると、エンドポイントの抽出に影響し、一部の待ち時間が少ないデータベース・エンドポイントに対する呼び出しの数が変わる可能性があります。

プリビルドのネイティブアドオンへのフォールバックを無効化

ネイティブアドオンのオプション依存関係が正常にインストールされない場合、パッケージ @instana/collector は自動的に、オペレーティングシステム、 Node.js のバージョン、および libc バリアントに一致する事前ビルド済みバイナリを使用しようと試みます。 プリビルドの使用を無効にするには、 INSTANA_COPY_PRECOMPILED_NATIVE_ADDONS=false設定を

構成リファレンス (全体)

すべての指定可能な構成値とそのデフォルト値を以下に示します。

{
  agentHost: '127.0.0.1',
  agentPort: 42699,
  serviceName: null,
  packageJsonPath: null,
  // the log level:
  level: 'info',
  tracing: {
    enabled: true,
    automaticTracingEnabled: true,
    // Spans are batched and sent to the agent once every second, or if ${forceTransmissionStartingAt} spans have been collected (whichever happens earlier)
    forceTransmissionStartingAt: 500,
    // If more than ${maxBufferedSpans} have been buffered and the collector has not been able to send them to the agent, it will start to drop spans to avoid causing memory issues.
    maxBufferedSpans: 1000,
    http: {
      // This is usually configured at the agent level (configuration.yaml).
      extraHttpHeadersToCapture: []
    },
    // How many stack trace frames are to be captured. Can also be 0 to disable collecting stack traces.
    stackTraceLength: 10,
    // To disable individual tracing plug-ins.
    disabledTracers: [],
     // Can also be configured at the agent level (configuration.yaml).
    spanBatchingEnabled: false
  },
  metrics: {
    timeBetweenHealthcheckCalls: 3000
  },
  // This is usually configured at the agent level (configuration.yaml).
  secrets: {
    matcherMode: 'contains-ignore-case',
    keywords: ['key', 'pass', 'secret']
  },
  autoProfile: false
}
 

以下は、Node.js コレクターでサポートされているすべての環境変数のリストです。

環境変数 同等の構成オプション
INSTANA_AGENT_HOST config.agentHost
INSTANA_AGENT_PORT config.agentPort
INSTANA_SERVICE_NAME config.serviceName
INSTANA_PACKAGE_JSON_PATH config.packageJsonPath
INSTANA_PROCESS_NAME
INSTANA_DISABLE_AUTO_INSTR=true config.tracing.automaticTracingEnabled = false
INSTANA_TRACING_DISABLE config.tracing.disable
INSTANA_STACK_TRACE_LENGTH config.tracing.stackTraceLength
INSTANA_LOG_LEVEL config.level
INSTANA_DEBUG config.level = debug
INSTANA_AUTO_PROFILE=true config.autoProfile = true
INSTANA_SPANBATCHING_ENABLED=true config.tracing.spanBatchingEnabled = true
INSTANA_TRACE_IMMEDIATELY=true config.tracing.activateImmediately = true
INSTANA_COPY_PRECOMPILED_NATIVE_ADDONS
INSTANA_ALLOW_ROOT_EXIT_SPAN config.tracing.allowRootExitSpan = true
INSTANA_IGNORE_ENDPOINTS config.tracing.ignoreEndpoints