リモート監視

リモート監視

概要

Pandora FMS ネットワークサーバは、集中的にリモートからテストを実行することができる重要な要素です。データサーバとは逆に、ネットワークサーバは複数のプロセスキューを通してタスクを実行します。ネットワークサーバはまた、他のネットワークサーバと共にバランシング動作をしたり、他のネットワークサーバがダウンした時に、そのサーバと同等の処理を実行する代替えとして動作することができます。Pandora における HA の詳細については、それに関する章を参照してください。

remote-monitoring.jpg

ネットワークサーバは、それに割り当てられたモジュールのみと動作します。もちろん、ネットワークテストなので、ネットワークサーバはテストをする対象がネットワーク的に通信できないといけません (IPアドレスやポート)。対象システムのポートが開いて無かったりルーティングがない場合は、モニタできません。ファイアーウォールの存在やネットワークのルーティングに関しては、Pandora FMS では何ともできません。これらの理由により発生する問題は、Pandora FMS の特別な設定で解決するわけでもありません。

ネットワークサーバのほかにも、様々なリモートテストを実行する Pandora FMS サーバサブタイプがあります。 この章では、ネットワークサーバ、リモートプラグインサーバー、および Windows マシンに対してリモートテストを実行するサーバ(WMIサーバ)について説明します。 WEB テストサーバ(WEBサーバまたは Goliat サーバ)としてリモートテストを実行する他のサーバには、それ専用のドキュメントの章があります。

基本的なネットワーク監視

Pandora FMS のネットワークモジュールは、リモートモニタリングタスク を実行します。リモートで実行するタスクは、次の 3つに分類されます。

ICMP テスト

Ping に答えるか (remote_icmp_proc) または、ミリ秒での応答があるか (remote_icmp) どうかをテストします。両方のテストは、ネットワークモジュールが割り当てられたエージェントに対して、ネットワークサーバで実行されます。

TCP テスト

モジュールで設定された TCP ポートが開いているかをリモートからチェックします。加えて、テキスト文字列を送信し、応答文字列が正しかどうかをチェックすることができます。

例えば、“GET / HTTP/1.0^M^M” という文字列を送信し、“200 OK” を受信することでウェブサーバが稼働しているかどうかをチェックできます。(“^M” は、改行を意味します)

SNMP テスト

SNMP が有効になっていて、インタフェースの状態やネットワークトラフィックなどの状態を取得できるるようになっている場合、リモートから SNMP ポーリングを行うことができます。 詳細は、Pandora FMS での SNMP の説明を参照ください (以降にあります)。

ネットワークサーバーは、各エージェントに割り当てられたさまざまなネットワークテストを実行するサーバです。それぞれのエージェントはネットワークサーバに割り当てられ、実行結果は Pandora FMS システムのデータベースに保存されます。

ネットワークモニタリングのための一般的なモジュールの設定

リモートからサービス (FTP、SSH など) をモニタするためには、最初にサービスをモニタするための通信を行うエージェントを作成します。

エージェントの作成とは、対象マシンにソフトウェアエージェントをインストールする という意味ではなく、Pandora FMS インターフェースでエージェントを作成するという意味です。

Pandora FMS コンソールにて、管理メニューの リソース(Resources) > エージェント管理(Manage agents) を使います。

次の画面で、エージェントの作成 ボタンをクリックします。

新しいエージェントの情報を入力して、エージェントの作成 をクリックします。

エージェントを作成したあと、上のプルダウンメニューからモジュールを選択します。ここで、「ネットワークサーバモジュールの新規作成」を選択し、作成 ボタンを押します。

以下のフォームで、ネットワークコンポーネントモジュールを選択し、右側のドロップダウンメニューで必要なチェックを見つけます。

Host Alive モジュール作成の例

Host Alive は、ping を実行することにより、デバイスがオンラインかどうかを確認する簡単なチェックです。

対象IP(Target IP) に対象の IP アドレスを設定します。モジュールの定義ができたら 作成(Create) をクリックします。

以下の画面では、エージェントのモジュールが表示されています。既存の Keepalive モジュール(エージェントと共に作成)と、追加した 'Host Alive' モジュールがあります。

見ての通り、モジュールでワーニングが出ています。ワーニングは、モジュールが追加されたばかりで、まだデータを受信していないということを意味しています。一度データを受信すると、ワーニングは消えます。

作成したモジュールのデータを見るには、上の方にある参照メニューをクリックします。収集した情報が表示されます。

他の種類のネットワークチェックを追加するには、上記と同じ要領で他の種類のモジュールを選択してください。

ICMP モニタリング

前述の例は、ICMP モニタリングの例でしたが、重要で正確な情報を提供する、より基本的かつ簡単なチェック手法があります。ICMP チェックには次の 2つの種類があります。

icmp_proc は、IP アドレスが応答するかどうかの (ping) チェックを行います。

icmp_data は、応答遅延のチェックを行います。IP アドレスに対して ICMP 応答にミリ秒単位でどれだけかかったかを確認します。

TCP モニタリング

TCP チェックは、ポートの状態や TCP サービスの状態を確認することができます。

このタイプのモジュールの主なパラメータは対象のポート番号、IP、TCP での送受信データです。

TCP のチェックは、デフォルトでは単純にポートが開いているかどうかを確認します。オプションで、TCP 送信文字列および、TCP 受信文字列フィールドを使って、テキスト文字列の送信と、それの応答確認を行うことができます。

