インフラストラクチャの可視性の概要

アプリケーションの問題の根本原因は、インフラストラクチャの使用状況を測定するアプリケーション、ネットワーク、サーバ、およびマシンのメトリックを調べることによって特定できます。たとえば、次のインフラストラクチャの問題により、アプリケーションの速度が低下する可能性があります。

  • 一時オブジェクトのガベージコレクションに費やされた時間が多すぎる(アプリケーションメトリック)
  • 2 つのノード間でパケット損失が発生し、その結果、再送信が発生し、コールが低速になる(ネットワークメトリック)
  • プロセスが非効率であり、その結果、CPU 使用率が高くなる(サーバメトリック)
  • 特定のディスクまたはパーティションに対する読み取り/書き込みのレートが非常に高い(ハードウェアメトリック)

インフラストラクチャの可視性により、これらのタイプの問題を識別、特定し、トラブルシューティングできます。インフラストラクチャの可視性は、同じマシンでアプリケーション サーバ エージェントとともに実行されるマシンエージェントに基づきます。これらの 2 つのエージェントは、マルチレイヤモニタリングを提供します。

  1. アプリケーション サーバ エージェントは、アプリケーションに関するメトリックを収集し、低速トランザクション、停止トランザクションの問題、およびその他のアプリケーション パフォーマンスの問題があるアプリケーション、階層、およびノードを識別します。
  2. ネットワークエージェントは、各ノードで送受信されたネットワークパケットをモニタし、損失したパケットや再送信されたパケット、TCP のボトルネック、高いラウンドトリップ時間、およびその他のネットワークの問題を特定します。
  3. マシンエージェントは、次の 2 つのレベルでメトリックを収集します。
    • ローカルプロセス、サービス、およびリソースの使用率に関するサーバの可視性のメトリック。
    • ディスク、メモリ、CPU、およびネットワーク インターフェイスに関する基本マシンメトリック。

このマルチレイヤモニタリングにより、アプリケーションの問題と、サービス、プロセス、ハードウェア、ネットワーク、またはマシンのその他の問題との間で考えられる相関関係を特定することができます。

エージェント モニタリング メトリック

Network Visibility

ネットワークの可視性では、通信フロー、ネットワークパケット、TCP 接続、および TCP ポートがモニターされます。ネットワークエージェントはアプリサーバーエージェントのAPMインテリジェンスを利用して、各アプリケーションが使用するTCP接続を識別します。ネットワークの可視性には以下が含まれます。

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

サーバーの可視性

サーバーの可視性は、ローカルプロセス、サービス、およびリソース使用率をモニターします。アプリケーション パフォーマンスの問題が、1 つ以上のノードのサーバパフォーマンスの問題に関連する場合、これらのメトリックを使用して時間枠を特定できます。

サーバーの可視性は、マシンエージェントのアドオンモジュールです。サーバの可視性が有効な場合、マシンエージェントは次の機能を提供します。

  • マシンの可用性、ディスク/CPU/仮想メモリ使用量、プロセスページフォールトなどの拡張ハードウェアメトリック
  • Dockerコンテナ内で動作するアプリケーションノードをモニタリングし、アプリケーションのパフォーマンスに影響を及ぼすコンテナの問題を識別する
  • Tier Metric Correlator によってティアの全ノードの負荷とパフォーマンスの異常を識別する
  • サーバタグをインポートおよび定義する。サーバタグは、カスタムメタデータを使用して、関連するサーバの照会、フィルタ処理、および比較を行うために使用されます
  • 内部または外部の HTTP および HTTPS サービスをモニタリングする
  • サーバのグループ化のサポート。これにより、特定のサーバグループに正常性ルールを適用できます
  • モニター対象のサーバー ハードウェア メトリックに基づいて、特定の条件が満たされたか超過したときにトリガーするアラートの定義のサポート

Basic Machine Metrics

The Machine Agent collects basic hardware metrics from the server's OS and provides the following functionality:

  • Basic hardware metrics from the server's OS such as CPU and memory utilization, throughput on network interfaces, and disk and network I/O
  • Support for creating extensions to generate custom metrics
  • Support for running remediation scripts to automate your runbook procedures. You can optionally configure the remediation action to require human approval before starting the script.
  • JVM Crash Guard for monitoring JVM crashes and optionally running remediation scripts

Java and .NET Infrastructure Monitoring

Infrastructure Visibility uses different agents to monitor Java and .NET environments:

  • The Java Agent collects metrics for business applications and JVMs. The Machine Agent collects Server Visibility and hardware/OS metrics.
  • The .NET Agent collects metrics for business applications and instrumented CLRs. The .NET Agent includes a .NET Machine Agent that collects IIS and hardware/OS metrics (see Monitor Windows Hardware Resources). The Machine Agent collects Server Visibility metrics.

インフラストラクチャの可視性の方法

次の方法を使用して、アプリケーションのパフォーマンスに影響するインフラストラクチャの問題を見つけることができます。

  • 低速なトランザクションまたは停止したトランザクションのトランザクション スナップショット:スナップショットを使用して、特定のノードのインフラストラクチャ メトリックを関連付けることができます。これにより、低速なトランザクションまたは停止したトランザクションの根本原因を特定できます。
  • メトリック相関:
    • 1 つのワークフローの例として、マシンエージェントがインストールされたミッションクリティカルなサーバのノードダッシュボードを開き、次のタブでデータを相互に比較します。
      • JVM(アプリケーションのパフォーマンス)
      • JMX(サーバのパフォーマンス)
      • Server(ハードウェアリソースの消費)
    • ネットワークダッシュボードには、階層、ノード、およびネットワークリンクの右クリックダッシュボードが含まれます。これらのダッシュボードを使用して、アプリケーションの問題とネットワークの根本原因との間の相関関係を見つけます。
    • Tier Metric Correlator により、コンテナまたはサーバーで実行されているノードのクラスターで構成される階層で、負荷とパフォーマンスの異常を特定できます。
  • 正常性ルール:ビジネストランザクションに影響が出る前に、ガベージコレクション時間、接続プールの競合、CPU 使用率などのメトリックに正常性ルールを設定して、サイクルの早い段階で問題を検出します。
  • インフラストラクチャのルール、ポリシー、およびアラート:
    • ビジネストランザクションに影響が出る前に、サイクルの早い段階で問題を検出するために、ガベージコレクション時間、接続プールの競合、CPU 使用率などのメトリックに対して正常性ルールを作成する。
    • インフラストラクチャ メトリックにより重大レベルがレポートされたときにアクション(電子メールを送信する、診断を開始する、スレッドダンプを実行するなど)をトリガーするポリシーを定義する。
    • JVM クラッシュガード.NET マシンエージェントを使用して、それぞれ JVM クラッシュと CLR クラッシュのアラートを設定する。
    • 重大なイベントに応じてスクリプトを実行するようにエージェントを設定する(たとえば、クラッシュに応じてアプリケーションまたは JVM を再起動する)。

適切なモニタリング方法を実施することで、ユーザトランザクションが影響を受ける前に問題についてアラートを出し、それらの問題を修正できます。