以下のセクションは、カスタマイズされたデータ統合のためのシステム構成設定とステータス、イベント監視をするための GroundWork Monitor へのデータフィーダーのセットアップと構成設定に必要なステップを述べています。
建物内の異なった部屋にある10 個の温度センサーを監視するTemperatureWatcher というアプリケーションがあったとします。起動時とシャットダウン時に、TemperatureWatcher はイベントを送ります。通常、30 秒ごとにセンサーの温度が GroundWork Monitorに送られます。
加えて、TemperatureWatcher はセンサーのステータスをチェックしています。もし、ステータスが OK ステータス以外でセンサーが反応しない場合イベントが GroundWork Monitor に送られます。
TemperatureWatcher で生成されたイベントはそれぞれのセンサーの温度がステータスアプリケーションで閲覧可能な間、イベントコンソールで見ることができます。
上記の使用を満たす、以下のメタデータがFoundation に集められる必要があります:
ApplicationType: TempWatcher
Custom Property for Status information: Double 値での温度表示 – 温度が保存されるフィールドです。
Host Group: TemperatureWatcherApps - HostGroup を作成する必要があります。そうすることで、ステータス画面で TemperatureWatcher を見ることができるようになります。
Foundation にメタデータを挿入する一番簡単な方法は、Foundation を止め、SQL をアップデートし、Foundation をリスタートすることです。
root としてログインし、コマンドラインから Foundation を止めてください:
/usr/local/groundwork/ctlscript.sh stop gwservices
SQL データをデータベースにアップデートしてください:
mysql -uroot GWCollageDB
mysql>INSERT INTO ApplicationType(ApplicationTypeID, Name, Description, StateTransitionCriteria) VALUES (200,"TEMPWATCHER", "System monitored by TemperatureWatcher", "Device;Host;ServiceDescription");
mysql>INSERT INTO PropertyType(Name, Description, isDouble) VALUES ("Temperature", "", 1);
Foundation をリスタートしてください:
/usr/local/groundwork/ctlscript.sh start gwservices
アプリケーション、チェック、ホストグループの構成設定データはデータ正規化のために SystemAdmin アダプターを使用するTCP ポート4913番への XML フィードです。以下のフィードは、必要なエントリーを作成します。
それによりシステムは、TemperatureWatcher アプリケーションからの監視データを受け取ることができます:
<Adapter Session="1" AdapterType="SystemAdmin">
<Command Action='ADD' ApplicationType='TEMPWATCHER'>
<Host Host='Temp-Watcher-1' Description='TemperatureWatcher'
Device='TemperatureWatcher' DisplayName='TemperatureWatcher' />
</Command>
<Command Action='ADD' ApplicationType='TEMPWATCHER'>
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_1'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_2'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_3'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_4'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_5'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_6'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_7'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_8'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_9'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_10'
CheckType='PASSIVE' StateType='SOFT' MonitorStatus='PENDING'
LastHardState='PENDING' />
</Command>
<Command Action='ADD' ApplicationType='TEMPWATCHER'>
<HostGroup HostGroup='TemperatureWatcherApps' />
</Command>
<Command Action='MODIFY' ApplicationType='TEMPWATCHER'>
<HostGroup HostGroup='TemperatureWatcherApps' >
<Host Host='Temp-Watcher-1' />
</HostGroup>
</Command>
</Adapter>
データの正規化はフィーダアプリケーションによってなされるため、データ(ステータスとイベント)は SystemAdmin アダプターに送られます。
イベント送信は以下の XML フィードを使用して、TCP ポート4913 番に送られます。例は、sensor_1 check で FATAL エラーを報告します:
<Adapter Session='8' AdapterType='SystemAdmin'>
<Command Action='ADD' ApplicationType='TEMPWATCHER'>
<LogMessage MonitorServerName='localhost'
Device='TemperatureWatcher' TextMessage='Sensor is not responding – failed to get temperature'
ReportDate='2008-01-23 01:45:26' Severity='FATAL' MonitorStatus='FAILED'/>
</Command>
</Adapter>
10 センサーのステータスの一番良い性能は、Foundation に一つのメッセージとして送信することです:
<Adapter Session="1" AdapterType="SystemAdmin">
<Command Action='MODIFY' ApplicationType='TEMPWATCHER'>
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_1'
MonitorStatus='OK' Temperature='76.3' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_2'
MonitorStatus='WARNING' Temperature='88' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_3'
MonitorStatus='OK' Temperature='43' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_4'
MonitorStatus='OK' Temperature='67' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_5'
MonitorStatus='OK' Temperature='76.3' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_6'
MonitorStatus='OK' Temperature='66' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_7'
MonitorStatus='OK' Temperature='52.3' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_8'
MonitorStatus='OK' Temperature='50' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_9'
MonitorStatus='WARNING' Temperature='93' />
<Service Host='Temp-Watcher-1' ServiceDescription='Sensor_10'
MonitorStatus='OK' Temperature='66.3' />
</Command>
</Adapter>
この設定によりステータスデータは、HostGroup TempWatcherApp の下の Status で見ることができ、全てのイベントはイベントコンソールで見ることができます。