通信が正常に行われているかをチェックするために、テキスト文字列を送り (“^M” は、改行を表します) その応答を確認することができます。これにより簡単なプロトコルチェックが可能です。例えば、ウェブサーバに次の文字列を送信し、

GET / HTTP/1.0^M^M 

次の応答を確認するとで、正常かどうかの確認ができます。

200 OK

これらは、TCP 送信文字列および、TCP 受信文字列フィールドに定義します。

TCP 送信文字列

TCP ポートに送信するパラメータを設定します。^M は、改行コードの送信を意味します。複数の送信・応答文字列を定義するには、“|” で区切ってください。

TCP 受信文字列

TCP 接続で受信する応答文字列を設定します。複数の送信・応答文字列を定義する場合は、それぞれを “|” 文字で区切ってください。

Pandora FMS の TCP チェックでできるのは、ポートが開いているかどうかや応答があるかどうかだけではありません。複数ステップで、データを送信し、それの応答文字列を見ることができます。すべての手順が正しい場合に、正常と判断させることができます。

複数ステップで Pandora FMS の応答チェックの仕組を利用するには、各ステップの文字列を | で区切ります。

SMTP 接続の例を以下に示します。

 R: 220 mail.supersmtp.com Blah blah blah
 S: HELO myhostname.com
 R: 250 myhostname.com
 S: MAIL FROM: 
 R: 250 OK
 S: RCPT TO: 
 R: 250 OK
 S: DATA
 R: 354 Start mail input; end with .
 S: .......your mail here........
 S: .
 R: 250 OK
 S: QUIT
 R: 221 mail.supersmtp.com Service closing blah blah blah

これをチェックしたい場合、各フィールドに次のように定義します。

TCP 送信文字列

HELO myhostname.com^M|MAIL FROM: ^M| RCPT TO: ^M

TCP 受信文字列

250|250|250

最初の 3つのステップが OK (コード 250) であれば、SMTP は正常です。メールを実際に送信する必要はありません (必要であればそのような設定も可能です)。これにより、プレーンテキストを用いたプロトコルに対する TCP チェックが実現できます。

リモート実行モジュール

これらのモジュールを正常に使用するには、監視対象のエージェントの接続認証情報が必要です。 したがって、これらすべてを 安全な認証情報ストア に登録する必要があります。 モジュールの一般的な設定手順を繰り返しますが、次のいずれかが選択されます。

  • remote_execution_data> 数値
  • remote_execution proc> 二値 (0 障害, 0 以外 正常)
  • remote_execution_data_string> 文字列
  • remote_execution_data_inc> 増分データ(比)

さらに、次のパラメータを定義する必要があります。

  1. 対象IP(Target IP): オプションで対象の IP (設定しないとエージェントのそれが利用されます)
  2. ポート(Port): オプションで接続ポート番号 (Linux であれば 22、Windows であれば何でも)
  3. コマンド(Command): 監視プロセスを実行するためのコマンド
  4. 認証情報(Credential identifier): 接続に利用する認証
  5. 接続方法(Connection method): オプションでターゲットの接続方法 (そうでない場合は、エージェントが使用されます)。

アラートの割り当て、イベントの生成、レポートの表示に関しては、モジュールの動作は同じです。

Pandora FMS バージョン 743以降では、pandora_server.conf でリモート実行モジュールパラメータに関連する次のトークンが利用できます。: ssh_launcherrcmd_timeout および rcmd_timeout_bin

ネットワークモジュールの共通拡張機能

  • カスタムID(Custom ID): Pandora FMS とサードパーティアプリケーションの統合を容易にするために、外部アプリケーションの ID を保存できます。 たとえば、 構成管理データベース(CMDB) などです。
  • 間隔(Interval): 管理者ユーザによってあらかじめカスタマイズされた、標準ユーザが利用できるモジュールの実行間隔。
  • 保存倍率(Post process): モジュールの事後処理です。モジュールの値に掛け算や割り算を行うのに便利です。例えば、バイト単位のデータをメガバイトで表示したい場合などです。
  • 最小値(Min. Value): モジュールの最小値です。これより小さな数値は、不正とみなして破棄されます。
  • エクスポートターゲット(Export target): モジュールから返される値をエクスポートサーバへ渡すのに便利です。Pandora FMS Enterprise 版にのみにあり、エクスポートサーバを事前に設定する必要があります。詳細はエクスポートサーバの説明を参照してください。

Cron

Cron 開始(Cron from) が設定されているとモジュールの実行間隔は無視され、モジュールは Cron 開始(Cron from) で指定した日時に実行されます。

モジュールが実行される期間を指定できます。 分、時、日、月、曜日の命名法に従い、次の 3 つのパターンがあります。

  • Cron 開始(Cron from) すべてのフィールドに Any が設定されている場合は、監視の時間制限はありません。
  • Cron 開始(Cron from) が特定の値で、Cron 終了(Cron to)Any が設定されている場合は、設定された値にマッチした際に実行されます。例: 15 20 * * * は、毎日 20:15 に実行されます。
  • Cron 開始(Cron from) が特定の値で、Cron 終了(Cron to) も特定の値が設定されている場合は、設定された期間で実行されます。例: 5 * * * * および 10 * * * * は、毎時 5分と 10分の間に実行されます。(5-10 * * * * と同等です)

