Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

第19章 メトリックおよび測定値

すべてのオペレーティングシステム、アプリケーション、およびサーバーには、パフォーマンスを測定するためのメカニズムがあります。データベースにはページのヒットやミスがあります。サーバーはオープン接続数を持ち、プラットフォームはメモリーと CPU 使用率を持ちます。これらのパフォーマンス測定は、JBoss Operations Network によって メトリクス として監視できます。

19.1. リソースに関する直接情報

メトリックは、リソースのパフォーマンスや負荷を測定する方法です。主な用語は測定です。メトリクスとは、ソフトウェアが公開するデータポイントで、そのソフトウェアの運用や目的に関連するもので、そのソフトウェアの量的な動作についての洞察を提供します。

図19.1 メトリクスグラフ

メトリクスグラフ
リソースのタイプごとに、リソースタイプに関連する独自のメトリクスセットがあります。メトリクスは、そのリソースタイプのプラグイン記述子で定義されます。プラグイン記述子は、そのリソースに対して許可される測定タイプを一覧表示します。これは、リソースに対して実際に収集されるメトリクスと同じとは限りません。メトリクス自体を(リソースごとまたはメトリクステンプレートごとに)有効にし、スケジュールどおりに収集する必要があります。

19.1.1. Raw Metrics、Displayed Metrics、および Storing Data

メトリック情報の最新(および未処理)の読み取りは 生データ です。この raw データはバックエンドサーバーに保存されますが、Web UI に表示される情報ではありません。
Web UI に表示される情報は 集計されたデータ です。つまり、JBoss ON に表示され、モニタリングチャートに使用されるメトリクスは、生のデータポイントではなく、計算された値です。ジョブは 1 時間ごとに実行され、メトリクスの値を 1 時間に圧縮します。これらの集計には、集計期間の測定されたデータの最小、最大値、および平均値が含まれます。アグリゲートは、6 時間と 24 時間のウィンドウでも作成されます。
これらのアグリゲートは、グラフの範囲と表示領域のサイズに応じて、UI に表示されるデータの計算に使用されます。Web UI にはディスプレイ領域が制限されており、60 x ✓ セグメントに分割されます。JBoss ON サーバーは、生データを平均して、表示時間に関するデータポイントを作成します。たとえば、表示範囲が 60 時間の場合、各 x 方向セグメントは 1 時間、その 1 時間セグメントで収集されるすべての読み取りの平均になります。この集計は、チャートビューに指定された監視ウィンドウに応じて動的になります。
前述のように、ベースライン計算自体は生データの集計 「baselines and Out-of-Bounds Metrics」 で、1 時間、6 時間、および 24 時間表示のウィンドウを使用して、最小、最大、および平均のベースラインを設定します。UI が集約するとは異なり、これらの集計データが計算され、サーバーデータベースに監視データとして保存されます。
raw データはデフォルトで 1 週間のみ保存されますが、集約された値は最大 1 年間保存されます。データストレージ時間は設定可能です。

19.1.2. 現在の値

上記の 「Raw Metrics、Displayed Metrics、および Storing Data」 ように、JBoss ON に表示される情報のほとんどは集計されます。これは、監視期間に収集される複数のデータポイントの累積的な結果であり、指定のチャート内で処理および表示されます。
JBoss ON はリアルタイムモニターではありませんが、継続的にデータを収集します。最後に収集された値はリソースの Monitoring タブに表示されます。指定のメトリクスの最後の raw 値が表示されます。

図19.2 ライブ値の列

ライブ値の列
Monitoring タブが開いている限り、メトリクスが収集され、設定されたコレクションスケジュールではなく、Web UI の更新設定と共にライブ値(およびその他の平均データ)が更新されます。(可用性は、リフレッシュスケジュールよりもさらに頻繁にチェックされ、15 秒ごとにチェックされます。) つまり、リソースのメトリクスを表示すると、最新の情報が常に収集および表示され、その情報は毎分すぐに更新されます。
注記
メトリクスを収集するためにこのスケジュールが変更されると、リソースのアラートに対するルールが強化された可能性があります。
たとえば、特定の状態が 3 つ(3)発生後にアラートを発生させるために、メトリクスが 10 分ごとに収集されるようにスケジュールされ、UI の更新間隔が 1 分で、特定の条件が読み取られる場合でも、アラートは 3 分後に実行されます。アラートの意図は、状態が 持続 するだけでのみ発生する場合でも、3 分後にアラートを出力できます。

19.1.3. メトリクスのカウント: 動的な値と値

分かりやすいかもしれませんが、メトリクスデータを理解するには、データがどのようにカウントされるかを理解することが含まれます。カウントされる値には、以下の 2 つのタイプがあります。
  • 動的値 は、現在の状態であり、一時的な変更可能な値を示しています。これには、アプリケーションサーバーへの接続の現在の数や、プラットフォーム上の CPU 使用率などが含まれます。
  • 傾向値 は、リソースが開始した時点の合計、またはその有効期間を超えた合計数です。これらの値は 1 つの方向でのみ続行されます(通常は、常に高い値になるわけではありません)。
