square.gif GroundWork Foundation

homeicon.gif Print Page Send Comments

データフィーダーの構成設定

以下のセクションは、カスタマイズされたデータ統合のためのシステム構成設定とステータス、イベント監視をするための GroundWork Monitor へのデータフィーダーのセットアップと構成設定に必要なステップを述べています。

シナリオ

建物内の異なった部屋にある10 個の温度センサーを監視するTemperatureWatcher というアプリケーションがあったとします。起動時とシャットダウン時に、TemperatureWatcher はイベントを送ります。通常、30 秒ごとにセンサーの温度が GroundWork Monitorに送られます。

加えて、TemperatureWatcher はセンサーのステータスをチェックしています。もし、ステータスが OK ステータス以外でセンサーが反応しない場合イベントが GroundWork Monitor に送られます。

TemperatureWatcher で生成されたイベントはそれぞれのセンサーの温度がステータスアプリケーションで閲覧可能な間、イベントコンソールで見ることができます。

セットアップと構成設定

上記の使用を満たす、以下のメタデータがFoundation に集められる必要があります:

メタデータの挿入

Foundation にメタデータを挿入する一番簡単な方法は、Foundation を止め、SQL をアップデートし、Foundation をリスタートすることです。

  1. root としてログインし、コマンドラインから Foundation を止めてください:

/usr/local/groundwork/ctlscript.sh stop gwservices

  1. 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);

  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 で見ることができ、全てのイベントはイベントコンソールで見ることができます。