例えば、次の設定ではモジュールは毎週月曜 6:30 に実行されます。

毎日 6時と 7時の間に実行する例:

ローカルモジュールでは、エージェント設定ファイルmodule_crontab を設定することで対応します。

タイムアウト(Timeout)

エージェントがモジュールの実行を待機する時間 (秒単位)。

カテゴリ(Category)

このカテゴリは、通常のユーザインターフェイスには影響しません。メタコンソール と一緒に使用するためのものです。

SNMP モニタリング

SNMP モニタリングの概要

Simple Network Management Protocol (SNMP) は、RFC 3411 および RFC 3418 に定義されており、IETF により公開されています。同期および非同期の動作をします。

  • SNMP ポーリング: これは一定間隔で実行されます。Pandora FMS から SNMP デバイスに対して get コマンドを実行させることを意味します。これらは通常、Pandora FMS でネットワークモジュールを作成することによって行われます。
  • SNMP トラップ: これは、デバイスの変更またはイベントで発生します。これは、発生する場合としない場合があります(たとえば、ファンが動作を停止し、コンピューターの温度が上昇した場合など)。Pandora FMS では SNMP トラップ コンソールを有効化する必要があります。ここでは、任意のデバイスから受信されたものが表示されます。アラートは、そのフィールドのいずれかを用いたトラップフィルタリングルールを介して定義できます。

Pandora FMS は、SNMP に個別の OID を利用します。Pandora FMS での個々の OID は、ネットワークモジュールとして定義することになります。例えば、24ポートの Cisco Catalyst スイッチを監視する場合、各ポートの状態、入力トラフィック、出力トラフィックで、計 72 個のモジュール (24 x 3) を定義することになります。

SNMP デバイスを扱うために必要なステップ

  • ネットワークサーバが SNMP アクセスできるように、デバイスの SNMP 管理を有効にします。
  • リモートデバイスの IP および SNMP コミュニティを確認します。
  • リモートデバイスのチェックをしたい特定の OID を確認します。(Pandora FMS ウィザードや SNMP OID ブラウザを使うこともできます)
  • デバイスが返す値をどのように扱えばよいかを確認します。SNMP デバイスは、それぞれ異なるファーマットでデータを返します。Pandora FMS は、ほとんどすべてのデータを扱うことができます。カウンタデータは、Pandora が remote_snmp_inc として管理する特別重要なものです。それは、数値データとしてではなく、カウンタとして認識されます。多くの SNMP データはカウンタ値になっています。それを正しく監視するためには、remote_snmp_inc として設定する必要があります。

SNMP のネットワークモジュールでのモニタリング

Pandora FMS のデータベースには、直接使用できる OID がいくつか含まれています。 たとえば、モジュールを作成するときに Cisco MIB コンポーネントを選択すると、Cisco で使用可能な変換済みの OID チェックのリストを表示します。

このコンポーネントを選択すると、使用可能な OID から選択でき、フィールドに必要な情報が入力されます。

作成(Create) をクリックします。最近作成されたモジュールのデータを表示するには、上部の 表示(View) タブをクリックします。また、(一度データを受信していれば) グラフ(Graph) をクリックすると、下部に SNMP グラフがリアルタイムで表示されます。

Pandora FMS および Enterprise 版には、さまざまなデバイス用の MIB パッケージがさらにあります。

SNMP を介して要素を監視できるようにするには、SNMP コミュニティとは何かを理解しておく必要があります。 モジュールの作成で、手動設定(Manual setup) を選択します。

タイプ(Type) フィールドには、SNMP の 3つのオプションがあります。それらの 1つを選択すると、フォームは拡大され、SNMP の追加フィールドが表示されます。(より詳細のビデオチュートリアル)

  • SNMP コミュニティ(SNMP community): これは、ルータの統計データまたは他のデバイスの統計データへのアクセスを許可するユーザ ID またはパスワードのようなものです(SNMPv1 および SNMPv2c。SNMPv3 は資格情報認証を使用します)。デバイスには、デフォルトで読み取りモードの public コミュニティがあります。通常は、各ネットワーク管理者は、デバイスの設定ですべてのコミュニティ文字列をカスタム値に変更します。
  • SNMP OID: 監視する OID 識別子。これは数値とドットで構成されます。対応する MIB がシステム内にインストールされている場合、これは、より説明的な英数字の文字列に自動的に変換されます。

MIB は、管理対象のデバイス内で管理されるアイテムのプロパティを定義するコレクションです。 実際にはデータベースではありませんが、実装によって異なります。各 SNMP コンピュータプロバイダーには、MIB のツリー構造の排他的なセクションがあります。

文字で表した OID は次のような形式になります。

 iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3

数値では次のようになります。

1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3

ソフトウエアエージェントからの SNMP モニタリング

ローカルデータの取得に一般的に使用される ソフトウエアエージェントからリモートで監視することもできます。Pandora FMS はこのような点で柔軟性を備えています。

GNU/Linux にて

snmpget は通常デフォルトでインストールされています。module_exec から呼び出すことができます。

module_exec snmpget -v <version> -c <community> <IP address> <numeric OID>

“基本的な” OID だけが数値から変換できることに注意してください。ツールにそれを変換できるかどうかわからないため、常に数値の OID を使用することをお勧めします。 ただし、いずれの場合も、MIB は常にディレクトリ /usr/share/snmp/mibs にアップロードできます。

