前回は固定文字列を表示する簡単なダッシュボードを作ってみました。

前回までの「SysTrackのDashboardを使いこなそう」

データベースと連携して文字列を取得しているとはいえ、正直なところ実用的ではありませんね。
そこで今回はSysTrackのデータベースに格納されたデータをもとにヘルススコアを計算して表示するようにダッシュボードを修正してみます。

ヘルススコアとは

SysTrackにおいてヘルススコアはユーザーエクスペリエンスを可視化した数値であり、ユーザーがデスクトップを使用した時間のうち、何も問題が発生しなかった時間の割合(百分率)で計算されます。
問題が発生したかどうかはCPU、メモリ、ディスク、遅延などの13種類の項目で判定されます。

例えばユーザーがデスクトップを100時間使用したうち85時間は何も問題が発生しなかった場合、ヘルススコアは85点となります。

ヘルススコアの表示

SysTrackのデータ構造:RPT_VUHealthDaily

各デスクトップのヘルスの状況は1分毎に判定され、10分毎に各デスクトップに記録され、さらにそのデータが日毎に集計されてSysTrackのマスターサーバーに送信され、データベースに格納されます。
このデータは下記の構造をもつデータベースビューRPT_VUHealthDailyから取得することができます。(一部の列のみを表示しています。)

WGUID DOTY ACTIVESTATUS WACTIVE WSUMMARY
デスクトップの識別子 集計日付 0または1
(今回はACTIVESTATUS=1のデータのみを対象とします。)
ACTIVESTATUS=1の場合はデスクトップを使用した時間(単位は分) WACTIVEにカウントされた時間のうち問題が発生した時間(単位は分)

ヘルススコアの計算

上記のデータベースビューからデスクトップ全体のヘルススコアを計算するSQL文を下記に示します。

SELECT
  (SUM(WACTIVE) - SUM(WSUMMARY)) / (SUM(WACTIVE) + 0.001) * 100 AS HEALTH_SCORE
FROM
  RPT_VUHealthDaily
WHERE
  ACTIVESTATUS = 1

SQL文について詳細な解説はしませんが、HEALTH_SCOREの計算の分母部分で0.001を足しているのは、0で除算をしないようにするためと、整数型から浮動小数点数型に型変換するためです。

ダッシュボードの修正

それでは前回作成したダッシュボードを修正してデスクトップ全体のヘルススコアを表示するようにします。
Dashboard Builderツールを開き、上部メニューのフォルダーアイコンをクリックし、前回作成したダッシュボードを選択し、OKをクリックします。

ダッシュボードの修正

クエリデータをクリックしてプロパティを表示し、クエリー テキストボックスに上記のSQL文を入力し、適用をクリックします。

クエリー テキストボックスに上記のSQL文を入力し、適用をクリック

ダッシュボードを表示すると下図のようにデスクトップ全体のヘルススコアが表示されます。
※Visualizer→エンタープライズ→ダッシュボードに表示されるユーザー エクスペリエンス スコアの数値とは一致しません。これは集計方法や集計期間、集計タイミングが異なるためです。

ダッシュボードへの表示

まとめ

今回はダッシュボードを修正してヘルススコアを表示しました。
次回はヘルススコアの表示方法を変更してみます。