GIS コンソール

Pandora GIS

概要

GIS マップは、Pandora FMS のエージェントの場所を視覚的に表現したものです。このマップで、エージェントの現在の位置と、これまでの位置の履歴を見ることができます。

GIS マップを利用できるようにするには、エージェント、サーバ、コンソールの設定が必要です。

設定

エージェント設定

エージェントは、新たに位置データを送信することができます。agent.conf 内に、経度、緯度、高度および、位置の説明を設定できます。また、gis_exec で別途パラメータを設定するスクリプトを指定することもできます。これには、“緯度,経度,高度” というフォーマットの文字列を返すスクリプトのパスを指定します。

以下に設定例を示します。

# Agent position parameters
# Those parameters define the geographical position of the agent 

# gis_exec: Call a script that returns a string with "latitude,longitude,altitude"
# i.e.: 41.377,-5.105,2.365

#gis_exec /tmp/gis.sh

# latitude 
latitude 42.70456
# longitude
longitude -3.897187 
# altitude
altitude 600

# Position description
position_description Madrid, centro

サーバ設定

GIS 機能は、サーバで有効にする必要があります。activate_gis フラグを 1 に設定することにより、サーバが、エージェントから受け取った GIS 情報を処理するようになります。

位置情報により、Pandora FMS にエージェントの位置を保存することができます。しかし、このデータには高い正確性はありません。重要な違いを考慮することなく、近い位置の多くの異なるデータが保存されます。これを避けるために、location_error パラメータに 同じ 位置であると認識する距離を設定します。これは位置が変わったと認識する閾値です。エージェントから新たに受け取った位置データが、この距離 (メートル単位) 内であれば同じ位置であると認識し、指定した距離よりも離れていれば、位置が変わったと認識します。

自動検出サーバと位置情報

IP アドレスの位置情報データベースとその検索アルゴリズムを利用することにより、自動検出サーバは、検出したエージェントの位置を推測することができます。このために、MaxMind GeoIP GeoLiteCity フォーマットや、データベースのテーブルの組み合わせを利用します。

自動検出サーバの動作を定義する、2つの新たなパラメータがあります。'recon_reverse_geolocation_file' は、'MaxMind GPL GeoLiteCity.dat' を用いた逆ジオロケーションを含むファイルを指し示すのみに使われます。'recon_location_scatter_radius' は、検出したエージェントを、逆ジオロケーションアルゴリズムおよび 'recon_location_scatter_radius' のパラメータによって定義される範囲(メートル単位)に従い、指定された場所の周辺にランダムに配置するために利用されます。

また、Google API および Openstreet マップにより提供される位置情報変換 (リバースジオロケーション) を利用することもできます。Google のジオロケーションを有効にするには、google_maps_description を 1 に設定します。Openstreet マップのリバースジオロケーションを有効にするには、openstreetmaps_description を 1に設定します。

この機能を利用する場合は、十分注意してください。なぜなら、Pandora FMS サーバのパフォーマンスを低下させるためです。また、Google API および Openstreet マップを利用するためには、インターネットへ直接接続している必要があることに注意してください。もちろん、それらのサービスが動作している必要もあります

設定例:

# Flag to activate GIS (positional information for agents and maps). It's deactivated by default.
activate_gis 1

# Radius of the Error in meters to consider two GIS locations as the same location.
location_error 10

# Recon reverse geolocation file (databases containing the reverse geolocation information using
# the 'MaxMind GPL GeoLiteCity.dat' format).
# Comment it to disable the IP geolocation on agent creation.

recon_reverse_geolocation_file /usr/local/share/GeoIP/GeoLiteCity.dat

# Radius (in meters) of the circle in which the agents will be place randomly when found by a recon task.
# The center of the cycle is guessed by geolocating the IP.
recon_location_scatter_radius 1000

# This enables real time reverse geocoding using the Google Maps public API.
# This requires internet access and could have performance penalties because of having to process GIS
# information due the connection required to resolve all GIS input.

google_maps_description 1

# This enables real time reverse geocoding using OpenStreetMaps public API.
# This requires internet access and could have performance penalties because of having to process GIS
# information due the connection required to resolve all GIS input.
# You may alter the code to use a local or your own OpenStreetMaps server.

openstreetmaps_description 1

エージェントの GIS 位置情報を再計算するプラグインがあります。

利用例:

/usr/share/pandora_server/util/agent_gis_update.pl /etc/pandora/pandora_server.conf

プラグインのデフォルトパスは、/usr/share/pandora_server/util/agent_gis_update.pl ですが、任意の場所に配置することができます。

コンソール設定

コンソールで GIS 機能を利用するには、最初にメインの設定で有効にする必要があります。

有効化することにより、ユーザインタフェースに新たなメニューが追加されます。

設定(Setup) → 利用 GIS マップ(GIS map connection) で、GIS で利用するマップを提供する地図サーバへの接続を定義する必要があります。

