リモートモニタリングクイックガイド
想定状況
ネットワーク環境のモニタリングツールとして、重要なネットワーク上の要素(サーバ、ルータなど)をチェックし、障害状態のときにアラートを発生させメール送信をするように Pandora FMS を実装したいと考えてみましょう。
同時に、ルータのインタフェースのトラフィックデータのグラフと共に、これらのイベントの一覧を保存したいとします。
要求事項
この実装を行うための要求事項は、以下が正確に動作することです。
- Pandora サーバおよび Pandora コンソールを一台のサーバへ、モニタリング対象のすべてのマシンへアクセスできる状態でインストールする
- リモートチェックに必要なすべてのポートが開いており接続できる状態である
Pandora FMS でのネットワークモニタリング
ここでは、Pandora FMS のソフトウエアエージェントは利用しません。ネットワークサーバを利用したデータの収集のみを説明します。リモートエージェントについては別の説明を参照してください。
以下の操作をより理解するための詳細の情報としては、Pandora FMS 操作マニュアルを読むことをお勧めします。
ICMP チェック
最初に実施するのは、Pandora コンソールからリモートの対象の生存と遅延をチェックするためのモジュールの定義です。
サーバやそのサービス(FTP、SSH)などをリモートからモニタするためには、最初にそれに対応するエージェントを作成する必要があります。まずはこれから始めましょう。エージェントはルータであるとし、作成時にそのメインの IP を設定する必要があります。これにより、すべてのリモートチェックが、デフォルトで指定した IP に対して行われるようになります。
Pandora FMS コンソールの設定メニューで、エージェント管理(Manage agents) をクリックします。
次の画面で、エージェント作成(Create agent) をクリックします。
新たなエージェントのデータを全て入力したら、エージェント作成(Create agent) をクリックします。
Pandora FMS コンソールでのエージェント作成
エージェントが作成されると右上にモジュールが表示されます。ここでは、ネットワークサーバモジュールの新規作成(create a new Network Server module)を選択し、作成(Create) をクリックします。
次のフォームでモジュールのネットワークコンポーネントを選択すると、右側にメニューが表示されるので、実施したいものを選択します。この例では、Host Alive を選択します。これは、マシンに対してネットワーク的に疎通があるかどうか ping のチェックを行うものです。
定義済のコンポーネントを使ったリモート ICMP モジュールの作成
ブーリアンモジュール(例えばサービスの存在確認)、xxxx_proc タイプのモジュールでは、障害状態の時は 0 を返し、正常状態の場合は 0 より大きい値を返します。自動的に赤や緑で表示され、状態の範囲を定義する必要はありません。
拡張オプションについては別の場所で説明します。モジュールは、IP アドレスをエージェントの設定から取得することに注意してください。必要であれば、異なる値を設定することも可能です。モジュールの定義が完了したら、作成(Create) ボタンをクリックします。
以下の画面では、エージェントに定義されている全モジュールが表示されています。この場合、Host Alive モジュールが作成されています。
最近作成されたリモートモジュールの表示 (未初期化)
見ての通り、モジュールの上に警告アイコンが表示されています。この警告は、追加されたばかりで、モジュールのデータをまだ受信できていないことを意味しています。データを受信できれば警告は消えます。
対して、Host Latency モジュールはミリ秒単位でリモートマシンへの接続にかかる時間を返します。 モジュールの警告および障害状態の範囲を定義することができます。
例えば、モジュールを 50から100msの間では警告状態、100msを越えると障害状態になるように設定してみましょう。
定義済コンポーネントを使ったリモート ICMP モジュールの作成
モジュールの追加が終わったら、右上の “View” をクリックし、新たなセクションの下へ行きます。そこでは受信したデータが表示されています。
エージェントに定義されたリモートICMPモジュール
これは、監視対象マシンの状態に関する重要かつ正確な情報を取得することができる、最も基本的で簡単なチェックである ICMP モニタリングの例です。ICMP チェックには 2つの種類があります。
- icmp_proc、つまりホストチェック (ping) は、対象 IP アドレスの応答があるかどうかを確認します
- icmp_data、つまり遅延チェックは、対象 IP アドレスに対して ICMP の応答がミリ秒単位でどれくらいかを確認します
SNMP チェック
同じ手順でルータの 11番目のインタフェースの入力トラフィックと出力トラフィックの 2つの SNMP モジュールを定義してみましょう。
これを行うには、最初にルータの OID を調べてどのデータが目的のものであるかを確認する必要があります。
簡単な方法としては、SNMP のエクスプローラツールを使うことです。モニタしたいルータの IP に対して snmpwalk を実行します。
エージェントの管理画面へ行き、画面の右上の snmpwalk エクスプローラタブをクリックします。
SNMP の探索をするためには、ルータの IP アドレスとポート番号が必要です。定義されていなければデフォルトの値が使われます。この例では、リード権限の SNMP コミュニティと SNMP v1 を利用しています。
Pandora FMS SNMP エクスプローラ
snmpwalk を実行すると、ルータの全インタフェース一覧を見ることができます。対象を選択し、作成したいモジュールを選択します。以下に例を示します。
Pandora FMS SNMP エクスプローラによる snmpwalk の結果
SNMP モジュールを定義する別の方法としては、OID を知っていれば、ICMP で行ったのと同じようにモジュールを定義します。
例:
- Ingoing traffic (interface 11): .1.3.6.1.2.1.2.2.1.10.11
- Outgoing traffic (interface 11): .1.3.6.1.2.1.2.2.1.16.11
ルータのインタフェースの入力トラフィックをチェックするリモート SNMP モジュールの作成
SNMP エクスプローラで見つけたすべてのモジュールを追加したい場合は、以下のようにします。
Pandora FMS に定義されたリモート SNMP モジュール一覧
TCP チェック
TCP チェックでは、ポートまたは TCP サービスの状態を確認できます。
TCP のチェックには、2つの特別なフィールドがあります。
モジュールにおいて、TCP で送受信するデータのフィールド
デフォルトでは、TCPチェックは対象のポートが開いているかどうかを確認します。オプションでテキスト文字列を送信したり、何らかのデータ受信を待つことができます。
テキスト文字列(^M は、改行コードになります)を送信することができ、また、通信が正しいかどうかデータの受信を待って応答文字列をチェックすることができます。これにより、簡単なプロトコルのチェックが可能です。例えば、文字列を送ってサーバが稼働しているかどうかをチェックできます。
GET / HTTP/1.0^M^M
そして、次の文字列の受信を待ちます。
200 OK
これらは、TCP 送信および受信フィールドに記載します。
Web および SMTP サーバの状態をチェックするためのモジュールを作場合、ネットワークサーバでそれぞれ定義済のモジュールを使うことができます。
定義済コンポーネントを使ったリモート TCP モジュールの作成
モジュールにおいてウェブサーバをチェックする定義をする場合は TCP の送受信を行うことができますが、SNMP サーバに対してはポートに接続できるかどうかのみチェックできることに注意してください。
定義済コンポーネントを使ったリモート TCP モジュールの作成
設定が完了したら、エージェント参照画面でこれらの状態を確認することができます。
エージェントに定義されたリモート TCP モジュール
グラフでのモジュール詳細
例えばルータのインタフェースの入力トラフィックなど、定義したある SNMP モジュールのデータ履歴を確認したい場合、エージェントモジュールビューへ行きます。そして、対象のモジュールのグラフアイコンをクリックします。
これにより、デフォルトで最新の 24時間のモジュールデータがグラフ表示されます。ここでの例では、最新の 6時間のデータを表示するように選択しています。グラフのフォーマットを変更するには、左側のグレーのバーをクリックします。
Pandora FMS でのモジュールデータグラフ