このページでは、Node.js および PHP アプリケーション用のトランザクション分析およびデータコレクタを設定する方法について説明します。 

はじめる前に

トランザクション分析の設定を試行する前に、「エージェント側のコンポーネントのインストール」と、オンプレミスの場合は、「Custom Install」および「イベントサービスのデプロイ」で説明されているコンポーネントをインストールし、設定していることを確認してください。

Node.js 用の分析の設定

デフォルトの Node.js トランザクションデータの収集

分析エージェントにデフォルトのトランザクションデータを送信するように Node.js エージェントを設定するには、アプリケーションの require ステートメントを変更します。

Analytics エージェントを指すように適切な値を使用して次の変数を追加します。

analytics: {
    host: <analyticsHostName>,
    port: <analyticsPort>,
    ssl: <true || false> 
}
CODE

分析エージェントは、Node.js エージェントと同じホストまたは別のホスト上に配置できます。詳細については、Node.js エージェントのインストールを参照してください。

データ制限の設定

環境変数に関連付けられた次のプロパティを使用して、Analytics エージェントに送信されるデータに制限を設定するように Node.js エージェントを構成することもできます。

プロパティ名

説明

環境変数

analyticsMaxSegmentSizeInBytes分析要求で収集されるビジネス トランザクション セグメントの最大サイズ。デフォルト値は、0.1 MB です。APPDYNAMICS_ANALYTICS_MAX_SEGMENT_SIZE
analyticsMaxSegmentsPerRequest分析要求ごとのセグメントの最大数。デフォルト値は 16 です。APPDYNAMICS_ANALYTICS_MAX_SEGMENTS_PER_REQUEST
analyticsMaxMessageSizeInBytes分析エージェントに送信される単一の要求本文のサイズ。デフォルトでは、この値は 1 MB です。APPDYNAMICS_ANALYTICS_MAX_MESSAGE_SIZE

require ステートメントは、分析エージェントがローカルホスト上にあり、ポート 9090 でリスニングする場合は、次の例のようになります。

require ("appdynamics").profile({
    controllerHostName: '<Controller host name>',
    controllerPort: <Controller port number>,
    controllerSslEnabled: false, // Set to true if controllerPort is SSL
    accountName: '<AppDynamics account name>',
    accountAccessKey: '<AppDynamics account key>', // Required
    applicationName: '<Your application name>',
    debug: false,
    tierName: '<Choose a tier name>',
    nodeName: '<Choose a node name>', // The Controller appends the node name with a unique number
    analyticsMaxSegmentSizeInBytes: 20,
    analyticsMaxSegmentsPerRequest: 20,
    analyticsMaxMessageSizeInBytes: 100,
    analytics: {
        host: 'localhost',
        port: 9090 },
    logging: {
        'logfiles': [
        {'root_directory': '/tmp/appd', 'filename': 'echo_%N.log', 'level': 'TRACE', 'max_size': 5242880, 'max_files': 10 },
        { 'root_directory': '/tmp/appd', 'filename': 'protobuf_%N.log', 'level': 'TRACE', 'max_size': 5242880, 'max_files': 10, 'channel': 'protobuf' }]
             }
});
CODE

Node.js データコレクタの収集

また、Node.js API を使用して、Node.js ビジネストランザクションから追加データを収集することもできます。Node.js のトランザクション分析データコレクタを設定するには、「Node.jsエージェントAPI参考資料」の「txn.addAnalyticsData()」を参照してください。

PHP アプリケーションの分析の構成

Transaction Analytics Configuration

  1. [Transaction Analytics - Configuration] で [Enable Analytics] チェックボックスをオンにして、PHP アプリケーションでの分析を有効または無効にします。
  2. [Business Transactions] の右側にある [Enable Analytics] チェックボックスをオンにして、アプリケーション内のビジネストランザクションでアプリケーション分析を有効または無効にします。

分析データを PHP CLI プログラムから収集することはできません。

PHP エージェントからトランザクション分析を収集するには、次の手順を実行します。

  1. デフォルトのトランザクションデータを分析エージェントに送信するように PHP エージェントを構成します。PHP エージェントがインストールされているオペレーティングシステムに応じて .ini ファイルを変更します。
    デフォルトでは、.ini ファイルには次の構成が含まれていて、分析エージェントが localhost にあり、ポート 9090 をリッスンします。

    agent.analyticsHostName = localhost
    agent.analyticsPort = 9090
    CODE

    分析エージェントを指すように適切な値を使用して次の変数を追加します。

    agent.analyticsHostName = <analyticsHostName>
    agent.analyticsPort = <analyticsPort>
    CODE

    分析エージェントは、PHP エージェントと同じホストまたは別のホスト上に配置できます。PHP エージェントのインストールについては、「PHPエージェントのインストール」を参照してください。

    分析の報告用のノードレベル設定 analytics-dynamic-service-enabled=true を設定する必要があります。

  2. 分析用の HTTP/メソッド呼び出しデータコレクタは、PHP エージェントからのデータが報告されるように、トランザクション スナップショットとトランザクション分析の両方を有効にする必要があります。
    MIDC を使用してメソッドの戻り値を収集するには、値を変数に割り当てる必要があります。

    $ret = function()
    CODE

    戻り値が変数に保存されていない場合は、スナップショットと分析データの両方で null と表示されます。