トレンドグラフに長期間のデータを表示する

<< Click to Display Table of Contents >>

マニュアル > 監視システム構築ガイド > 主要機能の構築 > ロギング/トレンドグラフ > トレンドグラフの長期間データ表示 >

トレンドグラフに長期間のデータを表示する

概要

トレンドグラフに長期間のログデータを表示する必要がある場合、主に以下の仕様を検討する必要があります。

 

検討のポイント

内容

ログデータの収集周期

 

1秒周期、1分周期などの、ログデータの収集周期です。周期が短いほど、指定期間内のデータ量は多くなります。

グラフ上の表示スパン

 

上記のログデータを、グラフ上にどのような表示スパンで表示したいのかを検討します。例えば、1時間分のみで良いのか、1日分(24時間)、あるいはそれ以上の表示が必要なのかを事前に検討しておきます。

 

 

トレンドグラフにログデータを表示する際の内部的な処理としては、表示するログデータをPanel Serverから取得してグラフ上のペンに点をプロットしていく処理が都度行われる事になります。従って、どれだけの数の点を画面上にグラフとしてプロットする必要があるのかにより、監視画面システムの処理負荷が変わってきます。

 

例えば、1秒周期のログデータを12時間の表示範囲でグラフとして表示したい場合、データは1秒に1件のため、ペン1本あたり43,200件のデータ量となります。

 

60(秒) * 60(分)*12(時間) = 43,200件

 

ここでは、上記の考え方を踏まえた上で、トレンドグラフに長期間のデータを表示するための設定方法について説明します。

 

 

サンプルのダウンロード

このページで紹介されている作成例には、サンプルが用意されています。

 

サンプルは以下からダウンロードすることができます。

 

 

尚、サンプルプロジェクトには、テストデータとして以下のログデータが含まれています。履歴表示の検証の際には、下記の範囲に該当する日付を指定することとします。

 

RAWデータ・・・2018/9/10から2018/9/24までの1秒周期のログデータ

 

 

データの表示期間の調整

画面ライブラリの標準設定はデフォルトで長期間のデータが表示されるようにあらかじめ設定されています。トレンドグラフのデータ表示期間は、「ヒストリカルデータグラフコントロール」の以下のプロパティの設定によって調整することができます。

 

プロパティ名

内容

_HDSDataMax

 

トレンドグラフ上に表示する、ペン1本あたりの最大データ数を指定します。表示要求に対して最大データ数を制限することにより、処理負荷を抑制することができます(画面ライブラリのデフォルト設定:50,000)。

本プロパティは、トレンドグラフ画面ライブラリに用意されているカスタムプロパティですが、トレンドグラフ画面に配置されているヒストリカルデータグラフコントロールの「HDSDataMax」プロパティを直接編集することでも設定が可能です。

RealTimeUpdateMode

 

リアルタイム表示モードの時のデータ取得方法を指定します。以下から選択することができます(画面ライブラリのデフォルト設定:ALL)。

 

NEW

現在(グラフ右側)から過去(グラフ左側)に向かってHDSDataMax分だけ表示する。

 

OLD

過去(グラフ左側)から現在(グラフ右側)に向かってHDSDataMax分だけ表示する。

 

ALL

HDSDataMax以上のログデータが存在する場合、UpdateCounterMaxで指定した回数を上限として、HDSDataMaxで指定したデータ数の単位で複数回に分けてサーバにログデータを要求する。

 

本プロパティは、トレンドグラフ画面に配置されているヒストリカルデータグラフコントロールに用意されているプロパティです。

 

HistoricalUpdateMode

 

ヒストリカル表示モードの時のデータ取得方法を指定します。以下から選択することができます(画面ライブラリのデフォルト設定:ALL)。

 

OLD

過去(グラフ左側)から現在(グラフ右側)に向かってHDSDataMax分だけ表示する。

 

ALL

HDSDataMax以上のログデータが存在する場合、UpdateCounterMaxで指定した回数を上限として、HDSDataMaxで指定したデータ数の単位で複数回に分けてサーバにログデータを要求する。

 