GIS 利用マップ

基本設定

接続はいくつかの基本的なパラメータで設定します。

  • 利用マップ名(Connection name) は、マップ設定画面で利用マップを選択する時の名前です。
  • グループ(group) は所属するグループです。GIS 接続マップを作成しようとしているユーザが明示的に “すべて” グループに属していない場合でも、接続として"すべて"グループを割り当てることができます。
  • 選択可能な拡大率の数(number of zoom levels) はマップ上で定義します。
  • デフォルト拡大レベル(default zoom level) は、必須パラメータで、マップを開いたときの拡大レベルを指定します。(マップ上で再定義できます)

基本パラメータを設定したら、利用マップのタイプを選択する必要があります。タイプによりオプションが異なります。以下に、それぞれのタイプとオプションを示します。

Open Street マップ

Pandora FMS のデフォルトインストール状態では、Open Street マップ を利用するようになっています。これを使って直接 GIS 機能を確認することができます。

マップに、Open Street マップを利用するには、以下に示すように、画像サーバの URL のみをパラメータとして設定する必要があります。

例えば、次のように指定します。

http://tiles.example.com/${z}/${x}/${y}.png

Google マップ

Pandora FMS はまた、Google マップもサポートしています。これを利用するには、Pandora コンソールで利用する正しい key を Google から取得し、入力フィールドに設定する必要があります。(詳細は、**Google マップ API ポリシー** を参照)

このキーで、ベースのマップの種類 (航空写真地形地図) を設定することができます。

このキーは、取得してから利用できるまでに数分かかる場合があります。

静的画像

ほかには、マップとして静的画像の利用をサポートしています。この種類のマップを利用するには、画像ファイルは、EPSG:4326 である必要があります。

マップの定義に必要なパラメータは、画像の URL高さ および、マップ画像の位置情報 (経度緯度) と座標 () です。

WMS サーバ

Pandora FMS サーバが直接インターネットに接続されていない場所にある場合、オンラインマップサービスを使用することはできません。また、その他の場合においても、ユーザは独自のマップサーバを使用して柔軟性を高めたり、作業を高速化したり、独自のモザイクタイプを定義したい場合があります。バージョン 7.0 ビルド 723 から、GeoServer の WMS サーバ(Web マップサービス)への接続を追加できるようになりました。それには、サービスが提供されているアドレスを入力し、そこから取得したいレイヤの名前を入力する必要があります。

GeoServer サーバの最小限のインストールと設定は、こちら を参照してください。

マップの中心とデフォルトの位置

マップ接続の最後は、位置情報を持っていないエージェントに対するマップの中心とデフォルトの位置の定義です。それらを定義するには、マップをプレビューし、マップをクリックして、'Change in the Map' セレクタで選択されているパラメータに応じて、このパラメータを設定します。

プレビューマップでは、左上の緑の矢印を使ってマップを動かし、'+' および '-' で拡大率を変更または '虫眼鏡' で最大の拡大率にすることができます。

入力ボックスに値を入れることによって、位置を設定することもできます。

すべての接続パラメータを設定したら、'保存(Save)' ボタンをクリックすることにより、マップビルダから利用できるように接続を保存できます。

GIS マップ

接続の設定を行うと、GIS マップ(GIS Map) で利用することができるようになります。

定義済のマップを含む画面が表示されます。ここでは、マップの編集、マップの表示、デフォルトマップの定義、マップの削除ができます。

新規マップ作成ボタンもあります。

管理者は、エージェントの位置を表示するために使用されるデフォルトマップを設定する必要があります。

GIS マップの作成

マップ作成ページで最初に行うことは、マップ名 の設定と、定義されている 利用マップの指定 (後述するベースのレイヤとして、一つ以上を設定することができますが、同時には一つのみが有効です) です。利用マップを選択すると (デフォルトのマップを変更すると) 、Pandora FMS コンソールが、利用マップのデフォルトデータを利用したいかどうかを尋ねてきます。それを受け入れると、コンソールは全ての位置データ (中心の経度中心の緯度中心の高度デフォルトの経度デフォルトの緯度デフォルトの高度) を利用マップに設定されている値に設定 (更新) します。ユーザは デフォルトの拡大率 のみ設定する必要があります。キャンセルすると、これらのフィールドの変更は行われず、利用マップの設定のみが追加されます。

レイヤ定義

基本的なマップのパラメータを設定したら、どのエレメントをマップに表示するかを選択するためのマップのレイヤを定義します。(ただし、デフォルトマップではレイヤを定義する必要がありません。なぜならエージェントビューにおいて、エージェントの位置を表示するのに利用されるためです。)

それぞれのマップは、エージェントを表示するための 一つ以上のレイヤ を持っています。それぞれのレイヤは、グループに属するエージェント や、エージェント一覧 を表示することができます。これにより、それぞれのレイヤに表示するエージェントの設定は簡単です。