例:

 module_begin
 module_name SNMP_if3_in
 module_type generic_data_inc
 module_exec snmpget -v 1 -c public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
 module_end
 module_begin
 module_name SNMP_Sysup
 module_type generic_data
 module_exec snmpget -v 1 -c public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
 module_end

MS Windows にて

呼び出しをカプセル化するためのラッパーまたはスクリプトに加えて、snmpget.exe' (BSD ライセンスで net-snmp プロジェクトで作られたもの)が基本的な MIB と合わせてソフトウエアエージェントに追加されています。

実行書式は次の通りです。

module_exec getsnmp.bat <comunidad_SNMP> <ip de destino> <OID>

Linuxと同様に、MIB はディレクトリ /util/mibs にアップロードできます。

例:

 module_begin
 module_name SNMP_if3_in
 module_type generic_data_inc
 module_exec getsnmp.bat public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
 module_end
 module_begin
 module_name SNMP_if3_desc
 module_type generic_data_string
 module_exec getsnmp.bat public 192.168.55.1 IF-MIB::ifDescr.3
 module_end
 module_begin
 module_name SNMP_Sysup
 module_type generic_data
 module_exec getsnmp.bat public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
 module_end

MIB 管理

Pandora FMS はデフォルトで、以下にあるオペレーティングシステムが持つ MIB を使用します。

  /usr/share/snmp/mibs.

新しい MIB は、操作(Operation) メニュー → モニタリング(Monitoring)SNMP から MIB アップローダー(MIB uploader) 機能を介して追加 (および後で管理) できます。

これらの MIB は Pandora FMS によってのみ使用され、以下に保存されます。

  {PANDORA_CONSOLE}/attachment/mibs.

この機能は、SNMP ポーリングのための MIB のみを管理します。SNMP トラップの場合は、SNMP トラップ監視 を参照してください。

Pandora FMS SNMP ブラウザ

SNMP ブラウザはデバイスのツリーの全体を取得します。操作には数分かかる場合があります。特定のブランチに限定して時間を短縮することもできます。 モニタリング(Monitoring)SNMPSNMP ブラウザ(SNMP Browser) からアクセスします。

システムは対象システムにその情報を要求し、要求された OID 情報 (利用可能な場合) も表示します。 デバイスの OID に関する情報がない場合は、数値形式でのみ表示されます。 OID の記述情報は、管理された情報ベースまたは MIB に格納されているものです。 探索したいデバイスの MIB がない場合は、おそらく Pandora FMS によって表示される情報の中から「情報の一部」を探す必要がありますが、これは複雑で時間がかかります。

SNMP ブラウザでは、取得した OID 値と、OID 自体の翻訳された値 (利用可能な場合) の両方でテキスト文字列を検索することもできます。 これは、特定の既知の文字列を検索し、その OID を特定する場合に特に役立ちます。 複数のエントリが見つかった場合は、あるエントリから別のエントリにジャンプすることができ、それらのエントリが黄色で強調表示されて表示されます。

エージェントモジュールの作成(Create agent modules) ボタンをクリックすると、複数の OID を選択してエージェントに追加できます。 これを行うには、上記の OID で監視されるエージェントを選択し、右側のボックスに追加します。 複数の OID を選択して 監視ポリシー に追加することもできます。

Pandora FMS SNMP ウィザード

エージェント管理画面に、リモートからモジュールを作成するツール、エージェントウィザードがあります。

SNMP ウィザード

ホストに snmpwalk するために、対象の IP アドレス、コミュニティ、その他オプションパラメータ (SNMP v3 をサポートしています) を設定する必要があります。

データを受信すると、モジュール作成のフォームが表示されます。

SNMP ウィザードでは、さまざまな種類の SNMP データからモジュールの作成が可能です。

  • デバイス(Devices)
  • プロセス(Processes)
  • ディスク空き容量(Free space on disk)
  • 温度センサ(Temperature sensors)
  • その他 SNMP データ(Other SNMP Data)

モジュールの種類を選択し、左のウインドウから右へ必要なものをもっていきます。終わったら、モジュール作成(Create modules)ボタンをクリックします。

このウィザードは、以下の 2つの種類のモジュールを作成します。

  • 固定の OID をもったデータのための SNMP モジュール (センサー、メモリデータ、CPUデータなど)
  • 動的な OID または計算したデータのためのプラグインモジュール (プロセス、ディスク空き容量、メモリ使用率など)

すべてのプラグインモジュールでは、SNMP リモートプラグインを利用します。このプラグインがシステムにインストールされていないと、これらの機能は無効になります。プラグインは、 “snmp_remote.pl” という名前である必要があります。置き場所はどこでも構いません。

SNMP ウィザードがリモートコンポーネントを使って SNMP デバイスからデータを取得できるようにするには、2つの要件を満たす必要があります。

  • Pandora FMS にデバイス製造元のプライベートエンタープライズ番号(PEN)を登録する。
  • Pandora FMS でデバイス製造元の SNMP ウィザードコンポーネントを登録して有効にする。

スキャンしたデバイスがこれらの要件を満たしている場合、データを取得できた可能性のあるすべてのモジュールが表示され、作成するモジュールと作成しないモジュールを選択できます。

これらのモジュールは、それらを生成したウィザードコンポーネントが属するグループに基づいて、ブロックで表示されます。

