目次 表示
GroundWork NMS Weathermap パッケージは、ネットワークトラフィックのダイナミックなマップを作成するオープンソースのツールキットで、GroundWork Network Management System (NMS)のオプションコンポーネントとして GroundWork Monitor に統合することができます。 GroundWork の NMS Weathermap パッケージがインストールされると "Weathermap Editor" のメニューアイテムがメインのドロップダウン・メニューに表示されるでしょう。
簡単に説明すると、Weathermap(ウェザーマップ)は、指定されたデバイス間のネットワークトラフィックを表示するオーバヘッドマップを作成するための統合ツールキットです。 GroundWork Monitor のほとんどのコンポーネントはネットワーク上のデバイスを監視する(使用可能なリソースを計測し、必要条件が満たされれば警報を出すなど)ために設計されていますが、Weathermap は管理者がネットワークデバイス間のトラフィックを可視化するのを支援ます。
より具体的にいうと、Weathermap のグラフ化コンポーネントは、ユーザが作成した構成ファイルを使用してネットワークのダイナミックなマップ(ネットワーク上のノードとリンクを含む)を作成し、それからネットワークトラフィックの既存データベースを読んで各リンク上のトラフィックを表示します。また、Weathermap の編集コンポーネントは、Web ベースのグラフィカルなコンフィギュレーションファイルへのフロントエンドを提供し、ユーザがすばやく、そして容易にマップを作れるようにします。
Weathermap は、プラグインを通して Weathermap のグラフ化コンポーネントを直接的に実行できるようにする GroundWork の Cacti パッケージといっしょに使用されることを前提としています。しかしながら、Weathermap は、ハイパーリンクやポップアップ・チャートなどの会話型機能を低居酢売る DHTMLラッパーを使った PNG イメージとしてマップを生成するので、そのマップ出力は、Web ページや PNG イメージが使用できるところならどこでも使うことができます。たとえば、ユーザがやりたいと思えば、出来上がったマップを GroundWork の Dashboard アップレットのための背景イメージとして使用することもできます。
このドキュメントでは、 Weathermap の基本的な構成設定とオペレーションについて説明します。より詳しくは オンライン Weathermap ドキュメント を参照してください。
GroundWork NMS Weathermap パッケージは GroundWork Monitor や他のアプリケーションとは別にインストールされ、そしてそれ自体のユニークな構成設定手順を持ちます。
Weathermap および他の NMS アプリケーションのほとんどは、GroundWork Monitor が使用するのとは別の専用 Apache サーバを使用する Web ベースのアプリケーションとして導入されます。その専用 Apache サーバは Weathermap の Web ページがアクセスできるようになる前に必ず開始されていなければなりません。Apache サーバは /etc/init.d/nms-httpd の制御スクリプトを通して開始および停止されます。デフォルトではこのスクリプトはシステムのスタートアップ時に自動的に実行されます。
NMS 用の Apache サーバを手動で停止するには、root 権限でログインし下記のコマンドを発行します:
/etc/init.d/nms-httpd stop
NMS 用の Apache サーバを手動で開始するには、root 権限でログインし下記のコマンドを発行します:
/etc/init.d/nms-httpd start
NMS 用の Apache サーバを自動開始しないようにしたい場合、root 権限でログインし下記のコマンドを発行します:
chkconfig --del nms-httpd
そのスクリプトを再び有効にしたい場合、root 権限でログインし下記のコマンドを発行します:
chkconfig --add nms-htppd
Weathermap の Web ページは NMS 専用の Apache インスタンスによって提供されますが、Weathermap の Web フロントエンドも、また、GroundWork Guava コンテナを使って GroundWork Monitor の中に統合されています。そのため、 Weathermap の Guava オブジェクトをアクセスする正当なロールをベースとしたパーミッションを付与されたユーザは、 GroundWork Monitor にログインし、メインのドロップダウンメニューの "Weathermap" エントリーを選択することができます。
Weathermap はそれ自体では、ユーザアカウントやアクセスコントロールを提供しませんが、GroundWork ロール権限でマップエディターへのアクセスを制限することができ、同様に Cacti の中にある Cacti のための Weathermap プラグインへのアクセスを制限することができます。 "Weathermap" メニューへのユーザアクセスの構成設定についての情報は、Administration(アドミニストレーション)ドキュメントの "Configuring Roles(ロールの設定)" セクションを参照します。 Cacti のための Weathermap プラグインの情報には、 NMS Cacti の章を参照します。
デフォルトでは、 Weathermap Editor(ウェザーマップエディタ)はプログラムの動作を判断するときに、内部デフォルトとコンパイル時スイッチを使います。しかし、このプログラムは、必要であれば、いくつかの事前に定義された設定を上書きするためにコンフィギュレーションファイルを使うことができます。デフォルトでは、コンフィギュレーションファイルはありませんので作成する必要がありますが、コピーして使用できるサンプルのコンフィギュレーションファイルが提供されています。サンプルのコンフィギュレーションファイルは /usr/local/groundwork/nms/applications/cacti/plugins/weathermap/editor-config.php-dist で、それを editor-config.php と名前を変えてあなた固有の条件を反映するよう編集することができます。
注:Weathermap ジェネレータは、そのプログラム自体ではコンフィギュレーションファイルを使用しませんが、マップの動作を規定するのにコマンドラインのスイッチとマップ制御ファイルを使用します。マップジェネレータの重要なコマンドラインスイッチの情報は、下記のマップジェネレータの自動化のセクションを参照します。
Weathermap によって作成されたグラフィカルマップは静的な PNG ファイルなので、それらが作成された時点のネットワーク状態を表すだけです。マップファイルを常に更新された状態に保つには、若干高い頻度で再作成する必要があります。
通常、この処理は、ポーリング実行の度(デフォルトでは5分毎)に Weathermap ジェネレータを実行する Cacti のための Weathermap プラグインによって取り扱われます。一方、nagios ユーザの crontab にプログラムを追加することで、個別にマップ作成を自動化することが出来ます。それを行うには以下の手順を行います:
GroundWork サーバに root 権限でログインします。
コマンドプロンプトから nagios アカウントに対する crontab ファイルを編集するために "crontab -u nagios -e" コマンドを発行します。
自動的に作成したいマップごとに、必要なコマンドラインパラメータ(下記参照)と望ましい時間間隔をつけて/usr/local/groundwork/nms/applications/cacti/plugins/weathermap/weathermap プログラムのための crontab エントリを作成します。
crontab ファイルを保存してエディタを終了します。 cron デーモンは自動的に新しいコマンドラインパラメータを現在のスケジュールの中に取り込みます。
注: Weathermap ジェネレータが使用するマップ制御ファイルは、 PNG と DHTLM 出力ファイルを作成するの必要なすべての情報を保存するので、必要なコマンドラインの引数は読み込む必要があるコンフィギュレーションファイルの指定だけです。しかし、必要であれば出力ファイル名をコマンドラインで指定することもできます。
重要なコマンドライン引数は、"--config <filename>"(この <filename> は処理させたいマップコンフィギュレーションファイルへのパス)、"--output <filename>" (この <filename> は目的のイメージファイルへのパス)、そして "--htmloutput <filename>" (この <filename> は目的の HTML Web ページへのパス)です。
使用可能なコマンドラインパラメータのリストを見るには、コマンドラインパラメータ "--help" を付けて weathermap プログラムを実行します。 Weathermap のコマンドラインパラメータについてより詳しくは、オンラインの Weathermap ドキュメントを参照します。Cacti プラグインの情報は、 NMS Cacti の章を参照します。
マップコンフィギュレーションファイルは、どのようなツールでも編集できるシンプルなテキストファイルで、 Weathermap は簡単なマップを容易に作れるグラフィカルな Web ベースのエディタも含んでいます。しかし、そのエディターは非常に軽量でほんの一握りのオプションしか持ちませんので、より複雑なマップを作る場合には追加の編集が必要となる場合が多いでしょう。
エディターをスタートするには、GroundWork Monitor のメインメニューの "Weathermap Editor" メニューアイテムをクリックします。すると下のようなダイアログボックスが現れるでしょう:
スタートアップのダイアログから新しいマップを作ったり、既存のマップをコピーしたり、既存マップを編集するために開いたりすることができます。新規マップを作るには、編集ボックス "Named:" の中に名前を入力し "Create" ボタンをクリックします。既存マップのコピーを作成して編集するには、該当する編集ボックスに名前を入力し、元のマップをドロップダウンリストから選択して "Create Copy" ボタンをクリックします。既存マップを編集するには、ファイルのリストからマップ名のハイパーリンクをクリックします。
デフォルトでは、そのマップコンフィギュレーションファイルは、/usr/local/groundwork/nms/applications/cacti/plugins/weathermap/configs ディレクトリに保存されて読み出され、そこがマップジェネレータと Cacti プラグインが新しいマップを探す場所です。使用可能なマップのリストには Apache Web サーバが使用する index.php が含まれますが、それはマップファイルではありませんので注意します。 Weathermap エディタで index.php ファイルを変更しないよう注意します。
ご覧になって分かるように、マップエディタはファイル名の拡張子にこだわりませんので、どんなファイル名の拡張子でも使用できます。しかし、従来からほとんどのマップでは .conf 拡張子が使われており、他のプログラムがそれを必要とした場合にはそのシンタックスを採用しておくとよいでしょう。
マップが作成されて編集のためにロードされると、メインエディタウィンドウの画面がリロードされます。そこから、デバイスの追加、デバイス間のリンク追加、帯域幅カラーの凡例の追加や移動、組込みタイムスタンプの移動やグローバルなマップ属性の変更が行えます。
注意:マップファイルはエディターの中からは削除できません。
各々のマップは、どのように全体のマップが表示されるかに影響するグローバル設定をもっています。たとえば、各マップにタイトル(表題)、高さと幅などが付いています
グローバルのマップ属性を設定するには、 "Map Properties" メニューアイテムをクリックします。下記のようなダイアログボックスが表示されます:
注意: "Map Title" フィールドは基本的にマップの説明を提供しますが、マップ自体の上には現れません。その代わりにファイルの説明として使用され、通常はマップのとなりのどこかに表示されます(たとえば、Cacti はマップの上にタイトルを表示します)。
必要ならば、マップの大きさもここで調整できます。注:背景(background image)を選ぶと、そのマップは背景の座標を継承し、"Map Size" フィールドの値は無視されます。
出力する PNG と HTML ファイルを固定したい場合も、ここで行えます。しかし、他のアプリケーションでその出力ファイルを使おう計画していない限り、これは必要ありません。デフォルトでは、Cacti プラグインはそれ自体の出力ファイル命名ルールを使用します。
Weathermap の"nodes(ノード)" はルータやホストなど、ネットワーク上のデバイスを表します。それらの見え方は通常ダイナミックに変化しませんが、マウスーオーバ時のグラフ表示などのダイナミック属性を持つことができます。
新しいデバイスを追加するには "Add Node" メニューアイテムをクリックします。マウスカーソルが十字形に変わり、クリックしてそのデバイスをマップ上に配置することができるようになります。デバイスを配置すると、"Node" というラベルが付いた新しいボックス状のエレメントが表示されます:
デバイスのプロパティを操作するには希望するノードエレメントで一度クリックします。以下と同じようなダイアログボックスが表示されます。:
"Internal Name" は Weathermap 自身内でのノード識別子として使用されますのでユニークである必要があります。エディターがデフォルトの識別子を付けますが、自分でコンフィギュレーションファイルを作成したい場合は独自の値を入れることもできます。
"Info URL" フィールドは、そのノードへのハイパーリンクが入ります。ユーザがノードの画像をクリックすると、指定された URL が Web ブラウザ内に開きます。デフォルトでは、このフィールドは、下記の "Hover Graph URL" フィールドをベースにした相対 URL で上書きされますが、正しい URL であれば何でもリンクできます。
"Hover Graph URL" フィールドは、ユーザがそのデバイスの上にマウスカーソルを置いたときに JavaScript のポップアップ内で表示されるオブジェクトのための URL を入れます(この最も良い使い方は、その CPU 負荷グラフやその他のダイナミックなデータを表示することです)。エディターは、これが Cacti グラフであると想定し、すべての既知の Cacti グラフ定義のリストである "[Pick from Cacti]" のためのハイパーリンクを提供します。しかし、このフィールドは、ユーザの Web ブラウザで表示可能などんなグラフィックオブジェクトであっても指定することができます。
"Icon Filename" フィールドで、ノードラベルの後ろにグラフィカル要素を置くことができます。デフォルトでは、エディターは "images" サブディレクト内のファイルのリストを提供しますが、ローカルのコンピュータ上の nagios ユーザアカウントがアクセス権限を有するどんなイメージファイルでも使うことができます。
注意:"Edit" ボタンで、選択したデバイスエントリの実際のコンフィグレーションのテキストを見たり、変更することができます。デフォルトの値のどれか(たとえばアイコンのパスやノードのハイパーリンクなど)を変更したい場合、このエントリのフォームを使うことができます。
マップからノードを削除するには、そのデバイスの属性(properties)ダイアログを開き、"Delete" ボタンをクリックします:
Weathermap は、ノード間のネットワーク接続を表すのに、"links(リンク)"を使用します。リンクは、通常、それらのノード間でやり取りされているトラフィック量を反映するために色が変わり、また、マウスオーバグラフなどのダイナミックプロパティを持ちます。
2つのデバイス間の新しいリンクを追加するには、"Add Link" メニュー項目をクリックしてください。マウスのカーソルがクロスヘアー(十字線)に変わって 始点の機器をクリックすることができるようになり、その後に終点の機器をクリックするまでクロスヘアーのままになります。ふたつのノード間にリンクを置き終えたら、向かい合った矢印型の新しいエレメントがマップ上に表示されるでしょう。
リンクのプロパティを操作するには、目的のリンクエレメントの上を一度クリックします。下記のようなダイアログボックスが表示されるでしょう:
"Maximum Bandwidth" 設定は、現在の負荷状態をパーセンテージで計算するのに使われ、それが Weathermap ジェネレータによってリンクの色を決めるのに使われます。
"Data Source" フィールドは、主として、選択されたネットワークリンクのトラフィック活動量についての情報を含むラウンドロビン(round-robin database :RRD)ファイルを示すのに使用されます。通常、これは特定のデバイス上の特定のネットワークインタフェースのための Cacti のデータソースであり、それにはそのデバイスによって送出および受信されたトラフィック量のための個別のフィールドが含まれます。 Weathermap ジェネレータは、送出および受信のデータをそのリンクに関連付けられた始点と終点デバイスへマップし、それにより正しいノードに正しくインバンドとアウトバンドトラフィックを関連付けることができます。
エディターは、"Data Source" は Cacti のグラフであろうと想定して、すべての既知の Cacti の RRD ファイルのリストである "[Pick from Cacti]" のためのハイパーリンクを提供します。しかし、このフィールドは、 nagios ユーザのアカウントがアクセス権限を有する(Nagios によって作成された RRD ファイルなど)どんな RRD ファイルであっても指定することができ、また、いくつかの追加作業を行うことで RRD ファイル以外のソースからデータを持ってくることができます。Cacti の RRD でないデータソースを使用する場合、コンフィグレーションファイルを手で編集する必要があるでしょう。利用可能なデータソースについて詳しくは、 オンラインのWeathermap ドキュメント を参照します。
"Info URL" フィールドは、そのリンクへのハイパーリンクが入ります。ユーザがそのリンクのの画像をクリックすると、指定された URL が Web ブラウザ内に開きます。デフォルトでは、このフィールドは、下記の "Hover Graph URL" フィールドをベースにした相対 URL で上書きされますが、正しい URL であれば何でもリンクできます。
"Hover Graph URL" フィールドは、ユーザがそのリンクの上にマウスカーソルを置いたときに JavaScript のポップアップ内で表示されるオブジェクトのための URL を入れます。デフォルトでは、このフィールドは上記の "Data Source" をベースとする相対 URL で上書きされますが、ユーザの Web ブラウザで表示可能などんなグラフィックオブジェクトであってもリンクすることができます。
注意:"Edit" ボタンで、選択したデバイスエントリの実際のコンフィグレーションのテキストを見たり、変更することができます。デフォルトの値のどれかを変更したい場合、このエントリのフォームを使うことができます。
マップからリンクを削除するには、そのリンクの属性(properties)ダイアログを開き、"Delete" ボタンをクリックします。
現在、GroundWork NMS Weathermap パッケージは、他の GroundWork アプリケーションに自動的にマップを統合するツールを含んでいません。しかし、 GroundWork Cacti パッケージは Cacti の中でマップを表示できるようにするプラグインを提供します。また、 Dashboard ツールキットのような GroundWork アプリケーションは Weathermap で作成された PNG イメージを使うことができ、これらのプロセスの一部を自動化するのも可能です。
Cacti プラグインについて詳しくは、NMS Cactiの章を参照ください。