このページでは、AppDynamics がトランザクション スナップショットをキャプチャするようにトリガーするシナリオと、トランザクション スナップショット設定を構成する方法について説明します。

AppDynamics は、トランザクションの選択されたインスタンスのトランザクション スナップショットをキャプチャして、トランザクションの 1 回のコールに対する処理フローをクロスティアで表示します。「トランザクション スナップショットを使用したビジネス トランザクション パフォーマンスのトラブルシューティング」を参照してください。

このページで説明されているガイドラインと制限に従い、次の場合にスナップショットがキャプチャされます。

  • アプリエージェントは、ビジネストランザクションのユーザーエクスペリエンスが遅延している、またはトランザクションでエラーが発生したと判断します。
  • アプリエージェントは、定期的なスナップショット収集の際にスナップショットを収集します。
  • アプリエージェントは、診断セッション中にスナップショットを収集します。 

スナップショットとコールグラフ保持ルール

特定のトランザクション インスタンスでは、コールグラフはすべてではなく一部のティアでのみ使用できる場合があります。これらのガイドラインでは、アプリケーション エージェントがトランザクションの開始ティアとダウンストリームティアにおいて、トランザクション スナップショットを取得するときの規則について説明します。また、スナップショットの原因によっては、スナップショットに含まれる可能性のあるコールグラフの種類についても説明します。このガイドラインは、ビジネストランザクションの相関関係とアプリケーション間のフローに適用されます。

  • ティア(元のティアまたは継続)は応答時間の遅延、過剰遅延、停滞を認識するか、エラーが発生すると、スナップショットを取得します。
  • 元のティアは以下の場合、トランザクション スナップショットを取得します。
    • エージェントがパフォーマンスの問題のパターンを検出したために元のティアで診断セッションを開始した場合。Business Transaction Dashboardから診断セッションを手動で開始することもできます。詳細については、診断セッションを参照してください。
    • 元のティアでエージェントが遅延、過剰遅延、または停滞の応答時間を特定するか、エラーが検出された場合。これらのスナップショットは、トランザクションの遅延やエラーが発生したときに開始されるため、情報が部分的なコールグラフになる場合があります。
    • 定期的収集スケジュールに基づくもの:デフォルトではエージェントが10分ごとに1枚のスナップショットを取得します。
  • ダウンストリームティアは、そのすぐ上のティアがスナップショットを取得するよう指示した場合にスナップショットを取得します。アップストリームティアは、以下の状況でスナップショットを取得するようダウンストリームティアに指示することがあります。
    • アップストリームティアが診断セッションのためにスナップショットを取得しているとき。
    • アップストリームティアが定期的収集スケジュールによりスナップショットを取得しているとき。

トランザクションスナップショットの制限

ガイドラインでは、スナップショットの保持もスナップショットの保持制限の対象としています。スナップショットの保持制限は、ノードレベルでノードの過剰なリソース消費を防ぎます。

  • 元のトランザクション スナップショットの上限は、1 つのノードにつき 1 分あたり最大 20 件のスナップショット(最大 5 件の同時取得)。 

  • 継続的なトランザクション スナップショットの上限は、1 つのノードにつき 1 分あたり最大 200 件(同時取得 100 件)。 

AppDynamics では、スナップショットの保持制限をエラートランザクションに適用します。その結果、たとえばエラーカウントメトリックで示されるすべてのエラー発生に対してスナップショットが取得されるわけではありません。エラートランザクションの場合、次の制限が適用されます。

  • 単一のトランザクションの場合、1 分間に最大 2 件のスナップショットが存在。 
  • 複数のトランザクション間では、1 分あたり最大 5 件のスナップショットが許可(ノードプロパティ max-error-snapshots-per-minute で指定)。

スナップショットの定期的な収集頻度の構成

デフォルトでは、AppDynamicsは10分おきにスナップショットを収集します。

[Configuration > Slow Transaction Thresholds] に移動します。[Slow Transaction Thresholds] の構成ページで、デフォルト設定を変更できます。

この値はその後作成されるビジネストランザクションに適用されますが、[Apply to all Existing Business Transactions] をチェックすると、既存のすべてのビジネストランザクションが変更の影響を受けます。

高負荷の実稼働環境では、スナップショット収集に低い値を使用しないでください。収集が非常に頻繁に行われるように設定する必要があります。1 分あたり数千から数百万回のリクエストがある場合、スナップショットを頻繁に収集すると余分で役に立たないスナップショットが数多く発生する可能性があります。定期的なスナップショット収集をオフにしてすべてのビジネストランザクションに適用するか、予想される負荷に応じて非常に控えめな(高い)レートを選択します。たとえば、アプリケーションが高負荷である場合、負荷パターンに応じて 1000 回ごと、または 20 分ごとを選択します。