サマリマスタについて

<< Click to Display Table of Contents >>

マニュアル > 監視システム構築ガイド > 主要機能の構築 > 日報(レポート) > 日報機能の構築 >

サマリマスタについて

サマリマスタについて

標準プロジェクトのサーバ設定ファイルには、あらかじめ「Summary」という名称のサマリアクションが登録されています。サマリアクションは、実行時に各種マスタファイルから設定を読み込み、設定内容に応じたロギング・集計処理を行います。

 

サマリアクションの最も重要なマスタファイルの1つに「サマリマスタ」があります。このマスタファイルでは、ロギング・集計処理のための基本設定を定義します。

 

(サマリアクションの基本設定)

p_rep_0009

 

 

「Summary」アクションのサマリマスタは、以下に格納されています。

 

(プロジェクトフォルダ)\server\summary\master.txt

 

サマリマスタはテキスト形式のファイルであり、メモ帳などのテキストエディタで自由に編集することができます。

 

サンプルのサマリマスタには、あらかじめ生データのロギング(RAW)、日報集計(DAY)、月報集計(MONTH)、年報集計(YEAR)の各集計処理が定義されており、ほとんどの場合、そのまま使用することができます。

 

サマリ名

処理

内容

RAW

生データのロギング

[RAW]

生データ(RAWデータ)のロギング。タグフィールドマスタで定義されたフィールドの設定に従い、ロギング対象タグの値を時系列データとして保存します。ログデータの周期は当該サマリアクションを呼び出す定刻イベントの設定に依存します。例えば毎秒繰り返しの定刻で呼び出した場合、1秒周期の時系列ログが記録されます(1秒周期のRAWデータは、1時間に3600件、1日あたり86400件)。

DAY

日報集計

[RAW::DAY]

RAWの時系列データをもとに、日報集計を行います(SummaryUnit=1HOUR)。日報の集計では、1時間分の時系列データをもとに集計が行われ、1時間分で1件、1日24件の集計データに集約されます。この集計処理は毎時の時刻が変わるタイミングで自動的に行われます。

MONTH

月報集計

[DAY::MONTH]

DAYの日報集計データをもとに、さらに月報集計を行います(SummaryUnit=1DAY)。月報の集計では、1日分の日報集計データをもとに、1日分で1件、1か月最大31件の集計データに集約されます。この集計処理は日が変わるタイミングで自動的に行われます。

YEAR

年報集計

[MONTH::YEAR]

MONTHの月報集計データをもとに、さらに年報集計を行います(SummaryUnit=1MONTH)。年報の集計では、1か月分の月報集計データをもとに、1月分で1件、1年で12件の集計データに集約されます。この集計処理は月が変わるタイミングで自動的に行われます。

 

下図は、サマリアクションのロギング・集計処理の流れを表したものです。

 

p_rep_0093

 

1.まず、ロギングによって、タグの値を時系列の生データとして保存します(RAW)。

2.次に、日報集計では、RAWデータの時系列ログをもとに日報の集計が行われます(DAY)。この集計処理は毎時の時刻が変わるタイミングで自動的に行われます。

3.次に、月報集計では、DAYの日報データをもとに月報の集計が行われます(MONTH)。この集計処理は日が変わるタイミングで自動的に行われます。

4.最後に、年報集計として、MONTHの月報データをもとに年報の集計が行われます(YEAR)。この集計処理は月が変わるタイミングで自動的に行われます。

 

ここでのポイントは、日報集計ではRAWデータをもとに集計が行われるのに対し、月報集計、年報集計では、DAYからMONTH、MONTHからYEARと、それぞれの集計対象となる親の集計データからさらに集計が行われるという点です。

 

 

hint

サマリマスタに関する詳細は、アクションリファレンスの「サマリマスタ」に記述されています。サマリマスタに定義されている各種パラメータの仕様を知りたい場合や、サマリマスタの設定を変更する必要が生じた場合は、左記を参照してください。

 

hint

サマリアクションの各種設定ファイルの詳細については、「サマリアクションの設定ファイルとフォルダ構成」を参照してください。

 

 

標準プロジェクトのサマリマスタ定義例

サマリマスタの定義内容は、「共通プロパティセクション」、「ルートログセクション」、「集計ログセクション」の3つのセクションで構成されています。

 

以下に、標準プロジェクトの定義例をもとに簡単に説明します。

 

 

■共通プロパティセクション([COMMON])

 

共通プロパティセクション([COMMON])では、サマリアクション共通のプロパティを設定します。

 

例えば、「DaysOfHoldingData=3660」と定義するとログデータの保持期間が3660日となり、それより前の古いログデータは自動的に削除されます。

 

;共通プロパティセクション ([COMMON])

[COMMON]

DaysOfHoldingData=3660

 

 

 

