個人用ツール

Pandora:Documentation ja:Web Monitoring

提供: Pandora FMS Wiki JP

移動先: 案内, 検索

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

ユーザのウェブブラウジング目線の監視

概要

In the Enterprise version it is possible to monitor a Web using the WEB Server component, also called Goliat Server.

Enterprise 版では、Goliat サーバと呼ばれる Webサーバコンポーネントを用いて、Web を監視することができます。

This functionality comes from an old project of the founder of Pandora FMS. Goliat F.I.S.T. was an opensource project to perform dynamic load audits on web services. You can still find the source code (from 2002) whose up-keeping stopped more or less in 2010 [1].

この機能は、Pandora FMS の創設者の古いプロジェクトが元になっています。Goliat F.I.S.T. は、Web サービスにおいて動的な認証の実行を行うオープンソースのプロジェクトでした。(2002年から)ソースコードを確認することができますが、更新は 2010年で終了しました。 [2]

In Pandora FMS, it functions as an independent server, similar to the network server, WMI server or remote plugin server. This system operates under the principle of web transaction, where each transaction is defined by one or more consecutive steps, which must be satisfactorily concluded in order to consider that the transaction has been successfully completed. The execution of a web transaction faithfully reproduces the complete browsing process that can include aspects such as authenticating yourself in a form, clicking on a menu option, filling in a form, verifying that each step returns a specific text string.

Pandora FMS では、ネットワークサーバ、WMIサーバ、プラグインサーバなどと同様に、独立したサーバとして機能します。 このシステムは、"Webトランザクション" という考えのもとで動作します。ここでは、各トランザクションは 1つまたは複数の連続ステップで定義され、トランザクションを正常に完了させるために、正しく順序だてられている必要があります。"Webトランザクション" の実行では、フォーム内での自分自身の認証、メニューオプションのクリック、フォームの入力、各ステップで特定のテキスト文字列を返すことの確認など、完全なブラウジングプロセスを忠実に再現します。

Any failure at one point in the process would result in a checking failure. The complete transaction includes the downloading of all resources (graphics, animations, etc.) that the actual navigation includes. In addition to performing response time and performance checks, it is possible to extract values from the web pages and then process them.

処理のある時点で障害が発生するとチェックに失敗します。 完全なトランザクションには、実際のナビゲーションに含まれるすべてのリソース(グラフィックス、アニメーションなど)のダウンロードが含まれます。 応答時間とパフォーマンスチェックの実行に加えて、Webページから値を抽出して処理することも可能です。

Goliat is able to monitor both HTTP and HTTPS in a transparent way for the user, supports session management through cookies, parameter passage, and of course, downloading the resources associated with each page. It also has important limitations such as the dynamic management of javascript at runtime. For more complex web transactions, Pandora FMS has another much more powerful (and complex) component called WUX Monitoring (Web User Experience), for more information follow the link [3]

Goliatは、HTTP と HTTPS の両方を透過的に監視し、クッキーによるセッション管理、パラメータの受け渡しをサポートします。もちろん、各ページに関連するリソースをダウンロードできます。ただし、実行時の動的な javascript の管理などに制限があります。 より複雑な Web トランザクションの場合、Pandora FMS には WUX 監視(Webユーザーエクスペリエンス)というより強力で複雑なコンポーネントがあります。詳しくはこちら [4] を参照してください。

インストールと設定

To be able to use Goliat, first you must activate it in the Pandora FMS Enterprise server:

Goliat を利用できるようにするには、最初に Pandora FMS Enterprise サーバを有効化する必要があります。

webserver 1

Depending on the number of requests you want to make, you may have to increase the number of threads and the default timeout:

実行したいリクエスト数に応じて、スレッド数およびデフォルトのタイムアウトを増やします。

web_threads 1 
web_timeout 60

There is an advanced configuration token that will allow you to change the type of library you use under Goliat, LWP or CURL. By default LWP is used, although if you have any problems (SSL connections, long timeouts or concurrency problems in the case of many threads), you can switch to CURL:

