Works with:

 

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

AppDynamicsは、オーバーヘッドを最小限に抑えつつ、可視性を最大限に高めることを目的とした方法で実稼働アプリケーションをモニタリングします。開発レベルモニタリングモードでは、AppDynamics の収集対象データに対する特定のデフォルト制限が無効になります。そのため、アプリケーションのアクティビティをさらに詳細に可視化できます。 

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

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

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

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

開発モードの効果

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

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

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

  • Call Graphs:開発モードでは、エージェントはフルコールグラフをキャプチャします。 
開発レベルモニタリングを設定するには、ユーザはアプリケーションへの Configure Monitoring Level(実稼働/開発)権限が含まれるロールに属している必要があります。「Create and Manage Custom Roles」を参照してください。

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

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

開発レベルモニタリングを有効にするには

  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%

このコントローラの制限は設定できません。