本プロパティは、トレンドグラフ画面に配置されているヒストリカルデータグラフコントロールに用意されているプロパティです。

 

UpdateCounterMax

 

RealtimeUpdateModeやHistoricalUpdateModeがALLの場合に、サーバにログデータを分割要求する回数の上限を指定します(画面ライブラリのデフォルト設定:10)。

 

 

■デフォルト設定の動作確認

 

トレンドグラフ画面ライブラリのデフォルト設定では、ヒストリカルデータグラフコントロールのプロパティは以下のように設定されています。

 

_HDSDataMax:50,000

RealTimeUpdateMode: ALL

HistoricalUpdateMode: ALL

UpdateCounterMax: 10

 

プロジェクトをオンラインの状態にし、グラフの表示モードの「リアルタイム更新」にチェックを入れてください。

そして、表示期間を1日にすると、以下のように全てのデータが表示されます。

 

p_logger_0292

 

続いて、表示期間を5日に変更してみます。

すると、画面上のグラフ表示は、数秒間隔で50,000件毎に表示が追加されていきます。

 

p_logger_0293

 

最終的に、5日分の全てのデータが表示されました。

 

p_logger_0294

 

上記の動作は、RealTimeUpdateModeに「ALL」を設定した場合の動作です。リアルタイム表示時の表示期間に長期間が指定された場合であっても、グラフ上に多くのデータを表示することができます。

 

尚、リアルタイム表示の場合、データの表示期間とデータの件数により、全てのデータが表示されるまでに処理時間がかかる場合があるため注意が必要です。具体的には、画面の表示呼び出しやペングループを変更する都度、グラフの初期表示に時間がかかります。リアルタイム表示を主としてトレンドグラフ画面を利用したいようなケースでは、何秒以内にグラフの初期表示を完了させる必要があるのかをユーザーニーズとして確認した上で、_HDSDataMaxとRealTimeUpdateModeの設定をニーズにマッチした範囲となるように調整するか、運用の際に表示期間に長い期間を指定させないようにするような配慮が必要になります。

 

 

続いて、グラフの表示モードの「リアルタイム更新」のチェックを外して、表示期間を5日に変更し、日時の指定を2018/9/12 00:00:00にしてみてください。

すると、数秒間隔で50,000件毎に表示が追加されていき、最終的に全てのデータが表示されます。

 

p_logger_0296

 

上記の動作は、HistoricalUpdateModeに「ALL」を設定した場合の動作です。履歴表示時の表示期間に長期間が指定された場合であっても、グラフ上に多くのデータを表示する事ができます。

 

以下に、各プロパティを変更した場合の動作について、具体的な例をもとに説明します。

 

 

■RealTimeUpdateMode/HistoricalUpdateModeの動作検証

 

ここでは例として、ヒストリカルデータグラフコントロールのプロパティを以下のように変更します。

 

_HDSDataMax:50,000

RealTimeUpdateMode: NEW

HistoricalUpdateMode: OLD

UpdateCounterMax: 10

 

上記の設定で履歴データを表示すると、ログデータの検索開始から最大件数50,000件に達したところまでしかグラフが表示されない動作となります。また、リアルタイム表示では、直近のレコードから50,000件より以前のデータはグラフに表示されません。

 

実際に動作を確認してみましょう。

 

 

1.プロジェクトを実行する

 

Panel Serverの画面上部にあるオンライン(黄矢印)をクリックしてください。

続いて、Panel Editorの画面上部にあるブラウザ実行アイコン(緑矢印)をクリックし、Panel Browserを呼び出します。  

 

Panel Browserが起動したら、トレンドグラフ画面を表示してください。

 

p_logger_0286

 

トレンドグラフ画面のデフォルト表示設定では、表示期間は10分間として表示されます。上記の例では表示期間中のすべてのデータがグラフとして表示されています。

 

 

2.表示期間を「1日」に変更してみる        

 