レイヤは、'表示' または '非表示' を定義できます。

  • エージェント追加のためにグループを選択します。
  • または、エージェントを手動で追加します。
  • または、一つのエージェントのみを表現するグループを追加します。

代表エージェントを持つレイヤにグループを作成したら、他のエージェントで同じグループは生成できません。

レイヤが定義されると、定義されたレイヤーの左の列に移動し、レイヤの削除、または編集が再度可能になります。 レイヤはマップ全体が保存されるまで完全に保存されません。

マップのレイヤ定義が完了したら、保存(save) ボタンにて全てを保存することができます。マップを編集する場合は、更新(update) ボタンが表示されます。

操作

少なくとも一つのマップを定義すると、GIS 機能を使い始めることができます。

GIS マップ

GIS マップメニューは、すべての定義済マップを表示します。それぞれマップに定義されたパラメータでマップを表示できます。

マップの移動

左上にマップ操作のための、4つの緑の矢印があります。それぞれの方向の矢印をクリックすることにより、マップを動かすことができます。+- は、拡大率を増減させるアイコンです。また、ズームバー で直接設定したい拡大率を選択することができます。

マップをドラッグすることによっても、動かすことができます。

マップ上に表示されているエージェントをクリックすると、そのエージェントに関する詳細情報を表示できます。追加情報画面が表示され、エージェントの名前はエージェント表示へのリンクになっています。

隠す / 表示する / レイヤの選択

右側の緑の背景に白の + をクリックすると、レイヤの操作パネルが開きます。緑色のボックス が表示され、ベースのレイヤ (利用マップが一つ以上定義されている場合) および、表示するレイヤを選択することができます。

'エージェントの階層(Hierarchy of Agents)' と呼ばれる特別なシステム定義レイヤもあります。 このレイヤーが表示されている場合は、赤い点線が表示され、両方が表示されている場合はエージェントがその親要素に接続されます。

フィルタ

マップ上には、エージェントの状態のフィルタオプションがあります。

  • 正常(Ok)
  • 障害(Critical)
  • 警告(Warning)
  • その他(Other)
マップの更新

フィルタボタンの隣に、マップの更新間隔を設定する 更新(Refresh) というコンボボックスがあります。マップは、指定した間隔でエージェントを更新するために、http://ja.wikipedia.org/wiki/AJAX AJAX を呼び出します。

マップ編集と全画面

マップの上にある最後の 2つのボタンは、マップを編集するための、GIS マップビルダー(GIS Map Builder) へのリンクと、マップを全画面表示させるためのボタンです。

エージェントビュー

Pandora FMS コンソールのエージェントビューにもまた、新たな GIS 機能があります。

まず最初に、メイン画面でエージェントの 経度緯度高度 を表示します。

GIS 履歴表示

トップバーに、エージェントの GISビュー を表示するためのボタンがあります。(GIS が有効な場合)

ここで、デフォルトマップでのエージェントの現在の位置が表示されます。また、エージェントの過去の位置の履歴およびマップ上に位置のパスが表示されます。

マップにおけるそれぞれの位置は、ドット で表現されます(現在の位置は、エージェントアイコンもしくは、エージェントのアイコンが定義されていない場合はグループアイコンで表されます)。ドットをクリックすることによって、その位置にあった時の情報を表示することができます。また、エージェントアイコンをクリックすると、エージェントの現在の情報が表示されます。以下の画像では、Android デバイス向け Pandora FMS エージェントによって通知されたパスを表示しています。

また、エージェントから通知された全ての情報を表形式で表示することができます。位置情報変換 (reverse geolocation) システムにより、Pandora FMS エージェントがいる場所が、国、都市、通りの名前と共に表示されます。

エージェントの GIS 設定

エージェント管理メニューの中に、新たにエージェントの位置を手動で設定する項目があります。また、GIS 機能に関連するいくつかのパラメータがあります。

GIS データの無視

エージェント管理 メニューに、新たに GIS データを無視する(Ignore GIS data) という選択があります。これを有効にすると、エージェントから受け取る位置情報をサーバが無視し、最後に設定された位置を維持するようになります。エージェントが間違った位置情報を送信してくる場合や、位置が固定されている場合に便利です。

エージェントの手動での位置決め

デフォルトのマップで、クリックすることによりエージェントの新たな位置を設定することができます。また、位置情報を入力ボックスから入力することもできます。

エージェントの位置を設定すると、エージェントから送られてくる位置情報データにより位置がリセットされることを防ぐために、GIS データを無視するオプションが有効になります。そうしたくない場合は、更新ボタンをクリックする前に、GIS データを無視する(Ignora GIS data) オプションを無効にしてください。

リンク

以下に、独自のマップサーバの設定および、現在のコードの機能をより理解するために参考になるリンクを示します。

OpenLayers

OpenStreetMap

OS Geo

Geo Server

PostgreSQL

Blogs (スペイン語のみ)