Download PDF
Download page AppDynamicsのコンセプト.
AppDynamicsのコンセプト
Related pages:
このページでは、AppDynamics アプリケーション パフォーマンス管理(APM)プラットフォームのクラウドベースの Software as a Service(SaaS)展開について説明します。
AppDynamics APM プラットフォームの概要
AppDynamics APM プラットフォームでは、モバイルやブラウザのクライアントネットワークのリクエストから、バックエンドのデータベースやサーバなどに至るまで、アプリケーション配信エコシステムを管理およびモニタリングすることができます。アプリケーション状況全体にわたるこのグローバルビューにより、分散アプリケーションから、個々のホストで生成されたコールグラフおよび例外レポートまで、すばやくナビゲーションできます。
ユーザーインターフェイス
AppDynamics は、エージェントによって収集されたパフォーマンスデータに対して収集、保存、分析、およびベースライン化を行うためのコントローラテナントと、情報を表示および管理するためのコントローラテナント UI を提供します。自分のアカウント名が使用された URL を介して AppDynamics コントローラテナント UI にアクセスします。各コントローラテナントには独自のユーザーセット、レポートエージェント、およびアプリケーション モニタリング設定があります。
AppDynamics は、1 つまたは複数のアカウントをホストできます。各アカウントは、1 つのコントローラテナントを表します。AppDynamics SaaS 展開は、複数のコントローラテナントに個別にアクセスできるマルチテナント環境です。
アプリケーション パフォーマンスのモニタリング
AppDynamics を利用することにより、階層レベルで AppDynamics アプリケーション サーバ エージェントを介してコードのランタイムオペレーションを確認できます。エージェントは、ティアでサービスエントリポイントに対するコールを検出し、コールスタックを通じてコールに対する実行パスに従います。使用状況メトリック、コードの例外、バックエンドシステムへの exit コール、およびエラー状態に関するデータをコントローラテナントに送信します。「アプリケーションサーバーエージェントのインストール」を参照してください。
大半のアプリケーション環境には、複数のアプリケーションサーバが含まれています。これには、特定のユーザリクエストの実行に参加する分散および相互接続されたサーバとプロセスが含まれている場合があります。このコンテキストでは、AppDynamics は分散された異種サービス間でトランザクションを追跡します。
データベース可視化によるインフラストラクチャの視覚化
アプリケーションデリバリ環境を最大限に視覚化するため、AppDynamics のデータベースの可視性を SaaS 展開に追加できます。
アプリケーション エージェントは、エラーやコールの数など、バックエンドデータベースへのコールに関する情報を提供します。データベースの可視性モジュールは、エージェントレス プロファイルを使用したクエリの実行とパフォーマンスに関する情報を提供することで、データベースサーバ自体の動作に対する可視性を拡張します。
AppDynamics のインフラストラクチャの可視性は、環境内のマシンとネットワークのパフォーマンスに関する重要な情報を追加することで、データセンターの確認に役立ちます。
この展開では、データベースエージェントはデータベースサーバーから情報を収集し、コントローラテナントに送信します。この情報の一部は、イベントサービスに保持されます。イベントサービスは、大量の情報の検索と保存向けに最適化されたドキュメント ストレージ コンポーネントです。データベース分析機能では、イベントサービスを使用できます。
クライアントエクスペリエンスのエンドユーザーモニタリング
サーバー側のモニタリングにより、アプリケーションのパフォーマンスに関するエンドユーザーのエクスペリエンスを可視化し、サーバーのパフォーマンスの向上を提案します。エンドユーザーモニタリング(EUM)によって、このようなモニタリングを最初のクライアント要求からクライアントデバイスの応答まで拡張できます。AppDynamics エンドユーザーモニタリングでは、要求の送信元、ユーザーが使用しているデバイスとチャネル、およびユーザーのデバイスに展開されたコードのパフォーマンスに関する情報を収集できます。クラッシュ時にスタックトレースやその他のコンテキストデータを表示して、それらをサーバーからのビジネス トランザクション データに結び付けることで、モバイルクラッシュを調査するために必要な可視性を提供します。
ビジネスへの影響を把握するための Business iQ および分析
AppDynamics 分析では、アプリケーション環境とエンドユーザー アプリケーションのパフォーマンスがトランザクションのビジネスデータにどのように関係しているかを理解する上で役立つ Business iQ を使用できます。ユーザは、ビジネストランザクションを構成するデータを整理し、順序づけて、理解することができます。環境から生成されたログデータを掘り下げることができます。詳細については、分析データの使用を参照してください。
メトリックの使用
メトリックは、モニタリング環境における特定のクラスの測定値、状態、またはイベントです。多数のデフォルトが、リクエストの負荷、平均応答時間、エラー率など、アプリケーションまたはビジネストランザクションの全体的なパフォーマンスに関連します。その他のものは、CPUビジー率やメモリ使用率など、サーバーインフラストラクチャの状態を示します。
エージェントは、検出したメトリックをコントローラテナントに登録します。その後、定期的にメトリックの測定値やオカレンスをレポートします。メトリックは、コントローラテナント UI のMetric Browserを使用して表示できます。
インフォメーションポイントは、(アプリケーションに対して)ビジネスのパフォーマンスをレポートできるタイプのメトリックです。たとえば、特定の製品や製品群のウェブサイトでの購入の収益を集計するインフォメーションポイントをセットアップすることができます。また、インフォメーションポイントを使って、特定のメソッドが呼び出された回数や、実行までの時間など、コードのパフォーマンスをレポートすることもできます。
ユーザーが定義するカスタムメトリックをレポートするためにマシンエージェントを使用する拡張を作成できます。あらかじめ用意されている AppDynamics メトリックと同様に、これらのメトリックには基準値があり、コントローラテナントにレポートされます。
コントローラテナント UI を使用する代わりに、AppDynamics API を使用してプログラムでメトリックにアクセスできます。
ベースラインとしきい値
AppDynamics プラットフォームでは、自己学習した基準値と構成可能なしきい値の両方を使用して、アプリケーションの問題を特定できます。複雑な分散アプリケーションには多数のパフォーマンスメトリックがあり、各メトリックは 1 つまたは複数のコンテキストで重要です。次のことは難しい場合があります。
- 特定のメトリックの標準的な値または範囲を判断する。
- 関連アラートをベース化および受け取るための、意味のあるしきい値を設定する。
- アプリケーションやインフラストラクチャが変更されたときの「標準的な」メトリックが何であるかを判断する。
これらの理由から、動的な基準値またはしきい値に基づいた異常検知が提供されます。
AppDynamics プラットフォームは、メトリックに対する動的な基準値を自動計算し、実際の使用状況に従って各メトリックの「標準」を定義します。このプラットフォームでは、これらの基準値を利用して、範囲から外れている後続のメトリック値を特定します。変化の激しいエラーが発生しやすいアプリケーション環境で静的しきい値を設定する必要はなくなりました。
基準値を使用する条件を持つ正常性ルールを作成することで、パフォーマンス問題が発生、または発生しそうなときにアラートまたはその他のアクションをトリガーできます。「アラートと応答」、「正常性ルール」、「動的ベースライン」を参照してください。
AppDynamics のしきい値は、トランザクションの遅延、大幅な遅延、および停滞を検出することでサービスレベル契約(SLA)を守り、最適なパフォーマンスレベルを維持するのに役立ちます。しきい値があれば、正しいビジネスコンテキストとリクエストの遅延を関連付け、根本原因を特定できます。「トランザクションのしきい値」を参照してください。
正常性ルール、ポリシー、およびアクション
AppDynamics は、動的な基準値設定を使用して、アプリケーションにとって標準的な挙動を自動的に確立します。ユーザーはこの標準となる基準値に従って正常性ルールを策定し(またはその他のヘルスインジケータを使用し)、最適でない状態をトラッキングできます。
このような問題のあるイベント(正常性ルールの重大イベントなど)を、アラートや救済的な挙動をトリガーできるアクションとつなげることができるポリシーが、ユーザが影響を受けるずっと前にシステムの問題に対処します。
AppDynamics は、デフォルトの正常性ルールを提供します。ユーザは、環境に合わせてデフォルトの正常性ルールをカスタマイズしたり、新しいルールを作成したりすることができます。「アラートと応答」を参照してください。
デフォルトの正常性ルールでは、以下のようにビジネストランザクションパフォーマンスがテストされます。
ビジネストランザクションの応答時間が通常よりもはるかに長い
- クリティカルな状態は、デフォルトの基準値よりも 3 標準偏差高い平均応答時間と、1 分あたり 50 コールより大きい負荷を組み合わせたものとして定義されます。
- このルールが定義する警告状態とは、デフォルトの基準値よりも 2 標準偏差高い平均応答時間と、1 分あたり 100 コールより大きい負荷を組み合わせたものです。
ビジネストランザクションのエラー率が通常よりもはるかに高い
- クリティカルな状態は、デフォルトの基準値よりも 3 標準偏差高いエラー率、1 分あたり 10 エラーより高いエラー率、および 1 分あたり 50 コールより大きい負荷を組み合わせたものとして定義されます。
- このルールが定義する警告状態とは、デフォルトの基準値よりも 2 標準偏差高いエラー率、1 分あたり 5 エラーより高いエラー率、および 1 分あたり 50 コールより大きい負荷を組み合わせたものです。
インフラストラクチャモニタリング
インフラストラクチャのパフォーマンスをモニタリングすることで、パフォーマンスに関する基礎となる要因を把握できます。AppDynamics では、ビジネス トランザクション レベルとインフラストラクチャレベルで問題を警告できます。
AppDynamicsでは、あらかじめ構成されたアプリケーションインフラストラクチャメトリックとデフォルトの正常性ルールが提供されるため、ユーザーはインフラストラクチャの問題を発見および修正することができます。ユーザーのビジネスニーズやアプリケーション アーキテクチャに特化したモニタリング戦略を導入するために、継続的なメトリックを追加構成できます。
Metric Browserでインフラストラクチャ メトリックを表示できます。このコンテキストでは、インフラストラクチャ メトリックがビジネストランザクションのパフォーマンスにどのように相関または関連しているかを理解する上で、相関分析グラフと拡張性分析グラフが役に立ちます。
AppDynamics の統合と拡張
AppDynamics Exchange では、多くの拡張をダウンロードできます。また、必要なものが見つからない場合は独自に開発することも可能です。
AppDynamics の拡張は、次のカテゴリで使用できます。
- モニタリング拡張は、AppDynamics エージェントが収集し、テナントにレポートする既存のメトリックセットにメトリックを追加します。これには、ユーザが他のモニタリングシステムから収集するメトリックを含めることができます。また、データベース、LDAP サーバ、Web サーバ、C プログラムなど、AppDynamics によってインストゥルメント化されないサービスからお使いのシステムが抽出するメトリックを含めることもできます。詳細については、拡張機能とカスタムメトリックを参照してください。
- アラート拡張では、AppDynamics を外部のアラートまたはチケットシステムと統合し、カスタム通知アクションを作成できます。「メールテンプレート」および「HTTPリクエストアクションおよびテンプレート」を参照してください。
- パフォーマンステスト拡張は、パフォーマンスをテストする拡張で構成されます。
- 有効化または設定する必要がある、標準搭載の統合拡張。これには、以下が含まれます。
カスタム拡張や統合コンポーネントを作成する場合は、「AppDynamics API」を参照してください。