すべてのブロックは、参照を容易にするために、最初は圧縮されて表示されます。そうすることで、選択範囲やデータを変更するように拡張できます。さらに、モジュールが作成対象としてマークされている各ブロックでは、これを示す情報アイコンが表示されます。

ブロックをデプロイする場合、追加するモジュールと追加しないモジュールを選択できます。また、各モジュールの名前、説明、またはしきい値を個別に変更するオプションも選択できます。

モジュールの作成(Create modules) をクリックすると、選択したモジュールとその設定の概要一覧が表示されます。この一覧には、エージェントにすでに存在するか、同じ名前で 2つ以上のモジュールがウィザード自体で設定されていることで作成できなかったモジュールが表示されます。

ウィザードによって収集されたモジュールの値が **generic_data_inc** または **generic_data_inc_abs** の場合、その値は 増分値そのものではなく 参照値であることに注意してください。増分値を取得するには、2回の読み取りが必要です。そのため、モジュールの値は、次の読み取りが完了するまで “ゼロ” を示します。

それらをエージェントに追加する前に、前述のモジュールの作成を確認するか、モジュールをキャンセルしてウィザードの結果を変更するかの選択ができます。

モジュールの作成が確認されると、確認している間に同じモジュールが別の方法で作成された場合にモジュールが重複しないように、作成できるかどうか 1つずつ再評価されます。

プロセスが正常に完了したか、作成できなかったモジュールがあるかどうかが通知されます。

SNMP インタフェースウィザード

エージェントウィザードには、インターフェイスを参照するために特別に作成された SNMP ウィザードがあります。 このウィザードは、SNMP ブランチ IF-MIB::interfaces を参照し、複数の選択肢を持つ異なるインターフェイスの複数のモジュールを作成する機能を提供します。対象 IP、コミュニティなどを選択した後、システムは SNMP クエリをホストに送信します。その後、モジュール作成フォームに入力します。

左側の窓から 1つ以上のインターフェースを選択します。 その後、それに関して利用可能な要素(説明、速度、インバウンド/アウトバウンドトラフィックなど)が右側に表示されます。 この窓から 1つ以上の要素を選択し、モジュールの作成(Create module) をクリックして、左側の窓で選択したインターフェイスごとにこれらのモジュールを作成できます。

SNMP インターフェースウィザードが SNMP デバイスからデータを取得するには、SNMP デバイスがブランチ IF-MIB からデータを返す必要があります。

追加可能なモジュールを備えた、デバイスで選択したすべてのインターフェースの概要を示す設定ブロックが表示されます。このブロックで選択されたモジュールとそのしきい値は、ネットワークインターフェイスに行われるデフォルト設定になります。 インターフェイスに一般的な監視を追加しないように、このブロックを無効にすることができます。

また、ネットワークインターフェースごとに特定のブロックがあり、監視するインターフェースを選択できます。さらに、前のブロックで一般的な監視が設定されている場合、チェックされたすべてのインターフェイスがそれらの設定を使用します。

各インターフェイスブロックでは、インターフェイスの特定の設定を指定することもできます。つまり、一般的な監視ブロックに含まれていない特定のモジュールを追加したり、特定のケースでそれらの設定を別の設定で上書きしたりできます。 特定のケースごとにモジュールの名前と説明を変更することもできます。特定の設定が有効になるように、インターフェイスブロックを監視対象としてマークする必要があります。

すべてのブロックは、参照を容易にするために、最初は圧縮されて表示されます。選択やデータを変更するために展開できます。 さらに、モジュールが作成対象としてマークされている各ブロックには、それを示す情報アイコンが表示されます。

モジュールの作成(Create modules) をクリックすると、選択したモジュールとその設定の概要一覧が表示されます。この一覧には、エージェントにすでに存在するか、ウィザードで同じ名前のモジュールが 2つ以上構成されているために作成できないモジュールが表示されます。

すべての変更を行ったのち、それらがエージェントに追加される前に、それらのモジュールの作成を確認するか、それをキャンセルしてウィザードの結果を変更し続けるかを最後に選択します。

モジュールの作成が確認されると、モジュールが 1つずつ再評価され、作成できるかどうかが確認されます。確認時間内に同じモジュールが別の方法で作成された場合にモジュールが重複しないようにします。

プロセスが正常に完了したか、作成できなかったモジュールがあるかどうかが通知されます。

WMI でのリモート Windows モニタリング

WMI は、Windows OS を実行するコンピュータのリモート情報取得用のマイクロシステムであり、Windows XP 以降のバージョンで利用できます。 WMI を使用すると、OS、アプリケーション、さらにはハードウェアのすべての種類の情報を取得できます。 WMI クエリは、ローカルでの実行(実際には、Pandora のエージェントは内部的にオペレーティングシステムの API を呼び出し WMI サブシステムに問い合わせます)または、リモートで実行することができます。 一部のシステムでは、WMI へのリモートアクセスは有効になっておらず、外部からの利用のためには有効にする必要があります。

Pandora FMS は、WMI クエリによって Windows をリモート監視することができます。そのためには、Pandora FMS サーバの設定ファイルにて wmiserver を有効化する必要があります。

 # wmiserver : '1' or '0'. Set to '1' to activate the WMI server in this setup.
 # DISABLED BY DEFAULT
   wmiserver 1

