Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.5

    ...

    Sv translation
    languageja
    Appd tocbox
    Width260px

    On this page:

    Table of Contents
    maxLevel2
    minLevel2

    Related pages:

    ハンズオントライアルを通じて AppDynamics の基本を学び終えたら、AppDynamics がアプリケーション環境をどのようにモデル化するかの学習に進むことができます。このモデルは、AppDynamics でパフォーマンス情報を整理して提示するためのフレームワークとして機能します。  

    アプリケーションモデルの概要

    典型的なアプリケーション環境は、アプリケーションのユーザーの要求に応えるためにさまざまな形で相互作用する各種のコンポーネントで構成されます。

    • アプリケーションサーバーで稼働するWebアプリケーション
    • データベースおよびその他データ保存
    • メッセージキューやキャッシュなどのリモートサービス

    AppDynamicsアプリエージェントは、最も一般的なアプリケーションフレームワークやサービスを自動検出します。アプリケーションの検出と構成のための組み込み設定を使用して、エージェントがアプリケーションのデータやメトリックを収集してフローマップを構築します。

    フローマップは、アプリケーション コンポーネント間のデータのフローを理解しやすくするために、アプリケーションのコンポーネントを視覚的に表現します。たとえば、次のような単純なeコマースアプリケーションのビジネストランザクションフローマップは、Webサービス、メッセージキュー、およびデータベース間のデータのフローを示します。

    自動検出を使用して、AppDynamicsの各種機能をすぐに試してみることができます。AppDynamicsの理解が深まり、ご使用の環境に固有の領域を識別したら、アプリケーションモデルを精緻化することができます。

    ビジネストランザクション

    AppDynamics のモデルでは、ビジネストランザクションはリクエスト(ユーザリクエストの場合が最も多い)に対するデータ処理フローを表します。実際には、以下のようなリクエストに応えるために、アプリケーション内のさまざまなコンポーネントが相互作用してサービスを提供します。

    • eコマースアプリケーションの場合、ユーザーのログイン、商品の検索、カートへの商品の追加
    • コンテンツポータルの場合、スポーツ、ビジネス、エンターテイメントニュースのコンテンツに対するユーザーリクエスト
    • 株取引アプリケーションの場合、株価の取得や株式の売買などのオペレーション

    AppDynamicsアプリエージェントは、ビジネストランザクションへのエントリポイントとしてアプリケーションへのリクエストを検出します。ユーザーログインなどの同様のリクエストは、同じビジネストランザクションの複数のインスタンスとして扱われます。エージェントはリクエストデータにタグを付け、リクエストがWebサーバーからデータベースやその他のインフラストラクチャコンポーネントに渡される過程でその経路を追跡します。AppDynamics は、ビジネストランザクションを処理する各ティアのパフォーマンスメトリックを収集します。

    ビジネストランザクションのパフォーマンスモニタリングの枠組みはAppDynamicsによって提供されるため、開発者はユーザーの視点でアプリケーションコンポーネントのパフォーマンスに集中することができます。コンポーネントがすぐに利用可能な状態か、それともパフォーマンスの問題を抱えているかをすばやく識別できます。たとえば、ログイン、チェックアウト、または自分のデータの表示をユーザーが実行できるかどうか確認できます。ユーザへの応答時間や、問題が起きた場合の原因を確認できます。 

    ビジネス アプリケーション

    ビジネスアプリケーションとは、AppDynamics モデルにおけるトップレベルのコンテナです。ビジネスアプリケーションには一連の関連するサービスおよびビジネストランザクションが含まれます。

    AppDynamicsの小規模なデプロイメントの場合、環境を構築するには1つのビジネスアプリケーションで問題ありません。より大きなデプロイメントを行う場合には、環境モデルを複数のビジネスアプリケーションに分割することができます。

    ビジネスアプリケーション管理の最良の方法は、ご使用の環境により異なります。しかし、コントローラUIでのロールベースのアクセス制御はビジネスアプリケーションによって決定されるため、ほとんどのケースでの最も重要な考慮事項は、組織の作業チームを反映するようにビジネスアプリケーションを構造化することです。

    ノード

    AppDynamics モデルにおけるノードは、アプリケーション環境でモニタリングの対象となるサーバまたは JVM に対応します。ノードはモデル化される環境の最小単位です。エージェントのタイプに応じて、ノードは個々のアプリケーションサーバ、JVM、CLR、PHP アプリケーション、Apache Web サーバに対応している場合があります。 

    各ノードはAppDynamicsモデル内で識別されます。エージェントを構成するときに、エージェントがコントローラにデータをレポートする際のノード、ティア、ビジネスアプリケーションの名前を指定します。 

    ティア

    ティアは AppDynamics モデルにおける 1 つの単位であり、1 つ以上のノードをグループ化したもので構成されます。ティアをどのように編成するかは、対象の環境の概念モデルによって異なります。

    ティアは多くの場合、同じ冗長サーバのセットをグループ化するために使用されます。ただし、これは厳密な要件ではありません。同じノードかどうかにかかわらず、パフォーマンスメトリックを 1 つの単位として扱いたい任意のノードのセットを 1 つのティアにグループ化することができます。

    唯一の制限として、1 つのティア内のすべてのノードが同じタイプである必要があります。.NET ノードと Java ノードのように、タイプの異なるエージェントを 1 つのティアに混在させることはできません。 

    ビジネスアプリケーションにおけるトラフィックは、フローマップではパフォーマンスメトリックの注釈が付いた線で示されるように、ティア間を流れます。

    AppDynamicsモデルでは:

    • 単一のティア内でノード間が作用しあうことはありません
    • アプリケーションエージェントのノードは2つ以上のティアに属することができません

    バックエンド

    バックエンドとは、AppDynamics エージェントによってインストゥルメント化されないが、ビジネス トランザクション インスタンスの処理には参加するコンポーネントのことです。バックエンドは Web サーバ、データベース、メッセージキュー、またはその他のサービスです。

    エージェントは、インストゥルメント化コード(終了コール)からサービスへの呼び出しを認識します。サービスがインストゥルメント化されず、コールのトランザクションコンテキストを継続できない場合、エージェントは当該サービスがバックエンドコンポーネントであると判断します。エージェントはトランザクションコンテキストをバックエンドの応答で認識し、トランザクションをその時点からフォローします。

    パフォーマンス情報はバックエンドコールに利用可能です。バックエンドによって処理されるトランザクションの一部について詳細なトランザクション分析を行うには、データベース、Webサービス、またはその他のアプリケーションをインストゥルメント化する必要があります。

    他のAppDynamicsモジュールとの統合

    このセクションでは、その他の AppDynamics APM プラットフォーム製品が Application Monitoring と連携して、アプリケーションの正常性とユーザエクスペリエンスを完全かつ全面的に可視化するしくみについて説明します。

    Application MonitoringとInfrastructure Visibility 

    Infrastructure Visibilityは、アプリケーションの実行基盤であるハードウェアとネットワークをエンドツーエンドで可視化します。Infrastructure Visibilityを使用して、サーバーの障害、JVMのクラッシュ、ハードウェアリソースの使用率など、アプリケーションのパフォーマンスに影響を及ぼす問題を識別し、トラブルシューティングを行うことができます。Infrastructure Visibilityの機能には3つのクラスがあります。

    • Standalone Machine Agent を使用して、基本的なハードウェアメトリックを収集します。アプリエージェントのライセンスを 1 つ購入するごとに、マシンエージェントのライセンスが 1 つ付属します。このマシンエージェントは、アプリエージェントがインストールされているマシンと同じマシンにしかデプロイできません。マシンエージェントで提供される機能は次のとおりです。
      • サーバーのOSからの基本的なハードウェアメトリック(例:CPU使用率、メモリ使用量、ディスクおよびネットワークI/O)
      • 拡張機能からコントローラに渡されるカスタムメトリック
      • ランブックの手順を自動化するための修復スクリプトを実行する。オプションで、スクリプトが開始される前に人間による承認を義務付けるように修復アクションを構成できます。
      • JVM Crash Guardを実行してJVMクラッシュをモニタリングし、オプションで修復スクリプトを実行する
    • サーバの可視性ライセンスを持っている場合はスタンドアロン マシン エージェントで次の追加機能が提供されます。
      • マシンの可用性、ディスク/CPU/仮想メモリ使用量、プロセスページフォールトなどの拡張ハードウェアメトリック
      • Dockerコンテナ内で動作するアプリケーションノードをモニタリングし、アプリケーションのパフォーマンスに影響を及ぼすコンテナの問題を識別する
      • Tier Metric Correlatorによってティアの全ノードの負荷とパフォーマンスの異常を識別する
      • 内部または外部のHTTPおよびHTTPSサービスをモニタリングする
      • 特定のサーバーグループに正常性ルールを適用できるようにサーバーをグループ化する
      • モニタリング対象のサーバーハードウェアメトリックに基づいて、特定の条件が満たされたか超過したときにトリガーするアラートを定義する
    • Network Visibility では、トラフィックフロー、ネットワークパケット、TCP 接続、および TCP ポートがモニタされます。ネットワークエージェントはアプリサーバーエージェントのAPMインテリジェンスを利用して、各アプリケーションが使用するTCP接続を識別します。Network Visibilityには以下の機能が含まれます。

      • ドロップ/再送信されたパケット、TCPウィンドウサイズ(有限/ゼロ)、接続セットアップ/ティアダウンの問題、長いラウンドトリップ時間、パフォーマンスに影響するその他の問題に関する詳細なメトリック
      • ティア、ノード、ネットワークリンクのKPI(重要パフォーマンス指標)をハイライトするネットワークダッシュボード
      • ティア、ノード、ネットワークリンクのダッシュボードを右クリックして、トランザクションの異常値からネットワークの根本原因にクイックドリルダウンが可能
      • TCP接続とアプリケーションフローの自動マッピング
      • TCP接続を分割する中間ロードバランサの自動検出
      • 個々の接続の高度な診断情報を収集するための診断モード

    Application MonitoringとBrowser Real User Monitoring

    End-User MonitoringをApplication Performance Managementに追加すると、ビジネストランザクションのパフォーマンスを、それらのトランザクションのユーザーエクスペリエンスと相関させることができます。詳細については、「Correlate Business Transactions for Browser RUM」を参照してください。

    ブラウザアプリケーションにサービスを提供するアプリケーション上でサーバーアプリエージェントを実行する場合、ブラウザ上で実行されるコードにJavaScriptエージェントをインジェクトするために、アプリサーバーエージェントをさらに構成することができます。インジェクションを構成するための設定にはApplications Configurationページからアクセスします。詳細については、「Automatic Injection of the JavaScript Agent」および「Assisted Injection」を参照してください。  

    Application MonitoringとDatabase Visibility

    Application Monitoringでは、インストゥルメント化されたノードによって呼び出されたデータベースはリモートサービスとみなされます。アプリケーションノードとデータベース間の相互作用に関しては多くの情報が得られますが、データベースサーバーの観点からの情報は得られません。Database VisibilityをApplication Monitoringと併用すると、アプリケーションフローマップから直接、詳細なデータベースパフォーマンス情報にドリルダウンできます。詳細については、「Access Database Visibility from Application Monitoring Views」を参照してください。 

    Application MonitoringとAnalytics

    アプリケーションコードをたどっても問題の原因を解明する十分な手がかりを得られない場合、AppDynamicsは特定のビジネストランザクションリクエストと相関する可能性があるトランザクションログを可視化します。ログの相関性の可視化には、Transaction AnalyticsとLog Analytics両方のライセンスが必要になります。「ビジネストランザクションとログの相関性」を参照してください。