Goliat が使うライブラリのタイプ (LWP または CURL) を変更できる拡張設定トークンがあります。デフォルトでは、LWP が利用されていますが、問題(SSL 接続、長時間のタイムアウト、多数のスレッドの並列性の問題)がある場合は、CURL へ切り替えることができます。

web_engine curl

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

To remotely monitor a web page, we have to click on the modules tab. Then, we'll select 'Create a new webserver module' and click on Create:

ウェブページをモニタするには、まずはモジュールタブをクリックします。その後 'ウェブサーバモジュールの新規作成(Create a new webserver module)' を選択し、作成(Create) をクリックします。

Gagita2.png

Click Create, to see a form appear in which you fill out the necessary fields to monitor a web page. The name and, above all, the type of WEB check-up, are the most basic:

作成をクリックすると、ウェブをモニタするために必要な設定を入力するためのフォームが表示されます。名前や、Webチェックのタイプなど、基本的なものです。

ファイル:Goliat types.jpg

There are various check types to choose from:

複数のチェックタイプが選択できます。

  • Remote HTTP module to check latency: obtains the total time that elapses from the first request until the last one is checked (in a WEB test there are one or more intermediate requests that complete the transaction). If you have defined in the check definition that the transaction is carried out more than once, the average time of each request is used.
  • Remote HTTP module to check latency: 最初のリクエストから最後のチェックが完了するまでのトータルの時間を取得します (ウェブチェックを完了するには、1つ以上のトランザクションがあります)。複数のリクエストが定義されている場合、それぞれの平均時間が利用されます。
  • Remote HTTP module to check server response: you get a 1 (OK) or 0 (CRITICAL) as a result of checking the entire transaction. If there are several attempts, but at least one of them has failed, the test as a whole is also considered to have failed. Precisely the number of attempts is sometimes used to avoid false positives. In case you want to perform the test several times in case of a failure, use the retries field (see advanced fields below).
  • Remote HTTP module to check server response: すべてのトランザクションの結果をチェックし、1 (正常) もしくは、0 (異常) を返します。一部のステップが失敗すると、全体を障害として認識します。誤検出を避けるために、リトライ回数を設定することができます。 障害が発生した場合にテストを何回か実行する場合は、リトライ フィールドを使用してください(下記の詳細フィールドを参照)。
  • Remote HTTP module to retrieve numeric data: retrieves a numeric value from an HTTP response using a regular expression.
  • Remote HTTP module to retrieve numeric data: 正規表現を利用して HTTP 応答から数値を取得します。
  • Remote HTTP module to retrieve string data: retrieves a string from an HTTP response using a regular expression.
  • Remote HTTP module to retrieve string data: 正規表現を利用して HTTP 応答から文字列を取得します。

Web checks

ウェブチェック

This essential field defines the WEB check to be performed. This is defined in one or more steps, or simple requests. These simple requests must be written in a special format in the Web checks field. Checks start with the tab page task_begin and end with the tab page task_end.

この必須フィールドは、実行される WEB チェックを定義します。 これは、1つ以上のステップまたは単一のリクエストで定義されます。 これらのリクエストは、Web 検査フィールドに特別な形式で設定しなければなりません。 チェックは task_begin で開始し、task_end で終了します。

A complete example of a simple transaction would be the following:

簡単なトランザクションの例を以下に示します。

task_begin 
get http://apache.org/
cookie 0
resource 0
check_string Apache Software Foundation
task_end

In this basic example, we are checking if there is a string in a web page, for that there is the variable check_string. This variable does not allow you to check HTML itself, it only searches for sub-strings of text. We are looking for "Apache Software Foundation" on the web http://apache.org. If that text string exists, the check will return OK (if it is Remote HTTP module to check server response)

この基本的な例では、ウェブページに文字列があるかどうかをチェックしています。これは変数 check_string があるためです。 この変数では、HTML 自体をチェックすることはできません。テキストのサブストリングのみを検索します。 私たちは、Webサイト http://apache.org で "Apache Software Foundation" を探しています。 その文字列が存在する場合、チェックは OK を返します(サーバーの応答を確認するリモート HTTP モジュールの場合)