クエリは、オペレーティングシステムへの内部クエリ用の Microsoft 固有の SQL 言語の一種である WQL で行われ、WMI システムデータベースに表示されるクエリはすべて作成できます。

WMI を通してモニタリングを開始するには、サービスをモニタするための対応するエージェントを作成し、モジュールタブをクリックします。そこで、新たな WMI モジュールの作成を選択し、作成 ボタンをクリックします。

feo.jpg

いくつかのフィールドは WMI 特有のもので、短い表記を使います。

campos.jpg

  • 名前空間(Namespace): WMI のネームスペースを設定します。いくつかのクエリにおいて、このフィールドが空でなければ (デフォルト)、アプリケーションに依存した情報がモニタされます。
  • ユーザ名(Username): administrator もしくは、リモートから WMI クエリを実行する権限があるユーザ名を設定します。
  • パスワード(Password): administrator もしくは指定したユーザのパスワードを設定します。
  • Key 文字列(Key string): クエリにより返された文字列を比較するためのオプションです。結果は文字列ではなく、存在すれば 1、そうでなければ 0 で返ります。
  • フィールド番号(Field number): 返されるフィールドの数です。0 から開始する数字です (WMI クエリは、1つ以上のフィールドを返します)。ほとんどの場合は、0 か 1 です。
  • WMI クエリ(WMI Query): WMI クエリです。SQL に似ています。

WMI クエリの例:

 SELECT LoadPercentage from Win32_Processor WHERE DeviceID = "CPU0"
 SELECT SerialNumber FROM Win32_OperatingSystem
 SELECT AvailableBytes from Win32_PerfRawData_PerfOS_Memory
 SELECT DiskWriteBytesPersec from Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE name = "_Total"

正しいパラメータがわからない場合は、Pandora FMS データベースに設定されインストール済のものを選択することもできます。それには、WMI モジュールコンポーネントを選択してください。

galleta.jpg

完了したら、可能な WMI チェックを選択します。

galletita.jpg

ユーザ名とパスワード以外の必要な情報が自動的に入力されます。アドミニストレータ権限のユーザとパスワードが必要であることを忘れないでください。そうでないとモジュールは値を取得できません。

otro.jpg

Pandora FMS Enterprise 版には、Windows 用の 400 以上の WMI リモート監視モジュールがあります。これらは、以下のデバイスやコンポーネント用です。

  • Active Directory
  • BIOS
  • System Information
  • Windows Information
  • Printers
  • MSTDC
  • IIS
  • LDAP
  • Microsoft Exchange

WMI ウィザード

エージェントウィザード(エージェントの管理画面のタブ)に、WMI ウィザードがあります。指定のエージェントにおいて WMI クエリでモジュールを参照したり作成したりするのに利用します。

最初の WMI クエリを作成するために、対象ホストの administrator ユーザ(もしくは WMI クエリの実行権限のあるユーザ)とパスワードを指定する必要があります。このデータは、WMI モジュールの作成に利用されます。

WMI ウィザードでは、次のようなさまざまな種類の WMI データからモジュールを作成することができます。

  • Services: サービスが稼働中であれば正常、停止していれば障害状態となる、ブーリアンの監視を作成します
  • Processes: プロセスが稼動中のときにデータを受け取ります。そうでなければ不明状態になります。
  • Free space on disk: ハードディスクの空き容量。
  • WMI components: この場合、システムに登録された WMI コンポーネントを選択します。(管理 → モジュール管理 → ネットワークコンポーネント)

WMI ウィザードの Pandora FMS コンポーネントを登録して有効にしておく必要があります。これにより、データを取得できるすべてのモジュールが表示され、それらを作成することができるかどうかがわかります。

これらのモジュールは、それらを生成したウィザードコンポーネントが属するグループに基づいて、ブロックで表示されます。

見やすくするために、最初はすべてのブロックが圧縮されて表示されます。選択またはデータを変更するために展開できます。 さらに、モジュールが作成対象としてマークされている各ブロックでは、これを示す情報アイコンが表示されます。

ブロックをデプロイする場合、追加するモジュールと追加しないモジュールを選択し、各モジュールの名前、説明、またはしきい値を個別に変更できます。

モジュールの作成(Create modules) をクリックすると、選択したモジュールとその設定の概要一覧が表示されます。 この一覧には、エージェントにすでに存在するか、ウィザード自体で同じ名前の 2つ以上のモジュールが構成されているために作成できなかったモジュールが表示されます。

すべての変更を行ったのち、それらがエージェントに追加される前に、これらのモジュールの作成を確認するか、それをキャンセルしてウィザードの結果を変更し続けるか最後の選択をします。

モジュールの作成を進めると、モジュールが作成できるかどうかを確認するために1つずつ再評価されます。同じモジュールが他の方法で作成されていた場合にモジュールが重複しないようにします。

ウィザードは、モジュールが正常に作成されたかどうか、または逆に作成できなかったモジュールがあったかどうかを通知します。

サーバプラグインを使ったモニタリング

リモートプラグインはスクリプトまたは実行形式のファイルで、パラメータに応じて 単一の 値を返します。結果は、数値、二値(0:エラー、0 以外:正常)、またはテキスト文字列です。リモートプラグインは通常、入力パラメータを許可します。デフォルトでいくつかのサーバプラグインがインストールされており、すぐに使用できますが、ユーザは必要に応じていつでも追加できます。

