Difference between revisions of "Pandora: Documentation ja: Web Monitoring"

From Pandora FMS Wiki
Jump to: navigation, search
(ウェブページのフォームのチェック)
(No difference)

Revision as of 09:27, 9 August 2012

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

1 ユーザ目線のウェブモニタリング

1.1 概要

これは、エンタープライズ版の一つの機能で、ユーザ目線でのウェブサイトのモニタリングができます。ウェブサイトを参照するページ遷移をチェックするというものです。実際のブラウジングの処理を完全に再現します。フォームを使った認証の再現、メニューのクリック、フォームへの入力、応答文字列の確認が可能です。遷移に問題があれば、障害として認識します。トランザクションには、実際のブラウザが行うような全リソース(グラフィック、動画など)のダウンロードを含みます。加えて、ウェブサイトの存在および応答時間もモニタリングすることができます。

Goliat は Pandroa のウェブチェックサーバの名称です。Goliat は、システムに OpenSSL ライブラリがインストールされていれば、 HTTP および HTTPS を透過的にモニタリングできます。

1.2 ウェブモジュールの作成方法

リモートからウェブページをモニタするには、まずはサービスのモニタに対応するエージェントを作成する必要があります。

Pandora FMS コンソールのシステム管理メニューで、エージェント管理をクリックしてください。

Manage agents.png

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

Gaga.png

新たなエージェントのデータを入力し、エージェントの作成をクリックします。

Gagita.png

エージェントを作成したあと、上の方にあるモジュールの選択をクリックします。ここで、新たなウェブサーバモジュールを選択し、作成をクリックします。

Gagita2.png

作成をクリックすると、ウェブをモニタするために必要な設定を入力するためのフォームが表示されます。

Gagita3.png

以下に、フォームの詳細について示します。

名前

チェックの名称を入力します。

種類

チェックの種類を選択します。Remote HTTP module to check latencyRemote HTTP module to check server response の二種類があります。

  • Remote HTTP module to check latency: 最初のリクエストから最後のチェックが完了するまでのトータルの時間を取得します (ウェブチェックを完了するには、1つ以上のトランザクションがあります)。複数のリクエストが定義されている場合、それぞれの平均時間が利用されます。
  • Remote HTTP module to check server response: すべてのトランザクションの結果をチェックし、1 (正常) もしくは、0 (異常) を返します。一部のステップが失敗すると、全体を障害として認識します。
  • Remote HTTP module to retrieve numeric data: 正規表現を利用して HTTP 応答から数値を取得します。
  • Remote HTTP module to retrieve string data: 正規表現を利用して HTTP 応答から文字列を取得します。

ウェブチェック

全体のウェブチェックを実行することができます (デフォルトでは一つ)。

ウェブチェックは、いくつかのステップかまたは、簡単なリクエストで定義されます。

簡単なリクエストは、ウェブチェックフィールドに特定のフォーマットで書くだけで実現できます。チェックの定義は、task_begin タグで開始し、task_end タグで終了します。

ウェブページの文字列をチェックすることができます。これを実施するには、check_string 変数を利用します。この変数は、HTML 自体はチェックできません。この変数を利用した例を示します。http://www.example.com のウェブページで、Section 3 という文字列があるかどうかを確認するとします。この場合、次のように設定します。

check_string Section 3

フォームをチェックするには、いくつかの拡張変数があります。

  • resource (1 または 0):ウェブリソース (画像、ビデオなど) のすべてをダウンロードします。
  • cookie (1 または 0):クッキーを保持し、以降のチェックのためにセッションを保持します。
  • variable_name:フォームの変数名です。
  • variable_value:上記変数名に対する値です。

これらの値を定義することにより、フォームにデータを送信し、正しく動作するかどうかをチェックすることができます。

  • 注意: ドメインのリダイレクションには対応していません。この問題に対応するには、リダイレクトされた後にアクセスされるアドレスでモジュールを作成する必要があります。

1.3 ウェブページの文字列チェック

http://www.example.com ウェブページの Section 3 という文字列をチェックするためには、次のように設定します。

task_begin
get http://www.example.com
check_string Section 3
task_end

Pandora FMS の画面で見ると次のようになります。

Formu.png

チェックが実行されると、参照メニューに表示されます。タブをクリックすると、モニタを開始してからのデータが表示されます。

Status.png

1.4 ウェブの応答時間チェック

ウェブの応答時間をチェックしたい場合は、モジュールタイプ Remote HTTP module to check latency を選択する必要があるのみです。

例えば、pandora という文字をチェックしながら http://pandorafms.com の応答時間をチェックしたい場合は、次のように設定します。

task_begin
get http://pandorafms.com
check_string pandora
task_end

Pandora FMS のフォーム全体は次のようになります。

Latency goliat.png


このモジュールは次のように応答時間を表示します。

Latency goliat view.png

1.5 プロキシ経由でのウェブチェック

ウェブチェックは、プロキシ経由でも行うことができます。プロキシを設定するには、拡張オプション(Advanced options) をクリックすると表示される、プロキシURL(Proxy URL) フィールドにプロキシの URL を設定する必要があります。

Goliat proxy conf.png

例えば、URL は次のようになります。

http://proxy.domain.com:8080

認証が必要なプロキシの場合は、次のように URL を設定します。

http://my_user:[email protected]:8080

1.6 Google の株価情報取得

Google の株価情報を取得するには、適切な正規表現で Remote HTTP module to retrieve numeric data モジュールを作成する必要があります。

task_begin
get http://finance.google.com/finance/info?client=ig&q=NASDAQ%3aGOOG
get_content \d+\.\d+
task_end