To ensure that a string does not exist on a web page, you can use the variable' check_not_string':

文字列が Web ページに存在しないことを確認するには、'check_not_string' を利用できます。

check_not_string Section 3

There are several extra variables to check forms:

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

  • resource (1 or 0): Download all the web resources (images, videos, etc).
  • cookie (1 or 0): Keeps a cookie or an open session for later checks.
  • variable_name: The name of a variable in a form.
  • variable_value: The value of the previous variable on the form.
  • resource (1 または 0):ウェブリソース (画像、ビデオなど) のすべてをダウンロードします。
  • cookie (1 または 0):クッキーを保持し、以降のチェックのためにセッションを保持します。
  • variable_name:フォームの変数名です。
  • variable_value:上記変数名に対する値です。

By using these variables, it's possible to send data to forms and check whether they work appropriately or not.

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

Template warning.png

In some specific cases, the domain redirection may not work. To solve this problem, you're required to create a module which uses the final domain address after all redirections are completed.


Template warning.png

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


Template warning.png

The arguments taken by the "check_string" syntax are not normal text strings, they are "regular expressions". That is to say, if you search for the string "Pandora FMS (4.0)" you will have to search for it with a regular expression, e. g. Pandora FMS \(4.0\). This allows you to do much more powerful searches, but you should be aware that any character other than a letter or number will have to be escaped with \.


Template warning.png

"check_string" 構文がとる引数は、通常のテキスト文字列ではなく、"正規表現"です。 つまり、文字列 "Pandora FMS (4.0)" の検索は正規表現で行う必要があります。 例えば、Pandora FMS \(4.0\) です。 これにより、強力な検索を行うことができますが、文字や数字以外の文字は \ でエスケープする必要があることに注意してください。


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

If you want to check the latency of a website, you're just required to select the module type named Remote HTTP module to check latency. If you want to learn the latency of the website http://pandorafms.com , the code should look like the one below.

ウェブの応答時間をチェックしたい場合は、モジュールタイプ Remote HTTP module to check latency を選択する必要があるのみです。http://pandorafms.com の応答時間を知りたい場合、コードは次のようになります。

task_begin
get http://pandorafms.com
task_end

We can add the configuration token resource 1 so that the download time you calculate is downloading all resources (javascript, CSS, images, etc.), thus calculating a more real data.

設定トークン resource 1 を追加すると、すべてのリソース(JavaScript、CSS、イメージなど)をダウンロードし、それにかかった実際の時間を計算できるようになります。

Info.png

The download time of the web site is NOT the time it takes to view a web site in a browser, as this usually depends on the loading time of Javascript, and Goliat downloads the javascript, but does not run it.


Info.png

ウェブサイトのダウンロード時間は、ブラウザで Web サイトを表示するのにかかる時間ではありません。通常、これはJavaScriptの読み込み時間に依存し、Goliat は JavaScriptをダウンロードしますが、実行しません。


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

You can also do web checks through a Proxy. To configure the Proxy you must add the proxy URL in the field Proxy URL which you will find after click in Advanced options:

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





An example of the URL could be

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

http://proxy.domain.com:8080

If the proxy requires an authentication you can use an URL like this:

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

http://my_user:my_pwd@proxy.domain.com:8080

Webコンテンツの取得

We may not want to know if a specific Web site is working or how long it takes, but to get a real time value, such as Google's stock market value. To do this, we will use a Remote HTTP module to retrieve numeric data with the appropriate regular expression:

特定の Web サイトが稼動しているか、どれくらい時間がかかっているかを知りたいわけではなく、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

The output will be something like this:

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





It is also possible to specify a more complex regular expression for collecting data from more complex HTTP responses with the configuration token get_content_advanced:

また、より複雑な HTTP 応答からのデータを収集するための正規表現を設定トークン get_content_advanced で指定することもできます。

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

Template warning.png

The part of the regular expression to be returned (which is defined in get_content_advanced) must be enclosed in brackets.


Template warning.png

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