リモートプラグインには、標準タイプと Nagios タイプの 2種類があります。 違いは、Nagios リモートプラグインはエラーレベルに加えて説明文字列で応答することです。

リモートプラグイン管理

管理(Management)サーバ(Servers)プラグイン(Plugins) からアクセスすると、新しいウィンドウが開き、登録されているプラグインのリストが表示されます。 ロック ボタンと共に表示されている使用中のモジュールがある場合を除き、各項目には対応する編集ボタンと削除ボタンがあります。

プラグインの編集:

  • プラグインタイプ(Plug-in type): 標準か Nagios かを設定できます。
  • 最大タイムアウト(Max. timeout): 実行タイムアウト時間を設定します。実行には十分な時間を確保する必要があるため、この値には特に注意してください。そうしないと、値を取得できません。(不明状態となります)
  • 説明フィールドはプラグインのユーザインターフェイスに表示されるため重要です。短く内容がわかる記載をしてください。
  • プラグインの実行には、サーバ、プラグイン、モジュールの 3つのタイムアウトがあります。 サーバのタイムアウトが他よりも優先され、次にプラグインのタイムアウトが優先されることに注意してください。 つまり、タイムアウトが 10秒のサーバとタイムアウトが 20秒のプラグインがあり、そのプラグインをタイムアウトが 30秒で使用するモジュールがある場合、そのモジュールのタイムアウトは 10秒になります。
  • プラグインを編集し、それが少なくとも 1 つのエージェントによって使用されている場合、マクロを追加または削除することはできません

内部マクロ

アラートのように、プラグインの設定にも内部マクロを使うことができます。

利用可能なマクロは次の通りです。

  • _agent_ または _agentalias_> モジュールが属するエージェントの別名。
  • _agentname_> モジュールが属するエージェント名。
  • _agentdescription_> モジュールが属するエージェントの説明。
  • _agentstatus_> モジュールが属する現在のエージェントの状態。
  • _address_> モジュールが属するエージェントのアドレス。
  • _module_> モジュール名。
  • _modulegroup_> モジュールグループ名。
  • _moduledescription_> モジュールの説明。
  • _modulestatus_> モジュールの状態。
  • _moduletags_> モジュールに関連付けられたタグ。
  • _id_agent_> エージェントID。Pandora FMS コンソールへのリダイレクト URL を生成するのに便利です。
  • _id_module_> モジュールID。
  • _policy_> モジュールが属するポリシー名。(設定されている場合)
  • _interval_> モジュールの実行間隔。
  • _target_ip_> モジュールの対象 IP アドレス。
  • _target_port_> モジュールの対象ポート番号。
  • _plugin_parameters_> モジュールのプラグインパラメータ。
  • _email_tag_> モジュールタグに関連付けられたメールアドレス。

リモートプラグインの内部

 #!/bin/bash
 # This is called like -p xxx -t xxxx
 HOST =$4
 PORT =$2
 nmap -T5 -p $PORT -sU $HOST | grep open | wc -l

この GNU/Linux プラグインは、2つのパラメータを使います。対象の UDP ポート番号とアドレスで、-p および -sU オプションで指定します。プラグインを登録するときに 2つのマクロを定義します。一つはポート番号でもう一つは IP です。そのため、ユーザーがプラグインモジュールを作成するときには、それ以外のものは表示されません。

プラグインを登録したらそれをエージェントで使うために、モジュールタブをクリックしてプラグインサーバモジュールを作成します。そこで新たなネットワークモジュールの作成を選択し、作成(Create) ボタンをクリックします。

trescientos1.jpg

以下のフォームで、未定義の部分を設定します。generic numeric 等のモジュールの種類を選択し、 モニタ対象の IP アドレスやポート番号を設定します。

設定が終わったら、作成 (Create) をクリックします。

以下の画面で、エージェントに作成した “UDP Port check” モジュールが表示されているのがわかります。

udp_port_check_demo.jpg

例 1: MySQL のプラグインモジュール

MySQL はデータベースエンジンで、Pandora FMS ではそれぞれのユーザがカスタマイズできるデフォルトプラグインを用意しています。サーバ(Servers)プラグイン(plugins) へ行き、MySQL 用の新たなプラグインモジュールを追加します。

このプラグインは、起動した瞬間からユーザに対して完全に透過的な4つのチェックを提供します。

  • -q Com_select> select による参照数
  • -q Com_update> update による書き込み数
  • -q Connections> 接続数
  • -q Innodb_rows_read> Innodb ライン読み込み

次の手順では、プラグインのデフォルトの場所と、前に示したチェックを実行するための 4つのパラメータに注意してください。

最初と2番目のパラメータ(IP アドレスとユーザ名)の設定: 最初と2番目のパラメータ(IP アドレスとユーザ名)の設定

3番目と4番目のパラメータ(ユーザパスワードと SQL クエリ設定)

Pandora FMS がインストールされているコンピュータのエージェントにモジュールを作成し、割り当てます。 その名前は Mysql Connections で、プラグイン “MySQL”、IP localhost、ユーザ pandora、パスワードとして Pandora FMS データベースのパスワードを使用し、Connections という文字を確認します。

作成すると次のようになります。

作成すると、プラグインタイプのモジュールとしてモジュールの一覧に表示されます(この場合、まだ初期化されていません)。

例2: SMTP サーバリモートプラグイン