それでは、グラフの表示期間を「1日」に変更してみてください。

 

すると、以下のようにグラフの右半分のみのデータが表示され、それより過去はグラフが表示されていないことが分かります。

 

p_logger_0287

 

上記は、_HDSDataMaxが「50,000」かつ、RealTimeUpdateModeが「NEW」となっているため、直近の50,000件のデータのみが表示された動作になります。

 

 

3.表示モードを履歴表示に変更してみる

 

トレンドグラフ画面の右側にある設定ボタン(歯車アイコン)をクリックしてメニューを表示し、「リアルタイム更新」のチェックを外し、日時の指定を2018/9/12 00:00:00にしてみてください。

 

p_logger_0288

 

すると、サンプルデータには24時間分のデータが存在しているにもかかわらず、グラフの表示は表示期間で最も古いデータ(グラフの左側)から現在に向かって50,000件のデータのみが表示され、それ以降はグラフが表示されていません。

 

p_logger_0289

 

上記は、_HDSDataMaxが「50,000」かつ、HistoricalUpdateModeが「OLD」となっているため、指定された期間の開始から50,000件のデータのみが表示された動作となります。

 

 

表示期間ダイアログのカスタマイズ

トレンドグラフ画面では、グラフの右下のあたりに表示されているスパン(表示期間)をクリックすることで、表示期間を選択するためのダイアログを表示することができます。

 

p_logger_0297

 

(表示期間ダイアログ)

p_logger_0298

 

このダイアログでは、1秒、1分、などの表示単位毎のボタンや、日、時、分、秒のスピンボタンなどの操作により、表示期間を指定することができます。

 

このダイアログではデフォルトで、日の単位で最大20日までの期間を指定する事が可能となっていますが、そこまで長期間の表示スパンを必要としない場合や、システムとして長期スパンの指定を禁止したい場合などは、本ダイアログをカスタマイズすることで対応できます。

 

 

■表示期間ダイアログの編集

 

1.表示期間ダイアログを開く

 

ワークスペースから「_Trend」フォルダを開き、「_GraphTimeSpan」を選択します。

 

p_logger_0299

 

すると、表示期間ダイアログのフォームが表示されました。

 

p_logger_0300

 

 

2.表示期間ダイアログを編集する

 

例えば、画面から指定可能な範囲を時間単位のみとしたい場合、最も簡単な方法は、操作対象のボタンなどを非表示にする方法があります。

 

非表示としたい各コントロールを、コントロールキーを押しながら順番にクリックして選択状態にします。

 

p_logger_0301

 

コントロールが選択された状態で、画面左のプロパティページから「Visible」プロパティを「False」に変更します。

 

p_logger_0302

 

 

3.動作確認

 

Panel Serverの画面上部にあるオンライン(黄矢印)をクリックしてください。

続いて、Panel Editorの画面上部にあるブラウザ実行アイコン(緑矢印)をクリックし、Panel Browserを呼び出します。  

 

トレンドグラフ画面から表示期間ダイアログを表示してみてください。

上記の手順で変更した各オブジェクトが、以下のように非表示になっていればOKです。

 

p_logger_0303

 

 

hint

通常、「時」の入力では0時から23時までの範囲で時間を指定することができるようになっています。これをさらに、時間の単位は12時間までしか指定させたくない場合は、以下のように編集することで対応することができます。

 

まず、対象のオブジェクトを選択状態にします。

 

p_logger_0304

 

画面左のプロパティページから、「_Min」「_Max」というカスタムプロパティを表示します。これらは数値入力で入力可能とする範囲を指定するパラメータとなっており、例えば「_Min」に0、「_Max」に12を設定することで、0から12までしか入力できなくなります。

 

p_logger_0305

 

尚、本ダイアログでは、現状では20日間までしか指定することができないように構築されています。もし、20日よりも長い期間を指定する必要があるような場合は、日のエディットボックスの入力条件を変更するとともに、「20日」などのボタンをコピーしてさらに多い日数を指定するようにカスタマイズすることで対応できます。