出力は次のようになります。

Google stock quote.png

Pandora FMS 4.1 から、複雑な HTTP 応答データからデータを取得するために、正規表現を設定できます。

task_begin
get http://finance.yahoo.com/q?s=GOOG
get_content_advanced <span id="yfs_l10_goog">(\S+)</span>
task_end

重要な注意事項: (get_content_advanced に定義する)正規表現は、カッコでくくらなければいけません。

1.7 ウェブページのフォームのチェック

ウェブのチェックとして必要になってくるものの一つがフォームのチェックです。これは、簡単なウェブページのテキストチェックよりも複雑です。Pandora FMS の公開デモページのログインのチェックを想定した例を示します。

このようなチェックを可能にするには、セッションを開始するための認証情報が必要です。また、変数名を見るために、該当ページの HTML を見る必要があります。

http://firefly.artica.es/pandora_demo/index.php?login=1 のページを取得すると、次のような変数を確認できます。

  • nick: ユーザ名
  • pass: パスワード

フォームの認証を通すためには、変数 variable_name および variable_value の両方が必要です。以下に具体的な例を示します。

task_begin
post http://firefly.artica.es/pandora_demo/index.php?login=1
variable_name nick
variable_value demo
variable_name pass
variable_value demo
cookie 1
resource 1
task_end

上記の設定で、ウェブページにアクセスし認証することができます。これにより、認証した状態でのウェブページ上の何らかのチェックを実行できます。

task_begin
get http://firefly.artica.es/pandora_demo/index.php?sec=messages&sec2=operation/messages/message
cookie 1
resource 1
check_string Read messages
task_end

さらに別のチェックも可能です。セッションを終了し、ログアウトするには次のようにします。

task_begin
get http://firefly.artica.es/pandora_demo/index.php?bye=bye
cookie 1
resource 1
check_string Logged Out
task_end

Pandora FMS 上での全体の設定は次のようになります。

Sigie.png

チェックを追加すると、モジュール一覧に表示されます。

Gipo.png

チェックの状態を参照するには、参照メニューへ行くと、受信開始した時点からのデータを参照できます。

Solapa.png

モジュールの詳細データも見ることができます。データアイコンをクリックすると、以下のように一覧が表示されます。

Tambien.png

この画面では、2つのチェックがあることがわかります。それぞれ、名前、実行間隔 (エージェントの間隔とは異なります)および、データが表示されています。 ウェブのチェックでは、データカラムはチェックにかかったトータル時間を示します。

以下の画面では、ウェブモニタリングの拡張オプションを表示しています。

Resto.png

拡張機能フィールドは他のモジュールのものと似ていますが、ウェブチェックに特化した若干の違いがあります。

タイムアウト

チェック実行のタイムアウトの設定です。ここに設定した時間を超えると、チェック処理は中止されます。

エージェントブラウザ ID

ウェブブラウザを指定するために利用します。いくつかの特定のページにおいて、特定のブラウザからのアクセスしか受け付けない場合 (詳細は zytrax.com を参照してください) に使います。

要求 (Requests)

Pandora はここに指定した回数チェックを繰り返します。1回でもチェックが失敗した場合は、障害状態とみなします。モジュールのチェック数により、取得するページの数が異なります。たとえば、3つのページをチェックするモジュールの場合、3つのページがダウンロードされますが、ここに値を設定するとその値の倍数分のアクセスになります。モジュールのチェックを完了できるトータルの所要時間に注意が必要です。

1.8 HTTP の簡単な認証

いくつかのウェブページでは、HTTP 認証を必要とします。これは、通常のユーザとパスワードのフォームではありません。例えば、サイトにアクセスしたときに、ユーザ名とパスワードの入力がポップアップします。

以下の例は、いくつかの新たなトークンを利用したウェブアクセスのタスクです。

http_auth_serverport artica.es:80
http_auth_realm Private area
http_auth_user admin
http_auth_pass xxxxxx
  • http_auth_serverport - これは、ドメインと http のアクセスポートを意味します。
  • http_auth_realm - Realm 名
  • http_auth_user - ユーザ
  • http_auth_pass - パスワード

タスク全体の例:

task_begin
get http://artica.es/pandoraupdate4/ui/
cookie 1
resource 1
check_string Pandora FMS Update Manager \(4.0\)
http_auth_serverport artica.es:80
http_auth_realm Private area
http_auth_user admin
http_auth_pass xxxx
task_end

1.9 https のモニタリング

Goliat は、http と https の両方のチェックが可能です。https のチェックをするためには、URL でのプロトコルの指定を以下のように https にするだけです。

task_begin
get https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=zpwhtygjntrz&ss=1&scc=1&ltmpl=default&ltmplcache=2
cookie 1
resource 0
check_string Google
task_end

1.10 拡張オプション

1.10.1 HTTP ヘッダーのカスタマイズ (バージョン 4.0.2 から)

header オプションで、HTTP ヘッダのカスタマイズしたり追加したりできます。たとえば、Host HTTP ヘッダーを変更するには次のようにします。

task_begin
get http://192.168.1.5/index.php
header Host 192.168.1.1
task_end

1.10.2 ウェブチェックのデバッグ (バージョン 4.0.2 から)

ウェブチェックをデバッグしたい場合は、debug <ログファイル> オプションを追加します。ログファイル.req および ログファイル.res というファイルが作成され、HTTP リクエストと応答が記録されます。たとえば次のようにします。

task_begin
get http://192.168.1.5/index.php
debug /tmp/request.log
task_end

上記の設定では、/tmp/request.log.req/tmp/request.log.res というファイルが生成されます。