このプラグインは、リモートサーバを使ってメールを送信します。サーバの IP、ポート番号、ユーザ名、パスワードと、認証方式を指定し、また、メールの送信先を指定できます。動作していれば 1 を返し、そうでなければ 0 を返します。タイプは、generic_proc を利用します。

プラグインを利用するときは、次のパラメータをモジュールに設定する必要があります。

例3: DNS サーバリモートプラグイン

このプラグは、特定の DNS を照会し、指定したドメインの IP アドレスを取得し、正しく機能する場合は 1を返し、機能しない場合は 0 を返します( generic_proc データ)。

もう 1つの追加の監視は、DNS が返すすべての IP アドレスが実際に問い合わせを行ったドメインに属しているかどうかを確認することです。これは、事前定義された IP 範囲と比較することによって実現されます。

リモート監視のためのカスタムフィールドマクロ

リモートモジュールを設定するとき、エージェント特有の設定オプションを何度も入力しなければならないことは面倒です(例えば、SNMP コミュニティ文字列)。カスタムフィールドマクロを使うと、特定のモジュール設定オプションのマクロとして エージェントカスタムフィールド を使うことができます。

以下の例では、コミュニティ文字列が異なる SNMP エージェント間で再利用できる SNMP ネットワークコンポーネントを作成します。

  • 最初に、Pandora FMS コンソールで リソース/カスタムフィールド(Resources/Custom fields) へ行き、SNMP コミュニティ文字列を保存するのに利用する新たなカスタムフィールドを定義します。ID は後でマクロの一部になるため、その ID を書き留めて、SNMP エージェントの適切なコミュニティ文字列を入力します。

Field 11 added, "SNMP Community"

  • そして、新たな SNMP ネットワークコンポーネントを作成します。SNMP コミュニティ文字列として、_agentcustomfield_n_ を入力します。ここで、n は、カスタムフィールドの ID です(今回の例では、_agentcustomfield_11_)。

カスタムフィールドマクロは、SNMP, WMI, プラグインおよび、インベントリモジュールで利用できます。これらは、単一のモジュール、ネットワークコンポーネント、ポリシーモジュールで利用できます。

他の例: WMI モジュールでは、ユーザ名とパスワードを格納するために 2つの新しいカスタムフィールドを同様に定義し、モジュール定義で対応するカスタムフィールドマクロを使用できます。

リモートウィザードとネットワーク監視実行 (Exec Server)

GNU/Linux へインストールした Pandora FMS サーバのみ。

この機能は、Pandora FMS コンソールから、リモートの Pandora FMS サーバでのアクションの実行をするものです。

少なくとも 1 つの Excec サーバを設定したら、次の選択ができます。

ウィザード の起動時に選択したサーバに応じて、サーバまたはサテライトサーバに適合したモジュールが作成されます。 後者の場合、モジュールはサーバで実行できるようにリモート設定ファイルに書き込まれます。

Exec サーバは、Pandora FMS コンソールから Exec Server と呼ばれる有効なサーバへのリモート SSH コマンドの実行を通じて内部的に機能します。 これらは ネットワークサーバまたは Pandora FMS サテライトサーバ です。

設定段階では、Pandora FMS サーバとターゲットコンピュータの両方、接続とデータトラフィック、特にセキュリティを強化するためのファイアウォールや VLAN などを設定するネットワーク管理担当者の支援が必要です。

  • リモート設定を有効にして論理エージェントを設定する必要があります。

リモート設定が有効になっていないと、ウィザード (wizards) からサテライトモジュールを作成する機能が動作しません

  • SSH 接続用の鍵 (公開鍵と秘密鍵) を作成しておく必要があります。
  • 公開鍵はターゲットサーバにコピーする必要があり、鍵によってのみ接続するように設定する必要があります。
  • Pandora FMS ウェブコンソールを実行しているサーバ上では、オペレーティングシステムレベルでユーザを作成し、独自のディレクトリへの適切なアクセス権を持ち、タスクを実行するための有効な shell を実行できるようにする必要があります。
  • Pandora FMS ウェブコンソールでは、ユーザ superadmin または Pandora Administrator としてログインする必要があります。

より詳細は、技術補足資料 を参照してください。

経路監視

Pandora FMS は、デフォルトでネットワーク内の 2 つのポイント間の完全な経路の監視を提供し、これら 2 つのポイント間の通信のために常にたどっているパスを視覚的に示します。 Pandora FMS 経路アナライザは、エージェントプラグインを使用して経路をマッピングします。

このシステムを利用するには以下が必要です。

  • 分析したいルートの発信元となるポイント上にソフトウエアエージェント
  • 発信元ポイントからの ICMP による宛先までの到達性

オプションで、インターネット越しに経路をスキャンしたい場合は、発信元となるコンピュータに MTR アプリケーションを入れることをお勧めします。

エージェントプラグイン設定タブにアクセスし、次の行を追加します。

route_parser -t <target_address>

最後にプラグインの実行を有効にします。

表示

システムを設定しレポートが始まると、エージェント表示画面に新たなタブが表示され、対象との通信が確立されます。

発信元ネットワークからの他のネットワーク上のマシンへのルートビューの例を示します。(LAN 接続)

8.8.8.8 (Google の DNS)へのルートの例は以下の通りです。(WAN 接続)

Pandora FMS ドキュメント一覧に戻る