Works with:

 

開発レベルモニタリングモードでは、AppDynamics の収集対象データに対する特定のデフォルト制限が無効になります。そのため、アプリケーションのアクティビティをさらに詳細に可視化することができます。このトピックでは、開発レベルモニターリングについて説明します。

開発レベルモニターリングとは

AppDynamicsは、オーバーヘッドを最小限に抑えつつ、可視性を最大限に高めることを目的とした方法で実稼働アプリケーションをモニターリングします。

このデフォルトのモードは実稼働レベルモニターリングと呼ばれ、特定の種類の情報の保持に制限を適用します。テスト環境やオーバーヘッドが問題とならない環境では、開発レベルモニタリングを有効にできます。開発モードは、AppDynamics のセットアップ時や、時折発生するアプリケーションのトラブルシューティング時などの一時的な使用を対象としています。  

開発モニタリングは、特定のビジネストランザクションと起源ノードの組み合わせに対して適用します。起源ノードとは、トランザクションのエントリポイントの役割を担う 1 つ以上のノードです。

有効にしたノードを起源とするトランザクションは、そのビジネストランザクションの処理に関与するダウンストリームのノードでも開発レベルモニタリングの対象となります。ただし、この動作はそのビジネスアプリケーションにしか適用されないので注意してください。連続するトランザクションの別のビジネスアプリケーションでの処理は、その連続するビジネスアプリケーションでも開発レベルモニタリングを有効にしない限り、開発レベルでモニタリングされません。 

開発モニタリングはコールグラフと SQL ステートメントキャプチャの保持力を向上させますが、それでも特定の制限は適用されます。この制限では、1 分あたりのコール数、Java ヒープ使用量、コントローラ全体で生成されたスナップショットセグメント数の最大しきい値が指定されます。これらのしきい値を超過すると、開発レベルモニターリングは無効になります。詳細については、「開発レベルモニターリングの制限」を参照してください。 

開発モードの効果

開発レベルモニタリングを有効にすると、以下の情報のキャプチャに影響が及ぼされます。

  • Exit Calls:AppDynamics は、バックエンドシステムへの終了コールについて収集する情報を増加します。データベースバックエンドについては、トランザクションごとの制限なしにすべてのSQLステートメントがエージェントによって収集します。また、メソッドに接続されているJDBCおよびADO.NETコールも、それらの呼び出し時間が10ミリ秒未満であってもすべて収集されます。
  • Snapshots:エージェントは、以下のエージェント ノード プロパティの値を無視して、トランザクションごとにスナップショットの取得を試みます。

    開発モードはリクエストごとにデータをキャプチャするよう設計されていないため、トランザクションごとのスナップショットは保証されません。

  • Call Graphs:開発モードでは、エージェントはフルコールグラフをキャプチャします。 

必要な権限

開発レベルモニターリングを設定するには、ユーザーは対象アプリケーションに対する「モニターリングレベルの構成(実稼働/開発)」権限の含まれるロールに属している必要があります。詳細については、「ロールと権限」を参照してください。 

開発レベルモニタリングの有効化

開発レベルモニタリングは、特定のビジネストランザクションと起源ノードの組み合わせに対して有効にします。開発レベルモニタリングの制限」に記載されている開発モードの制限を超えないようにするため、開発モニタリングはできるだけ狭い範囲で有効にすることをお勧めします。

開発レベルモニタリングを有効にするには
  1. モニタリングを有効にするビジネスアプリケーションで、[Configuration] > [Development Level Monitoring] の順にクリックします。 
  2. ページ上部にある [Development Level Monitoring] のスイッチを有効にします。
    バージョン4.3より前のエージェントでは、開発レベルモニターリングを有効にすると、特定のビジネストランザクションだけでなくグローバルに適用されます。4.3以上のエージェントでは、以下のステップで説明するように、構成を適用するビジネストランザクションとノードを設定する必要があります。
  3. 開発モニタリングを有効にするビジネストランザクションを選択します。 
  4. 開発レベルモニタリングを有効にする起源ノードの横にある [Enabled] チェックボックスをクリックします。  

以下のスクリーンショットは、開発レベルモニターリングの制御画面を示しています。

 

開発レベルモニターリングの無効化

開発レベルモニターリングの有効化は、実稼働前の環境であっても、限定的な場合に実施する一時的な手段とすることが普通です。ビジネスアプリケーションの開発レベルモニターリングを終了したら、以下の説明のとおりに無効にします。 

開発レベルモニターリングを無効にするには
  1. モニターリングを有効にするビジネスアプリケーションで、[Configuration] > [Development Level Monitoring] の順にクリックします。 
  2. ページ上部にある [Development Level Monitoring] のスイッチを使用して、開発レベルモニターリングを無効にします。このスイッチは、そのビジネスアプリケーションのすべてのビジネストランザクションに対して開発レベルモニターリングを無効にします。 

開発モードは、自動で無効にすることもできます。詳しくは次のセクションで説明しています。 

開発レベルモニタリングの制限

エージェントおよびコントローラに適用される以下の制限により、開発モード中にリソースが過剰に消費されるのを防ぎます。 

アプリエージェントの制限

アプリエージェントについては、以下の制限が適用されます。

制限を超過すると、制限の超過により開発モードが無効になったことを示すエージェントログイベントが生成されます。

コントローラの制限

コントローラは、開発モニタリング時にビジネストランザクション間で収集されたスナップショットセグメント数をモニタリングします。スナップショットセグメントは、特定のティアでのビジネストランザクションの処理アクティビティに対応します。複数のティアを横断する単一のビジネストランザクションは、少数のティアのみを横断する複数のビジネストランザクションよりも多くのデータを生成します。

1分あたりのスナップショットセグメント数5000件のしきい値を超過すると、コントローラは主な原因となるビジネストランザクションの開発モードを無効にします。コントローラは、スナップショットセグメントの生成を 20% 削減するため、必要な限り多くのビジネストランザクションの開発モードを無効にします。

たとえば、しきい値を超過した際に、1つのビジネストランザクションで25%のスナップショットセグメントが生成されていた場合、そのビジネストランザクションのみが無効にされます。もう 1 つ例を挙げると、しきい値を超過した際に、各ビジネストランザクションで以下の割合でスナップショットセグメントが生成されていた場合、最初の 2 つのビジネストランザクションが無効にされます。

  1. BT1:17%
  2. BT2:16%
  3. BT3:15%
  4. BT4:15%
  5. BT5:13%
  6. BT6:12%
  7. BT7:12%

以上のコントローラの制限は構成不可となっています。