たとえば、エージェントの measurement サブシステムには、収集されるメトリクスと 毎分 のメトリクスの 2 つの同様のメトリクスがあります。後者は動的メトリクスです。つまり、最後の 1 分で実際に収集されたメトリクスの数に応じて、その値がアップおよび減少します。収集されたメトリック(最初のメトリクス)は累積的です。開始してから、エージェントが収集したメトリクスの合計数です。そのため、同じデータをカウントしても、2 つのメトリクスの値が非常に異なります。
前述のように 図19.3「メトリックの動的な値および値」、トレンドデータの平均を計算することは可能ですが、その値は意味がありません。同様に、トレンド値の「最小」は選択した期間の開始値であり、「最大」は選択した期間の最後の値になります。他の自動計算(out-of-bound values やベースラインなど)は、トレンドデータとは無意味ですが、動的データで重要になります。

19.1.4. baselines and Out-of-Bounds Metrics

メトリクスが確実に収集されると、JBoss ON はメトリクスの ベース ラインを自動的に算出します。ベースラインは、そのリソースのメトリックに対する通常の操作範囲です。ベースラインは、デフォルトで集約されたデータを使用して、3 日ごとに収集されます。ベースラインは、データのローリングウインドウを使用します。
ベースラインメトリックは、実際のデータの変更をベースライン値と比較します。ベースラインは、効果的な傾向分析、SLA 管理、およびアプリケーションの健全性評価を障害管理の形式として活用できます。
ベースラインにより、JBoss ON は高基準値と低いベースラインの外部(範囲外)で収集されるメトリクス値を識別できます。範囲外のメトリクスは 問題メトリクス として報告されます。
注記
メトリクスの値に応答してアラートがトリガーされると、アラートイベントは問題メトリクスとして追跡されます。
ベースラインがない場合は、計算されていないか、またはメトリクスがトレンドメトリクス(累積値)であるため、範囲外の要素は計算されません。
ベースラインには、最小値と最大値の違いがある 帯域幅 があります。違い は、問題メトリックがベースライン外にある絶対量です。範囲外の値を比較できるようにするには、範囲外の要素 を帯域幅で分割することで計算されます。これにより、通常の操作の範囲が、問題メトリクスがどの程度まであるかを比較して示するための比率が作成されます。
Suspect Metrics レポートでは、ベースラインは 最小、最大 数として報告され、範囲外のメトリクスは外部として一覧表示され ます。ベースラインとエビリアーの違いは、パーセンテージとして示されます。これは、基準値で除算され、直近のベースラインに対する差です。

図19.4 Depend Metrics Report

Depend Metrics Report
注記
ベースラインの計算では、1,2)の帯域として意図しない結果を出力できます。3 の外部値は、帯域(100, 200 MB)よりも少なく、250 MB を超える値であると考えられます。前者では実際には 100% 予想される帯域幅ですが、後者は 50% のみになります。

図19.5 アウトオブバウンドファクトリー

アウトオブバウンドファクトリー
範囲外の要素は、計算ジョブの期間中に 1 時間ごとに再計算されます。ジョブはアグリゲートを評価し、以前よりも深刻な状況が発生するかどうかを判断します。チャートには、常に最も深刻な範囲が表示されます。
メトリックのベースラインが変更されると、記録されたすべての範囲外の値が無効になり、古いベースラインに対して範囲外の測定が計算されるためです。

19.1.5. コレクションのスケジュール

メトリクスコレクションスケジュールは、リソースタイプのプラグイン記述子内の各メトリクスに対して個別に定義されます。
メトリクスの頻度についてのルールはありません。ほとんどのメトリクスでは、デフォルトの間隔は 10 分から 40 分の範囲です。一般的にはメトリクス(プラットフォームでの空きメモリーや CPU 使用率など)がありますが、多くのメトリクスの重要性は、IT および実稼働環境の一般的な環境とリソース自体によって異なります。妥当な間隔を設定して、リソースの実際のパフォーマンスを適切に反映する頻度で重要なメトリクスを収集します。
設定可能な最も短い間隔は 30 秒ですが、報告されたメトリックのボリュームがデータベースのパフォーマンスに影響を与える可能性があるため、短時間間隔を慎重に使用すべきです。

19.1.6. メトリクススケジュールおよびリソースタイプテンプレート

リソースに固有のその他のタイプのモニタリングデータ(可用性、イベント、特性)とは異なり、メトリクスは、そのタイプのすべてのリソースに対して汎用的なものになります。
メトリクスコレクションスケジュールは、リソースに許可されるメトリクスが実際に有効かどうか、コレクションの間隔を定義します。スケジュールはリソースレベルで設定されますが、メトリクスコレクションテンプレートを使用して、管理者が定義したデフォルト設定をタイプのすべてのリソースに 適用できます
テンプレートはサーバーの設定です。メトリクスは、アクティブなメトリクスと、特定タイプのすべてのリソースについてのコレクションスケジュールを定義します。テンプレートが使用されると、プラグイン記述子に提供されるデフォルトのメトリクス設定をすべて省略します。(メトリクステンプレートは、メトリクスが有効かどうかとその間隔のみを定義します。プラグイン記述子のみにより、リソースタイプで使用できるメトリクスのみを定義します。)
これらの設定は、必要に応じてリソースレベルで上書きできます。依然として、メトリクスコレクションテンプレートは、リソースおよびマシン全体でメトリック設定を一貫して適用する簡単な方法を提供します。