To configure the thresholds that trigger the warning or critical status, we will use the module configuration to verify that the received string matches what is expected.

警告または障害状態のしきい値を設定するには、モジュールの設定を使用して、受信した文字列が期待どおりのものであることを確認します。

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

A more interesting check is that of a web form. However, which is much more complex than simply checking a text on a web page. This example check will use Pandora's own console, log in, and will verify that it has been able to do it, verifying a text in the workspace section where it shows the data of the user who has logged in. If it is a default console, the admin user contains the description "Admin Pandora".

より実用的な、Web フォームのチェックです。 しかし、これは単に Web ページ上のテキストをチェックするよりもはるかに複雑です。 このサンプルチェックでは、Pandora 自身のコンソールを使用してログインし、ログインできたことを確認し、ログインしているユーザのデータが表示されているワークスペースのテキストを確認します。 デフォルトのコンソールであれば、管理者のユーザには、"Admin Pandora" という記述が含まれています。

To be able to perform this type of checks you must have the necessary credentials to be able to log in (since we use these values to "send" them to the HTML form. In addition, you must go to the page and get the HTML code to be able to see the names of the variables, then it is necessary to have minimal knowledge of HTML to understand how Goliat works. In this example we are using "admin" with the password "pandora" which is the default credentials. I should have changed them, if you haven't already, this is a good time to do it!

このタイプのチェックを実行するには、ログインに必要な資格情報が必要です。これらの値を使用して HTML フォームに「送信」するためです。また、ページに移動して HTML のソースから変数名を見る必要があります。どのように Goliat が動作するかを理解するためには、HTML に関する最小限の知識が必要です。この例では、デフォルトの認証情報である "asdmin" ユーザおよびパスワードに "pandora" を使用しています。 デフォルト設定を変更していない場合は、良い機会なので変更してください。

Info.png

The ideal thing to do when designing a WEB transactional test with several steps is to test it step by step, in case we missed something in one of the steps.


Info.png

複数ステップの WEB トランザクションテストを設定するときに、設定を確認する良い方法としては、ステップの 1つで何かが見逃された場合に備えて、ステップごとにテストすることです。


Suppose that the login URL of our Pandora Console is:

http://192.168.70.116/pandora_console/

Analyzing the HTML code, it is observed that the variables of the login form are:

Pandora コンソールのログイン URL が以下であると仮定します。

http://192.168.70.116/pandora_console/

HTML コードを確認すると、ログインフォームの変数は次の通りです。

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

The variables variable_name and variable_value should be used tpgether to validate the form.

フォームの認証を通すためには、変数 variable_name および variable_value の両方が必要です。

The first step is to access the form, send the user and password and authenticate (determining the success of that authentication we will see in the second step).

最初のステップはフォームへのアクセスです。次に、ユーザとパスワードを送り認証します。(認証の成功を 2つ目のステップで確認します)

task_begin
post http://192.168.70.116/pandora_console/index.php?login=1
variable_name nick
variable_value admin
variable_name pass
variable_value pandora
cookie 1
resource 1
task_end

With the previous task, it would have been possible to access and validate the website, now it will be verified that you are actually registered in the website by searching for something on it that you can only see when you are registered. We use the cookie 1 token to maintain the persistence of cookies obtained in the previous step. Without them, we will not be able to "simulate" a session.

上記の設定で、ウェブページにアクセスし認証することができます。これにより、認証した状態でのウェブページ上の何らかのチェックを実行できます。cookie 1 トークンを使用して、前の手順で取得した cookie の永続性を維持します。 それらがなければ、セッションを再現することはできません。

In the second step we will access the user details page and look for the phone, which by default for the user "admin" is 555-555-555. If we can see it is that we have logged in correctly on the console:

2つ目のステップでは、ユーザーの詳細ページにアクセスし電話番号を探します。ユーザ "admin" のデフォルトは、555-555-555 です。 コンソールに正しくログインできているかどうかがわかります。

task_begin
get http://192.168.70.116/pandora_console/index.php?sec=workspace&sec2=operation/users/user_edit
cookie 1
resource 1
check_string 555-555-5555
task_end

And finally, we will disconnect from the console and look for the logout message:

最後にコンソールからログアウトし、ログアウトメッセージを探します。

task_begin
get http://192.168.70.116/pandora_console/index.php?bye=bye
cookie 1
resource 1
check_string Logged out
task_end

With which the total check would remain in Pandora FMS as follows:

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

ファイル:Goliat full sample.jpg

WEB リクエストの動作

The fields of the advanced properties are similar to those of other types of modules, although there are some different and specific fields of the WEB checks:

拡張プロパティのフィールドは他のタイプのモジュールのフィールドと似ていますが、WEB チェックではいくつかの異なるフィールドがあります。

Timeout

タイムアウト(Timeout)

This is the expiry time during the request, if this time is exceeded the request for verification will be discarded.

これはリクエストのタイムアウトです。この時間を超えるとリクエストは破棄されます。

Agent browser id

エージェントブラウザID(Agent browser id)

This is the web browser identifier to use, as certain pages only accept some web browsers (see zytrax.com for more information).

これは、特定のページが一部の Web ブラウザのみを受け入れる場合に使用する Web ブラウザの識別子です。(詳細は、zytrax.com を参照してください)

Requests

リクエスト(Requests)

Pandora FMS will repeat the check the number of times indicated in this parameter. If one of the checks fails, the check will be considered erroneous. Depending on the number of checks in the module, a certain number of pages will be obtained; that is, if the module consists of three checks, three pages will be downloaded, and if some value has been set in the Requests field, then the number of downloads will be multiplied by it. It is important to keep this in mind to know the total time it will take the module to complete the operations.

Pandora FMS は、このパラメータで示された回数だけチェックを繰り返します。 チェックの 1つが失敗した場合、障害とみなされます。モジュール内のチェックの数に応じて、一定数のページが取得されます。 つまり、モジュールが 3つのチェックで構成されている場合は、3ページがダウンロードされ、リクエストフィールドに値が設定されている場合は、ダウンロード数はその数を掛け合わせた数になります。 モジュールが処理を完了するのにかかる合計時間を把握するには、これを覚えておくことが重要です。

Retries

リトライ(Retries)

It has nothing to do with requests and implies the opposite, i. e. if its value is > 1, and fails the first time, it will retry a certain number of times until it succeeds. For example with retries = 2 and Requests = 1, if the first test failed, it would retry it once more, and if the second one works, the check would be considered as valid. If it was Requests = 2, and Retries = 1, it would perform two checks, but if either failed, it would consider the test as failed.

リクエストとは別の動作をします。たとえば、この値が 1より大きく、最初に失敗すると、成功するまで指定した回数だけ再試行します。 たとえば、retries = 2 および Rrequests = 1 の場合、最初のテストが失敗した場合はもう一度試行し、2番目のテストが成功した場合は、チェックが有効と見なされます。 Requests = 2、Retries = 1 の場合は 2回チェックしますが、どちらかが失敗した場合は障害と見なします。

HTTP の簡単な認証

Some websites might require HTTP authentication. This authentication method doesn't consist of the 'normal' user / password form. HTTP authentication is the one in which a pop-up appears, informing that the site "xxxx" asks us for credentials.

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

ファイル:Conexion http.png

It can be configured in the advanced options (as seen in the previous screenshot) or directly in the WEB task definition with the following configuration tokens:

(上記スクリーンショットのように)拡張オプションで設定することも、次の設定トークンを使用して WEB タスク定義で直接設定することもできます。

  • Check type - HTTP server check type.
  • http auth (login) - The user.
  • http auth (password) - The password.
  • Proxy auth realm - The auth realm's name.
  • Proxy auth (server) - The domain and HTTP port on which to listen on.
  • Proxy URL - Proxy server url
  • Proxy auth (login) - Proxy connection user
  • Proxy auth (pass) - Proxy connection password
  • チェックタイプ(Check type) - HTTP サーバチェックタイプ
  • http認証(ログイン)(http auth (login)) - ユーザ名
  • http認証(パスワード)(http auth (password)) - パスワード
  • プロキシ認証レルム(Proxy auth realm) - 認証レルム名
  • プロキシ認証(サーバ)(Proxy auth (server)) - 待ち受けているドメインと HTTP ポート
  • プロキシURL(Proxy URL) - プロキシサーバの URL
  • プロキシ認証(ログイン)(Proxy auth (login)) - プロキシ接続ユーザ
  • プロキシ認証(パスワード)(Proxy auth (pass)) - プロキシ接続パスワード

This is a full example:

タスク全体の例:

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

WEB サービスモニタリング

With Pandora FMS and Goliat web checks you will be able to monitor webservices/API's based on REST specification, but cannot do with SOAP or XML-RPC based webservices.

Pandora FMS と Goliat webチェックにて、REST 仕様に基づいたウェブサービス/APIを監視することができます。ただし、SOAP や XML-RPC のウェブサービスは監視できません。

For example, will suppose you want to check a web API with a specific call, which returns a number (from 0 to n) if works, if not will not reply anything, and that will be a failure for Pandora, see the code:

例えば、動作しているときに数値(0からn)で返すような特定の Web API を監視したい場合、次のようなコードで、Pandora は何も応答が無い場合に障害と認識します。

task_begin
get http://artica.es/integria/include/api.php?user=slerena&pass=xxxx&op=get_stats&params=opened,,1
check_string \n[0-9]+
task_end

And this will return me a reply like:

実際の応答は次の通りです。

HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: close
Date: Mon, 13 May 2013 15:39:27 GMT
Pragma: no-cache
Server: Apache
Vary: Accept-Encoding
Content-Type: text/html
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Client-Date: Mon, 13 May 2013 15:39:27 GMT
Client-Peer: 64.90.57.215:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Set-Cookie: a81d4c5e530ad73e256b7729246d3d2c=pcasWqI6pZzT2x2AuWo602; path=/

0

This will get a OK (Green) status module, because, on my regexp matching found the 0 just before a carriage return. Remember you check ALL the response, not the "data" part, so you can match the HTTP headers too. For other responses, you will need a different regexp.

これは、モジュールは正常状態を返します。なぜなら、正規表現により改行コードの前に 0 が見つかるためです。データ部分だけでなく、応答内容全体をチェックすることに注意してください。そのため、HTTP ヘッダーにもマッチさせることができます。他の応答を確認するのであれば、異なる正規表現が必要です。

HTTPS モニタリング

Goliat is able to check both HTTP and HTTPS. To conduct checks on secured websites which are utilizing HTTPS, you only have to incorporate the protocol into its URL, e.g.:

Goliat は HTTP と HTTPS の両方をチェックできます。 HTTPS を利用しているセキュリティで保護されたウェブサイトのチェックを行うには、その URL にプロトコルを組み込むだけです。

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

IPv6 対応

From 4.0.3 version, Goliat (library supporting Pandora FMS Transactional WEB monitoring) supports IPv6. Support for IPv6 WEB Sites need to use fqdn addresses.

バージョン 4.0.3 から、Goliat (Pandora FMS ウェブシナリオ監視のためのライブラリ)は、IPv6 に対応しています。IPv6 サイトのモニタリングには、fqdn を利用する必要があります。

There, 'URL' must be a hostname (eg: ipv6.google.com). IPv6 address representations (eg: [::1], [2404:6800:4004:803::1014] or etc..) are not allowed. Its limitation comes from LWP(libwww-perl).

モニタリング対象は、ホスト名でなければいけません(例: ipv6.google.com)。IPv6 アドレス表記(例: [::1], [2404:6800:4004:803::1014]など)には対応していません。これは、LWP(libwww-perl)の制約によるものです。

拡張オプション

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

With the header option you can modify HTTP headers or create custom ones. For example, to change the Host HTTP header:

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

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

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

If you want to debug a web check, add the debug <log_file> option. The files log_file.req and log_file.res will be created with the contents of the HTTP request and response respectively. For example:

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

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

The web check above will generate files /tmp/request.log.req and /tmp/request.log.res.

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

LWP の代わりの Curl の利用

LWP sometimes crashes when multiple threads issue HTTPS requests. To solve this problem, edit the file /etc/pandora/pandora_server.conf and add the following line:

LWP は、複数スレッドで HTTPS リクエストを実行するとクラッシュすることがあります。この問題を解決するためには、/etc/pandora/pandora_server.conf を編集し、次の行を加えます。

web_engine curl

Restart the Pandora FMS Server, and the Curl binary will be used to perform web checks instead of LWP.

Pandora FMS サーバを再起動すると、ウェブチェックに LWP の代わりに Curl バイナリが利用されます。

Selenium を使った Web シナリオ監視

In addition to the feature of Goliat, built in Pandora FMS for the Enterprise version, there is another way to perform a transactional monitoring with Pandora FMS, but using agent approach instead a central system. This allow you to distribute the load, and use servers in remote networks to monitor different websites or apps.

Pandora FMS の Enterprise に付属する Goliat の機能に加えて、Pandora FMS のサーバではなくエージェントを使ってシナリオ監視を行う別の方法があります。これにより負荷を軽減することができ、異なるウェブサイトやアプリを監視するためにリモートのネットワークにあるサーバを利用することができます。

Selenium is used [5] as motor instead of Goliat, and this supports a navigation "by clicks", much finer than that offered by Goliath. The Selenium plugin agent interacts with the Selenium server, and this in turn with the system browser. This makes possible to browse the web using Chrome, Firefox or IE either. It runs on Windows or Linux, and enables latency, and session checks, and supports navigation with heavy javascript, java applets, flash or any other technology supported in the browser.

Goliat の代わりに、Selenium [6] を利用します。これは、"クリック" で操作することができ、Goliat よりも使いやすいです。Selenium のプラグインは、システムブラウザを使って Selenium サーバと通信を行います。Chrome、Firefox、IE などを利用できます。Windows または Linux で実行し、応答速度やセッションの確認も行います。また、ブラウザでサポートされている、javascript や java アプレット、フラッシュなどにも対応しています。

Selenium plugin documentation, is very extensive and specific, and can be found in the library of modules pandorafms.com, with the Enterprise Selenium Plugin.

The Selenium plug-in Documentation is very extensive and specific and can be found in the Pandora FMS Module Library, along with the Enterprise Selenium Plug in.

非常に幅広く特徴的な Selenium プラグインのドキュメントは、Enterprise Selenium プラグインと共に、Pandora FMS モジュールライブラリ から取得できます。

This functionality had been improved, now you have Pandora UX to automatize and monitor both desktop and web User eXperience sessions

この機能性は向上しており、Pandora UX を使用して、デスクトップとウェブの両方のユーザ操作のセッションを自動監視できるようになりました。

(OBSOLETE)

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

The check to look up the Section 3 string in the http://www.example.com web page would be this:

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

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

The complete form under Pandora FMS is going to look like this:

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

Formu.png

Once the check was executed, it's going to be shown in the 'View' menu by clicking on the corresponding flap. The data will be shown on the bottom of that page, once they start receive any.

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

Status.png

In this example the monitor turns to critical becouse there's no string matching "Section 3" in the web page.

この例では、ウェブページに "Section 3" にマッチする文字列がないため、監視結果は障害状態です。

Template warning.png

The syntax for the 'check_string' parameter is not a regular string, it's a Regular Expression ('regexp'). This is a special notation to code searches. If you are e.g. trying to search for 'Pandora FMS (4.0)', the expression should be something like 'Pandora FMS \(4.0\)'. This allows you to search for regular words and to conduct complex searches, but you're required to escape from non-alphanumeric characters by the '\' character before any attempt of execution.


Template warning.png

'check_string' パラメータの書式は通常の文字列ではありません。 正規表現('regexp')です。検索のための特別な記述です。たとえば、'Pandora FMS (4.0)' を検索したい場合は、'Pandora FMS \(4.0\)' となります。これにより複雑な検索も可能ですが、特殊文字は '\' でエスケープする必要があります。