■ルートログセクション([RAW]など)

 

ルートログセクション([サマリ名])では、ルートログ(生データ)の保存方法を定義します。ルートログは集計ログを作成するための一番基本となる時系列の履歴データとなります。サンプルでは「RAW」というサマリ名で定義されています。

 

;ルートログセクション ([RAW]など)

[RAW]

TagFieldMaster=..\..\server\summary\fieldmaster_tag.csv

TagFieldIndex=DB\index_tag.txt

CalculationFieldMaster=..\..\server\summary\fieldmaster_calculation.csv

CalculationFieldIndex=DB\index_calculation.txt

TimeRangeType=TYPE2

CsvFileName=DB\RAW\SMR_RAW_.csv

CsvFileMaxFields=1000

 

 

 

■集計ログセクション([親サマリ名::サマリ名])

 

集計ログセクション([親サマリ名::サマリ名])では、集計ログの保存方法を定義します。親サマリ名は集計の元データとするサマリ名です。親サマリ名にはルートログだけでなく、集計ログを指定することができます。このセクションに、日報集計として [RAW::DAY] を、月報集計として [DAY::MONTH] を、年報集計として [MONTH::YEAR] の3つの集計ログセクションを定義することにより、日報、月報、年報の集計が行われます。このように定義することにより、日報はRAWからの集計、月報はDAYからの集計、そして年報はMONTHから集計する動作となります。

 

また、RAW::DAYの、SummaryTypeには[SummaryType1]、SummaryParamには[SummaryParam1]が指定されていますが、DAY::MONTHおよびMONTH::YEARでは、SummaryTypeには[SummaryType2]、SummaryParamには[SummaryParam2]が指定されています。このように定義しておくことで、タグフィールドの日報集計時にはタグフィールドマスタの[SummaryType1]列及び[SummaryParam1]列で定義した集計方法が採用され、月報、年報の集計時にはタグフィールドマスタの[SummaryType2]列及び[SummaryParam2]列の定義が採用される動作となります。この設定により、例えば0-999999などのリングカウンタ値のロギングデータから積算を算出したい場合に、日報集計時は生データから「ADDINGCOUNT」で1時間毎の積算値を求め、月報、年報では日報で算出した積算値をもとに「TOTAL」で合計を求めるといった処理を行うことができます。

 

同様に、RAW::DAYの、CalculationTypeには[Expression]が指定されていますが、DAY::MONTHおよびMONTH::YEARでは、CalculationTypeには[SummaryType1]が指定されています。この設定により、日報集計時の計算フィールドの処理では計算フィールドマスタの[Expression]列に従った演算が行われ、月報、年報の集計時には計算フィールドマスタの[SummaryType1]列に従った集計が行われます。

 

 

日報集計([RAW::DAY])

[RAW::DAY]

SummaryUnit=1HOUR

SummaryType=[SummaryType1]

SummaryParam=[SummaryParam1]

CalculationType=[Expression]

TimeRangeType=TYPE2

DecimalNum=[DecimalNum1]

CsvFileName=DB\DAY\SMR_DAY_.csv

CsvFileUnit=DAY

ReportLayoutMaster=..\..\server\summary\layoutmaster.xls

ReportLayoutMasterSheet=DAY

ReportOutputSheetName=日報_

ReportTitleHeader=日報_

ReportExcelCellFormatType=formatednum2

ReportTitleDateFormat=@[%H時]

 

 

月報集計([DAY::MONTH])

[DAY::MONTH]

SummaryUnit=1DAY

SummaryType=[SummaryType2]

SummaryParam=[SummaryParam2]

CalculationType=[SummaryType1]

DecimalNum=[DecimalNum1]

CsvFileName=DB\MONTH\SMR_MONTH_.csv

CsvFileUnit=MONTH

ReportLayoutMaster=..\..\server\summary\layoutmaster.xls

ReportLayoutMasterSheet=MONTH

ReportOutputSheetName=月報_

ReportTitleHeader=月報_

ReportExcelCellFormatType=formatednum2

ReportTitleDateFormat=@[%m月%d日(%a)]

 

 

年報集計([MONTH::YEAR])

[MONTH::YEAR]

SummaryUnit=1MONTH

SummaryType=[SummaryType2]

SummaryParam=[SummaryParam2]

CalculationType=[SummaryType1]

DecimalNum=[DecimalNum1]

CsvFileName=DB\YEAR\SMR_YEAR_.csv

CsvFileUnit=YEAR

ReportLayoutMaster=..\..\server\summary\layoutmaster.xls

ReportLayoutMasterSheet=YEAR

ReportOutputSheetName=年報_

ReportTitleHeader=年報_

ReportExcelCellFormatType=formatednum2

ReportTitleDateFormat=@[%#m月]