差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ja:documentation:03_monitoring:06_web_monitoring [2021/05/01 19:33]
admscopia ↷ Página movida y renombrada de pandora:documentation_ja:web_monitoring a ja:documentation:03_monitoring:06_web_monitoring
ja:documentation:03_monitoring:06_web_monitoring [2023/05/16 08:31] (現在)
行 1: 行 1:
-====== Pandora:Documentation_ja:Web_Monitoring ======+====== ウェブモニタリング ======  
 +{{indexmenu_n>6}}
  
-[[Pandora:Documentation_ja|Pandora FMS ドキュメント一覧に戻る]]+[[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
  
-= クラッシックなウェブ監視 =+===== クラッシックなウェブ監視 =====
  
-======概要====== +==== 概要 ====
-Enterprise 版{{wiki:icono-modulo-enterprise.png|Versión Enterprise.}}では、Goliat サーバと呼ばれる Webサーバコンポーネントを用いて、Web を監視することができます。+
  
-{{wiki: GoliatLogo 2.jpg }}+Enterprise 版{{:wiki:icono-modulo-enterprise.png  |Versión Enterprise.}}では、Goliat サーバと呼ばれる Webサーバコンポーネントを用いて、Web を監視することができます。 {{  :wiki:goliatlogo_2.jpg?200|goliatlogo_2.jpg}}
  
-この機能は、Pandora FMS の創設者の古いプロジェクトが元になっています。Goliat F.I.S.T. は、Web サービスにおいて動的な認証の実行を行うオープンソースのプロジェクトでした。(2002年から)ソースコードを確認することができますが、更新は 2010年で終了しました。 [[https://sourceforge.net/projects/goliat/]]+この機能は、Pandora FMS の創設者の古いプロジェクトが元になっています。Goliat F.I.S.T. は、Web サービスにおいて動的な認証の実行を行うオープンソースのプロジェクトでした。(2002年から)ソースコードを確認することができますが、更新は 2010年で終了しました。 [[https://sourceforge.net/projects/goliat/|https://sourceforge.net/projects/goliat/]]
  
-Pandora FMS では、ネットワークサーバ、WMIサーバ、プラグインサーバなどと同様に、独立したサーバとして機能します。 +Pandora FMS では、ネットワークサーバ、WMIサーバ、プラグインサーバなどと同様に、独立したサーバとして機能します。 このシステムは、"Webトランザクション" という考えのもとで動作します。ここでは、各トランザクションは 1つまたは複数の連続ステップで定義され、トランザクションを正常に完了させるために、正しく順序だてられている必要があります。"Webトランザクション" の実行では、フォーム内での自分自身の認証、メニューオプションのクリック、フォームの入力、各ステップで特定のテキスト文字列を返すことの確認など、完全なブラウジングプロセスを忠実に再現します。
-このシステムは、"Webトランザクション" という考えのもとで動作します。ここでは、各トランザクションは 1つまたは複数の連続ステップで定義され、トランザクションを正常に完了させるために、正しく順序だてられている必要があります。"Webトランザクション" の実行では、フォーム内での自分自身の認証、メニューオプションのクリック、フォームの入力、各ステップで特定のテキスト文字列を返すことの確認など、完全なブラウジングプロセスを忠実に再現します。+
  
 処理のある時点で障害が発生するとチェックに失敗します。 完全なトランザクションには、実際のナビゲーションに含まれるすべてのリソース(グラフィックス、アニメーションなど)のダウンロードが含まれます。 応答時間とパフォーマンスチェックの実行に加えて、Webページから値を抽出して処理することも可能です。 処理のある時点で障害が発生するとチェックに失敗します。 完全なトランザクションには、実際のナビゲーションに含まれるすべてのリソース(グラフィックス、アニメーションなど)のダウンロードが含まれます。 応答時間とパフォーマンスチェックの実行に加えて、Webページから値を抽出して処理することも可能です。
  
-Goliatは、HTTP と HTTPS の両方を透過的に監視し、クッキーによるセッション管理、パラメータの受け渡しをサポートします。もちろん、各ページに関連するリソースをダウンロードできます。ただし、実行時の動的な javascript の管理などに制限があります。 より複雑な Web トランザクションの場合、Pandora FMS には [[Pandora:Documentation_ja:User_Monitorization|WUX 監視]]というより強力で複雑なコンポーネントがあります。+Goliatは、HTTP と HTTPS の両方を透過的に監視し、クッキーによるセッション管理、パラメータの受け渡しをサポートします。もちろん、各ページに関連するリソースをダウンロードできます。ただし、実行時の動的な javascript の管理などに制限があります。 より複雑な Web トランザクションの場合、Pandora FMS には [[:ja:documentation:03_monitoring:13_user_monitorization|WUX 監視]]というより強力で複雑なコンポーネントがあります。
  
-======インストールと設定======+ 
 +==== インストールと設定 ====
 Goliat を利用できるようにするには、最初に Pandora FMS Enterprise サーバを有効化する必要があります。 Goliat を利用できるようにするには、最初に Pandora FMS Enterprise サーバを有効化する必要があります。
  
- webserver 1+<code> 
 +webserver 1 
 +</code>
  
 実行したいリクエスト数に応じて、スレッド数およびデフォルトのタイムアウトを増やします。 実行したいリクエスト数に応じて、スレッド数およびデフォルトのタイムアウトを増やします。
  
 +<code>
  web_threads 1   web_threads 1 
  web_timeout 60  web_timeout 60
 +</code>
  
 Goliat が使うライブラリのタイプ (LWP または CURL) を変更できる拡張設定トークンがあります。デフォルトでは CURL が利用されていますが、切り替えることができます。 Goliat が使うライブラリのタイプ (LWP または CURL) を変更できる拡張設定トークンがあります。デフォルトでは CURL が利用されていますが、切り替えることができます。
  
- web_engine curl+<code> 
 +web_engine curl 
 + 
 +</code> 
 + 
 +<WRAP center round info 60%>\\ 
 +Pandora FMS は [[https://en.wikipedia.org/wiki/Cross-site_request_forgery|CSRF]] に対して保護されており、デバッグ時に Web チェックで次のメッセージが表示される場合があります:\\ 
 +''Cannot verify the origin of the request'' \\ 
 +[[:ja:documentation:03_monitoring:13_user_monitorization#概要|WUX 監視]] の使用を検討する際には、この保護を考慮に入れてください、</WRAP>
  
-======ウェブモジュールの作成方法======+==== ウェブモジュールの作成方法 ====
 ウェブページをモニタするには、まずはモジュールタブをクリックします。その後 'ウェブサーバモジュールの新規作成(Create a new webserver module)' を選択し、//作成(Create)// をクリックします。 ウェブページをモニタするには、まずはモジュールタブをクリックします。その後 'ウェブサーバモジュールの新規作成(Create a new webserver module)' を選択し、//作成(Create)// をクリックします。
  
-{{ wiki:Gagita2.png ?500}}+{{  :wiki:pfms-creating_web_modules-goliat_server-img_002.png  }}
  
 //作成//をクリックすると、ウェブをモニタするために必要な設定を入力するためのフォームが表示されます。名前や、Webチェックのタイプなど、基本的なものです。 //作成//をクリックすると、ウェブをモニタするために必要な設定を入力するためのフォームが表示されます。名前や、Webチェックのタイプなど、基本的なものです。
  
-{{ wiki:goliat_types.jpg ?600}}+{{  :wiki:goliat_types.jpg?600  |goliat_types.jpg}}
  
 複数のチェックタイプが選択できます。 複数のチェックタイプが選択できます。
行 52: 行 64:
   * **Remote HTTP module to retrieve string data**: 正規表現を利用して HTTP 応答から文字列を取得します。   * **Remote HTTP module to retrieve string data**: 正規表現を利用して HTTP 応答から文字列を取得します。
  
-  * **Remote HTTP module to check server status code:**: <code>web_engine curl</code> の設定トークンで **curl** ツールの利用を有効化すると、HTTPヘッダーを返すことができます。 +  * **Remote HTTP module to check server status code:**: ''web_engine curl'' の設定トークンで **curl** ツールの利用を有効化すると、HTTPヘッダーを返すことができます。 
  
 **ウェブチェック** **ウェブチェック**
行 60: 行 72:
 簡単なトランザクションの例を以下に示します。 簡単なトランザクションの例を以下に示します。
  
 +<code>
  task_begin  task_begin
- head <nowiki>http://apache.org/</nowiki>+ head http://apache.org/
  task_end  task_end
 +</code>
  
-{{ wiki:Resources-manage_agents-modules-remote_http_module_to_check_server_status_code.png ?550}}+{{  :wiki:resources-manage_agents-modules-remote_http_module_to_check_server_status_code.png?550  }}
  
 保存したのち、モジュールを強制実行して結果を見ることができます。 保存したのち、モジュールを強制実行して結果を見ることができます。
  
-{{ wiki:Resources-manage_agents-modules-remote_http_module_to_check_server_status_code-result.png ?600}}+{{  :wiki:resources-manage_agents-modules-remote_http_module_to_check_server_status_code-result.png?600  }}
  
 コマンドを追加した別の例: コマンドを追加した別の例:
  
 +<code>
  task_begin   task_begin 
  get http://apache.org/  get http://apache.org/
行 78: 行 93:
  check_string Apache Software Foundation  check_string Apache Software Foundation
  task_end  task_end
 +</code>
  
-この基本的な例では、ウェブページに文字列があるかどうかをチェックしています。これは変数 **check_string** があるためです。 この変数では、HTML 自体をチェックすることはできません。テキストのサブストリングのみを検索します。 私たちは、Webサイト http://apache.org で "Apache Software Foundation" を探しています。 その文字列が存在する場合、チェックは OK を返します(サーバーの応答を確認するリモート HTTP モジュールの場合)+この基本的な例では、ウェブページに文字列があるかどうかをチェックしています。これは変数 **check_string** があるためです。 この変数では、HTML 自体をチェックすることはできません。テキストのサブストリングのみを検索します。 私たちは、Webサイト <[[http://apache.org|http://apache.org]]> で "Apache Software Foundation" を探しています。 その文字列が存在する場合、チェックは OK を返します(サーバーの応答を確認するリモート HTTP モジュールの場合)
  
 文字列が Web ページに存在しないことを確認するには、'check_not_string' を利用できます。 文字列が Web ページに存在しないことを確認するには、'check_not_string' を利用できます。
  
-<code>[email protected]@</code>+<code> 
 +check_not_string Section 3 
 +</code>
  
-<code>check_string</code> 構文がとる引数は、通常のテキスト文字列ではなく、"正規表現"です。 つまり、文字列 "Pandora FMS (4.0)" の検索は正規表現で行う必要があります。 例えば、<code>Pandora FMS \(4.0\)</code> です。 これにより、強力な検索を行うことができますが、文字や数字以外の文字は <code>\</code> でエスケープする必要があることに注意してください。+''check_string'' 構文がとる引数は、通常のテキスト文字列ではなく、"正規表現"です。 つまり、文字列 "Pandora FMS (4.0)" の検索は正規表現で行う必要があります。 例えば、''Pandora FMS \(4.0\)'' です。 これにより、強力な検索を行うことができますが、文字や数字以外の文字は ''\'' でエスケープする必要があることに注意してください。
  
 フォームをチェックするには、いくつかの拡張変数があります。 フォームをチェックするには、いくつかの拡張変数があります。
  
-***resource (1 または 0)**:ウェブリソース (画像、ビデオなど) のすべてをダウンロードします。 +  * **resource (1 または 0)**:ウェブリソース (画像、ビデオなど) のすべてをダウンロードします。 
-***cookie (1 または 0)**:クッキーを保持し、以降のチェックのためにセッションを保持します。 +  * **cookie (1 または 0)**:クッキーを保持し、以降のチェックのためにセッションを保持します。 
-***variable_name**:フォームの変数名です。 +  * **variable_name**:フォームの変数名です。 
-***variable_value**:上記変数名に対する値です。+  * **variable_value**:上記変数名に対する値です。
  
 これらの値を利用することにより、フォームにデータを送信し、正しく動作するかどうかをチェックすることができます。 これらの値を利用することにより、フォームにデータを送信し、正しく動作するかどうかをチェックすることができます。
  
-{{Warning|ドメインのリダイレクションには対応していません。この問題に対応するには、リダイレクトされた後にアクセスされるアドレスでモジュールを作成する必要があります。}}+<WRAP center round important 60%> 
 +ドメインのリダイレクションには対応していません。この問題に対応するには、リダイレクトされた後にアクセスされるアドレスでモジュールを作成する必要があります。 
 +</WRAP>
  
-前のケースでは、 **curl** コマンドのパラメータが短いバージョンでは <code>-L</code> であり長いバージョンでは <code>--location</code> であるため、 HTTP 3XX リダイレクトを受けた場合、リダイレクトされたドメインに対して再度実行されます。 **ただし、Pandora FMS の柔軟性により**、デバッグボタンを使用できます。 +前のケースでは、 **curl** コマンドのパラメータが短いバージョンでは、
  
-{{ wiki:Resources-manage agents-modules-remote http debug.png ?700}}+<code> 
 +-L 
 + 
 +</code> 
 + 
 +であり、長いバージョンでは、 
 + 
 +<code> 
 +--location 
 + 
 +</code> 
 + 
 +であるため、HTTP 3XX リダイレクトを受けた場合、リダイレクトされたドメインに対して再度実行されます。 **ただし、Pandora FMS の柔軟性により**、デバッグボタンを使用できます。  
 + 
 +{{  :wiki:resources-manage_agents-modules-remote_http_debug.png?700  }}
  
 モジュールの作成時点では、モジュールは有効化されておらず、最初のチェックを実行した後モジュールを使用できるようになります。これを強制的に実行して時間を節約できます。  モジュールの作成時点では、モジュールは有効化されておらず、最初のチェックを実行した後モジュールを使用できるようになります。これを強制的に実行して時間を節約できます。 
行 106: 行 140:
 このモジュールを変更するときは、**デバッグ(Debug)** ボタンをクリックすると、デバッグモードに入って **クエリ(Query)** を編集できます。  このモジュールを変更するときは、**デバッグ(Debug)** ボタンをクリックすると、デバッグモードに入って **クエリ(Query)** を編集できます。 
  
-{{ wiki:Resources-manage agents-modules-remote http debug-curl parameters.png ?800}}+{{  :wiki:resources-manage_agents-modules-remote_http_debug-curl_parameters.png?800  }}
  
 モジュールのクエリを **クエリの実行(Execute query)** ボタンで実行したり、目的の結果が得られるまで他の値に変更して再実行したりできます。  モジュールのクエリを **クエリの実行(Execute query)** ボタンで実行したり、目的の結果が得られるまで他の値に変更して再実行したりできます。 
  
-{{ wiki:Resources-manage agents-modules-remote http debug-curl parameters pfms.png ?700}}+{{  :wiki:resources-manage_agents-modules-remote_http_debug-curl_parameters_pfms.png?700  }}
  
-====== ウェブの応答時間チェック ====== +==== ウェブの応答時間チェック ==== 
-ウェブの応答時間をチェックしたい場合は、モジュールタイプ //Remote HTTP module to check latency// を選択する必要があるのみです。<nowiki><https://pandorafms.com></nowiki> の応答時間を知りたい場合、コードは次のようになります。+ウェブの応答時間をチェックしたい場合は、モジュールタイプ //Remote HTTP module to check latency// を選択する必要があるのみです。<https://pandorafms.com> の応答時間を知りたい場合、コードは次のようになります。
  
 +<code>
  task_begin  task_begin
- get <nowiki>https://pandorafms.com</nowiki>+ get https://pandorafms.com
  task_end  task_end
 +</code>
  
-設定トークン <code>resource 1</code> を追加すると、すべてのリソース(JavaScript、CSS、イメージなど)をダウンロードし、それにかかった実際の時間を計算できるようになります。+設定トークン ''resource 1'' を追加すると、すべてのリソース(JavaScript、CSS、イメージなど)をダウンロードし、それにかかった実際の時間を計算できるようになります。
  
-{{Tip|ウェブサイトのダウンロード時間は、ブラウザで Web サイトを表示するのにかかる時間ではありません。通常、これはJavaScriptの読み込み時間に依存し、Goliat は JavaScriptをダウンロードしますが、実行しません。}}+<WRAP center round tip 60%> 
 +ウェブサイトのダウンロード時間は、ブラウザで Web サイトを表示するのにかかる時間ではありません。通常、これはJavaScriptの読み込み時間に依存し、Goliat は JavaScriptをダウンロードしますが、実行しません。 
 +</WRAP>
  
-====== プロキシ経由でのウェブチェック ======+==== プロキシ経由でのウェブチェック ====
 ウェブチェックは、プロキシ経由でも行うことができます。プロキシを設定するには、//拡張オプション(Advanced options)// をクリックすると表示される、//プロキシURL(Proxy URL)// フィールドにプロキシの URL を設定する必要があります。 ウェブチェックは、プロキシ経由でも行うことができます。プロキシを設定するには、//拡張オプション(Advanced options)// をクリックすると表示される、//プロキシURL(Proxy URL)// フィールドにプロキシの URL を設定する必要があります。
  
 例えば、URL は次のようになります。 例えば、URL は次のようになります。
  
- <nowiki>http://proxy.domain.com:8080</nowiki>+  http://proxy.domain.com:8080
  
-認証が必要なプロキシの場合は、次のように <code>my-user</code> にユーザ名、<code>my_pwd</code> にパスワードを指定します。+認証が必要なプロキシの場合は、次のように ''my-user'' にユーザ名、''my_pwd'' にパスワードを指定します。
  
- <nowiki>http://my_user:[email protected]:8080</nowiki>+  http://my_user:[email protected]:8080
  
-{{ wiki:Goliat_proxy_conf.png ?700}}+{{ wiki:Goliat_proxy_conf.png?700 }}
  
-====== Webコンテンツの取得 ====== +==== Webコンテンツの取得 ====
-特定の Web サイトが稼動しているか、どれくらい時間がかかっているかを知りたいわけではなく、Google の株価などコンテンツの内容を確認したい場合もあります。そのためには、適切な正規表現で //Remote HTTP module to retrieve numeric data// モジュールを利用します。+
  
- task_begin +特定の Web サイトが稼動しているか、どれくらい時間がかかっているかを知りたいわけではなく、[[:ja:documentation:08_technical_reference:02_annex_externalapi#get_total_modules|API を通して]]Pandora FMS サーバに登録されたモジュール数などのコンテンツの内容を確認したい場合もあります。そのためには、適切な正規表現で **Remote HTTP module to retrieve numeric data** モジュールを利用します。 
- get <nowiki>http://finance.google.com/finance/info?client=ig&q=NASDAQ%3aGOOG</nowiki> + 
- get_content \d+\.\d+ +<code> 
- task_end+ 
 +task_begin 
 +get http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=internal_API&pass=1234&op=get&op2=total_modules&id=0 
 +get_content \d+ 
 +task_end 
 + 
 +</code>
  
 出力は次のようになります。 出力は次のようになります。
  
-[[image:Google_stock_quote.png|center|700px]]+{{  :wiki:pfms-creating_web_modules-goliat_server-img_100.png  }}
  
-また、より複雑な HTTP 応答からのデータを収集するための正規表現を設定トークン <code>get_content_advanced</code> で指定することもできます。+また、より複雑な HTTP 応答からのデータを収集するための正規表現を設定トークン ''get_content_advanced'' で指定することもできます。この**実践的な**例では、Pandora FMS 公式ドキュメントのフッターから年を取得します(また、文字列データタイプ **Remote HTTP module to retrieve string data** で保存します: {{  :wiki:pfms-creating_web_modules-goliat_server-img_110.png  }}
  
- task_begin +<code> 
- <nowiki>get http://finance.yahoo.com/q?s=GOOG</nowiki> +task_begin 
- <nowiki>get_content_advanced <span id="yfs_l84_goog">([[\d\.]]+)</span></nowiki+get https://pandorafms.com/manual
- task_end+get_content_advanced \(c\) ([\d]+) Pandora FMS\(tm\) </span> 
 +task_end 
 + 
 +</code
 + 
 +{{  :wiki:pfms-creating_web_modules-goliat_server-img_120.png  }}しきい値の反転が使用されていることに注意してください。''2022'' 以外の文字列を受信すると、モジュールは障害状態になります。 
 + 
 +<WRAP center round important 75%> 
 +  * ''get_content_advanced'' に定義する正規表現は、カッコでくくらなければいけません。 
 +  * 検索するテキストにカッコが含まれている場合は、バックスラッシュ ''\'' を使用して文字をエスケープする必要があります。 
 +</WRAP>
  
-{{Warning|<code>get_content_advanced</code> に定義する正規表現は、カッコでくくらなければいけません。}}+{{  :wiki:pfms-creating_web_modules-goliat_server-img_130.png  }}
  
 警告または障害状態のしきい値を設定するには、モジュールの設定を使用して、受信した文字列が期待どおりのものであることを確認します。 警告または障害状態のしきい値を設定するには、モジュールの設定を使用して、受信した文字列が期待どおりのものであることを確認します。
  
-====== ウェブページのフォームのチェック======+==== ウェブページのフォームのチェック ====
 より実用的な、Web フォームのチェックです。 しかし、これは単に Web ページ上のテキストをチェックするよりもはるかに複雑です。 このサンプルチェックでは、Pandora 自身のコンソールを使用してログインし、ログインできたことを確認し、ログインしているユーザのデータが表示されているワークスペースのテキストを確認します。 デフォルトのコンソールであれば、管理者のユーザには、"Admin Pandora" という記述が含まれています。 より実用的な、Web フォームのチェックです。 しかし、これは単に Web ページ上のテキストをチェックするよりもはるかに複雑です。 このサンプルチェックでは、Pandora 自身のコンソールを使用してログインし、ログインできたことを確認し、ログインしているユーザのデータが表示されているワークスペースのテキストを確認します。 デフォルトのコンソールであれば、管理者のユーザには、"Admin Pandora" という記述が含まれています。
  
 このタイプのチェックを実行するには、ログインに必要な資格情報が必要です。これらの値を使用して HTML フォームに「送信」するためです。また、ページに移動して HTML のソースから変数名を見る必要があります。どのように Goliat が動作するかを理解するためには、HTML に関する最小限の知識が必要です。 このタイプのチェックを実行するには、ログインに必要な資格情報が必要です。これらの値を使用して HTML フォームに「送信」するためです。また、ページに移動して HTML のソースから変数名を見る必要があります。どのように Goliat が動作するかを理解するためには、HTML に関する最小限の知識が必要です。
  
-{{Tip|複数ステップの WEB トランザクションテストを設定するときに、設定を確認する良い方法としては、ステップの 1つで何かが見逃された場合に備えて、ステップごとにテストすることです。}}+<WRAP center round tip 60%> 
 +複数ステップの WEB トランザクションテストを設定するときに、設定を確認する良い方法としては、ステップの 1つで何かが見逃された場合に備えて、ステップごとにテストすることです。 
 +</WRAP>
  
 Pandora コンソールのログイン URL が以下であると仮定します。 Pandora コンソールのログイン URL が以下であると仮定します。
- <nowiki>http://192.168.70.116/pandora_console/</nowiki>+ 
 +  http://192.168.70.116/pandora_console/ 
 HTML コードを確認すると、ログインフォームの変数は次の通りです。 HTML コードを確認すると、ログインフォームの変数は次の通りです。
  
-  * <code>nick</code>> ユーザ名 +  * ''nick''> ユーザ名 
-  * <code>pass</code>> パスワード+  * ''pass''> パスワード
  
-フォームの認証を通すためには、変数 <code>variable_name</code> および <code>variable_value</code> の両方が必要です。Pandora FMS コンソールのデフォルトは、<code>admin</code> および <code>pandora</code> です。+フォームの認証を通すためには、変数 ''variable_name'' および ''variable_value'' の両方が必要です。Pandora FMS コンソールのデフォルトは、''admin'' および ''pandora'' です。
  
 最初のステップはフォームへのアクセスです。次に、ユーザとパスワードを送り認証します。(認証の成功を 2つ目のステップで確認します) 最初のステップはフォームへのアクセスです。次に、ユーザとパスワードを送り認証します。(認証の成功を 2つ目のステップで確認します)
  
-<code>1@@</code>+<code> 
 +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 
 +</code>
  
 上記の設定で、ウェブページにアクセスし認証することができます。これにより、認証した状態でのウェブページ上の何らかのチェックを実行できます。cookie 1 トークンを使用して、前の手順で取得した cookie の永続性を維持します。 それらがなければ、セッションを再現することはできません。 上記の設定で、ウェブページにアクセスし認証することができます。これにより、認証した状態でのウェブページ上の何らかのチェックを実行できます。cookie 1 トークンを使用して、前の手順で取得した cookie の永続性を維持します。 それらがなければ、セッションを再現することはできません。
行 183: 行 250:
 2つ目のステップでは、ユーザーの詳細ページにアクセスし電話番号を探します。ユーザ "admin" のデフォルトは、555-555-555 です。 コンソールに正しくログインできているかどうかがわかります。 2つ目のステップでは、ユーザーの詳細ページにアクセスし電話番号を探します。ユーザ "admin" のデフォルトは、555-555-555 です。 コンソールに正しくログインできているかどうかがわかります。
  
-<code>[email protected]@</code>+<code> 
 +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 
 +</code>
  
 最後にコンソールからログアウトし、ログアウトメッセージを探します。 最後にコンソールからログアウトし、ログアウトメッセージを探します。
  
-<code>[email protected]@</code>+<code> 
 +task_begin 
 +get http://192.168.70.116/pandora_console/index.php?bye=bye 
 +cookie 1 
 +resource 1 
 +check_string Logged out 
 +task_end 
 +</code>
  
 Pandora FMS 上での全体の設定は次のようになります。 Pandora FMS 上での全体の設定は次のようになります。
  
-{{wiki:goliat_full_sample.jpg?800}}+{{ wiki:goliat_full_sample.jpg?800 }}
  
-====== WEB リクエストの動作 ======+==== WEB リクエストの動作 ====
 拡張プロパティのフィールドは他のタイプのモジュールのフィールドと似ていますが、WEB チェックではいくつかの異なるフィールドがあります。 拡張プロパティのフィールドは他のタイプのモジュールのフィールドと似ていますが、WEB チェックではいくつかの異なるフィールドがあります。
  
-;タイムアウト(Timeout): これはリクエストのタイムアウトです。この時間を超えるとリクエストは破棄されます。+**タイムアウト(Timeout)**
  
-;エージェントブラウザID(Agent browser id): これは、特定ページが一部の Web ブラ受け入る場合に使用する Web ブラウザの識別子です。(詳細は、https://www.zytrax.com/tech/web/browser_ids.htm を参照してください)+これはリクエストタイムアトです。こ時間超えるとリクエストは破棄さす。
  
-;リクエスト(Requests): Pandora FMS は、このパラメータで示された回数だけチェックを繰り返します。 チェックの 1つが失敗した場合、障害とみなされます。モジュール内のチェックの数に応じて、一定数のページが取得されます。 つまり、モジュールが 3つのチェックで構成されている場合は、3ページがダウンロードされ、リクエストフィールドに値が設定されている場合は、ダウンロード数はその数を掛け合わせた数になります。 モジュールが処理を完了するのにかかる合計時間を把握するには、これを覚えておくことが重要です。 
  
-;リトライ(Retries)成功するまで **リクエスト(Request)** を実行する数です。例: +**エージェントブラウザID(Agent browser id)** 
-  * リトライ=2、リクエスト=1: 最初のテストに失敗すると、もう一度実行し、2回目で成功すると、正常と判断します。 + 
-  * リトライ=1、リクエスト=2: 2回のチェックを実行します。しかし一方の失敗で、障害と判断します。+ これは、特定のページが一部の Web ブラウザのみを受け入れる場合に使用する Web ブラウザの識別子です。(詳細は、https://www.zytrax.com/tech/web/browser_ids.htm を参照してください) 
 + 
 + 
 +**リクエスト(Requests)** 
 + 
 + Pandora FMS は、このパラメータで示された回数だけチェックを繰り返します。 チェックの 1つが失敗した場合、障害とみなされます。モジュール内のチェックの数に応じて、一定数のページが取得されます。 つまり、モジュールが 3つのチェックで構成されている場合は、3ページがダウンロードされ、リクエストフィールドに値が設定されている場合は、ダウンロード数はその数を掛け合わせた数になります。 モジュールが処理を完了するのにかかる合計時間を把握するには、これを覚えておくことが重要です。 
 + 
 +**リトライ(Retries)** 
 + 
 +成功するまで **リクエスト(Request)** を実行する数です。例: 
 + 
 +  * リトライ = 2、リクエスト = 1: 最初のテストに失敗すると、もう一度実行し、2回目で成功すると、正常と判断します。 
 +  * リトライ = 1、リクエスト = 2: 2回のチェックを実行します。しかし一方の失敗で、障害と判断します。 
 + 
 +==== HTTP の簡単な認証 ====
  
-====== HTTP の簡単な認証 ====== 
 いくつかのウェブページでは、[[https://en.wikipedia.org/wiki/Basic_access_authentication|HTTP 基本認証]] を必要とします。通常、これは高速認証、高度なセキュリティチェック(暗号化、データ永続性など)へのアクセスを可能にする最小限のセキュリティとして使用されます。 いくつかのウェブページでは、[[https://en.wikipedia.org/wiki/Basic_access_authentication|HTTP 基本認証]] を必要とします。通常、これは高速認証、高度なセキュリティチェック(暗号化、データ永続性など)へのアクセスを可能にする最小限のセキュリティとして使用されます。
  
-{{wiki:conexion_http.png?650}}+{{  :wiki:conexion_http.png?650  }}
  
 (上記スクリーンショットのように)拡張オプションで設定することも、次の設定トークンを使用して WEB タスク定義で直接設定することもできます。 (上記スクリーンショットのように)拡張オプションで設定することも、次の設定トークンを使用して WEB タスク定義で直接設定することもできます。
  
-;チェックタイプ(Check type)HTTP サーバチェックタイプ +**チェックタイプ(Check type)** 
-;http認証(ログイン)(http auth (login))ユーザ名 + 
-;http認証(パスワード)(http auth (password))パスワード +HTTP サーバチェックタイプ 
-;プロキシ認証レルム(Proxy auth realm)認証レルム名 + 
-;プロキシ認証(サーバ)(Proxy auth (server))待ち受けているドメインと HTTP ポート +**http認証(ログイン)(http auth (login))** 
-;プロキシURL(Proxy URL)プロキシサーバの URL + 
-;プロキシ認証(ログイン)(Proxy auth (login))プロキシ接続ユーザ +ユーザ名 
-;プロキシ認証(パスワード)(Proxy auth (pass))プロキシ接続パスワード+ 
 +**http認証(パスワード)(http auth (password))** 
 + 
 +パスワード 
 + 
 +**プロキシ認証レルム(Proxy auth realm)** 
 + 
 +認証レルム名 
 + 
 +**プロキシ認証(サーバ)(Proxy auth (server))** 
 + 
 +待ち受けているドメインと HTTP ポート 
 + 
 +**プロキシURL(Proxy URL)** 
 + 
 +プロキシサーバの URL 
 + 
 +**プロキシ認証(ログイン)(Proxy auth (login))** 
 + 
 +プロキシ接続ユーザ 
 + 
 +**プロキシ認証(パスワード)(Proxy auth (pass))** 
 + 
 +プロキシ接続パスワード
  
 タスク全体の例: タスク全体の例:
 +<code>
  
  task_begin  task_begin
- get <nowiki>http://artica.es/pandoraupdate4/ui/</nowiki>+ get http://artica.es/pandoraupdate4/ui/
  cookie 1  cookie 1
  resource 1  resource 1
行 235: 行 352:
  task_end  task_end
  
-====== WEB サービスおよび API モニタリング ======+</code> 
 + 
 +<WRAP center round important 60%> ''http_auth_pass'' に指定するパスワードではクォーテーションには対応していません。シングルクォート '' ' '' の利用は避けてください。 
 + 
 +</WRAP> 
 + 
 + 
 +==== WEB サービスおよび API モニタリング ==== 
 Pandora FMS と Goliat webチェックにて、[[https://en.wikipedia.org/wiki/Representational_state_transfer|REST]] APIを監視することができます。ただし、SOAP や XML-RPC を用いた API は監視できません。 Pandora FMS と Goliat webチェックにて、[[https://en.wikipedia.org/wiki/Representational_state_transfer|REST]] APIを監視することができます。ただし、SOAP や XML-RPC を用いた API は監視できません。
  
 例えば、動作しているときに数値(0からn)で返すような特定の Web API を監視したい場合、次のようなコードで、Pandora は何も応答が無い場合に障害と認識します。 例えば、動作しているときに数値(0からn)で返すような特定の Web API を監視したい場合、次のようなコードで、Pandora は何も応答が無い場合に障害と認識します。
 +<code>
  
- task_begin +task_begin 
- get <nowiki>http://artica.es/integria/include/api.php?user=slerena&pass=xxxx&op=get_stats&params=opened,,1</nowiki> +get http://artica.es/integria/include/api.php?user=my_user&pass=my_pass&op=get_stats&ms=opened,,
- check_string \n[[0-9]]+ +check_string \n[0-9]+ 
- task_end+task_end 
 + 
 +</code>
  
 実際の応答は次の通りです。 実際の応答は次の通りです。
  
-<code>[email protected]@</code>+<code> 
 +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:
 +Client-Transfer-Encoding: chunked 
 +Set-Cookie: a81d4c5e530ad73e256b7729246d3d2c=pcasWqI6pZzT2x2AuWo602; path=/ 
 + 
 +
 + 
 +</code>
  
 正規表現で出力を確認することにより、全体が正しく動作しているかを確認できます。より複雑な出力の場合は、それに合わせた正規表現を用います。データ部分だけでなく、応答内容全体をチェックすることに注意してください。そのため、HTTP ヘッダーにもマッチさせることができます。 正規表現で出力を確認することにより、全体が正しく動作しているかを確認できます。より複雑な出力の場合は、それに合わせた正規表現を用います。データ部分だけでなく、応答内容全体をチェックすることに注意してください。そのため、HTTP ヘッダーにもマッチさせることができます。
行 253: 行 399:
 別の例: 別の例:
  
 +<code>
  task_begin  task_begin
- get https://swapi.co/api/planets/1/+ get https://swapi.dev/api/planets/1/
  get_content Tatooine  get_content Tatooine
  task_end  task_end
 +
 +</code>
  
 この場合、モジュールが監視を実行できるようにするデータのタイプは、'Remote HTTP module to retrieve string data (web_content_string)' である必要があります。 この場合、モジュールが監視を実行できるようにするデータのタイプは、'Remote HTTP module to retrieve string data (web_content_string)' である必要があります。
  
 +<code>
  task_begin  task_begin
  get https://pokeapi.co/api/v2/pokemon/ditto/  get https://pokeapi.co/api/v2/pokemon/ditto/
行 265: 行 415:
  task_end  task_end
  
-上記のモジュールと同様に、モジュールが正しく機能するには、定義されたデータのタイプが Remote HTTP module to retrieve string data (web_content_string)' である必要があります。+</code>
  
-<b>get_content_advanced</b>モジュールを作成することもます。+上記のモジュールと同様に、モジュールが正しく機能するには、定義されたデータのタイプが Remote HTTP module to retrieve string data (web_content_string)' ある必要があります。
  
 +**get_content_advanced** でモジュールを作成することもできます。
 +<code>
  task_begin  task_begin
  get https://api.hillbillysoftware.com/Awards/ByYear/1990  get https://api.hillbillysoftware.com/Awards/ByYear/1990
- get_content_advanced "Nominee":"([[A-Za-z|]]+)","Year":"1990"+ get_content_advanced "Nominee":"([A-Za-z]]+)","Year":"1990"
  task_end  task_end
 +
 +</code>
  
 この呼び出しは以下を返します。 この呼び出しは以下を返します。
  
-{{ wiki:APIwiki1.png ?600}}+{{  :wiki:apiwiki1.png?600  }}
  
 Pandora FMS は、次のように結果を表示します。 Pandora FMS は、次のように結果を表示します。
  
-{{ wiki:APIwiki2.png ?400}}+{{  :wiki:apiwiki2.png?400  }}
  
 +<WRAP center round important 60%> 呼び出しが正しく実行されるように、括弧内にキャプチャグループを適切に定義することが重要です。 </WRAP>
  
-{{Warning|呼び出しが正しく実行されように括弧内キャプチャグループを適切に定義することが重す。}}+<WRAP center round important 60%> API 呼び出しを作成すときは宛先 API 呼び出し許可する適切な権限があるかどうかを確認するがあります。 </WRAP>
  
-{{Warning|API 呼び出しを作成するときは、宛先 API に呼び出しを許可する適切な権限があるかどうかを確認する必要があります。}} 
  
-====== HTTPS モニタリング ======+==== HTTPS モニタリング ====
 Goliat は HTTP と HTTPS の両方をチェックできます。 HTTPS を利用しているセキュリティで保護されたウェブサイトのチェックを行うには、その URL にプロトコルを組み込むだけです。 Goliat は HTTP と HTTPS の両方をチェックできます。 HTTPS を利用しているセキュリティで保護されたウェブサイトのチェックを行うには、その URL にプロトコルを組み込むだけです。
  
-<code>[email protected]@</code>+<code> 
 +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 
 +</code>
  
-====== 拡張オプション ====== +==== 拡張オプション ==== 
-===== HTTP ヘッダーのカスタマイズ =====+=== HTTP ヘッダーのカスタマイズ ===
 //header// オプションで、HTTP ヘッダのカスタマイズしたり追加したりできます。たとえば、//Host// HTTP ヘッダーを変更するには次のようにします。 //header// オプションで、HTTP ヘッダのカスタマイズしたり追加したりできます。たとえば、//Host// HTTP ヘッダーを変更するには次のようにします。
  
 +<code>
  task_begin  task_begin
- get <nowiki>http://192.168.1.5/index.php</nowiki>+ get http://192.168.1.5/index.php
  header Host 192.168.1.1  header Host 192.168.1.1
  task_end  task_end
 +</code>
  
-===== ウェブチェックのデバッグ ===== +=== ウェブチェックのデバッグ === 
-ウェブチェックをデバッグしたい場合は、<code>debug <ログファイル></code> オプションを追加します。<code>ログファイル.req</code> および <code>ログファイル.res</code> というファイルが作成され、HTTP リクエストと応答が記録されます。たとえば次のようにします。+ウェブチェックをデバッグしたい場合は、''debug <ログファイル>'' オプションを追加します。''ログファイル.req'' および ''ログファイル.res'' というファイルが作成され、HTTP リクエストと応答が記録されます。たとえば次のようにします。
  
 +<code>
  task_begin  task_begin
- get <nowiki>http://192.168.1.5/index.php</nowiki>+ get http://192.168.1.5/index.php
  debug /tmp/request.log  debug /tmp/request.log
  task_end  task_end
 +</code>
  
-===== LWP の代わりの Curl の利用 ===== +=== LWP の代わりの Curl の利用 ===
-LWP は、複数スレッドで HTTPS リクエストを実行するとクラッシュすることがあります(OpenSSL の制約による)。代替としては [[https://curl.se/dlwiz/|**curl** ツール]] を利用することです。この問題を解決するためには、///etc/pandora/pandora_server.conf// を編集し、次の行を加えます。+
  
- web_engine curl+LWP は、複数スレッドで HTTPS リクエストを実行するとクラッシュすることがあります(OpenSSL の制約による)。代替としては [[https://curl.se/dlwiz/|curl ツール]] を利用することです。この問題を解決するためには、///etc/pandora/pandora_server.conf// を編集し、次の行を加えます。 
 +<code> 
 + 
 +web_engine curl 
 + 
 +</code>
  
 Pandora FMS サーバを再起動すると、ウェブチェックに LWP の代わりに Curl バイナリが利用されます。 Pandora FMS サーバを再起動すると、ウェブチェックに LWP の代わりに Curl バイナリが利用されます。
  
-= 高度なトランザクション監視 = 
  
-Goliath が提供する機能に加えて、Web トランザクション監視を実行する他の方法があります。一つは分散型(UX)で、アクセスできないネットワークであっても、サーバとは異なるシステムに "エージェント" として展開します。もう一つは集中化された方法(WUX)です。より詳細については [[https://pandorafms.com/docs/index.php?title=Pandora:Documentation_ja:User_Monitorization|ユーザエクスペリエンス監視 (UX および WUX)]] を参照してください。+===== 高度なトランザクション監視 ===== 
 + 
 +Goliath が提供する機能に加えて、Web トランザクション監視を実行する他の方法があります。一つは分散型(UX)で、アクセスできないネットワークであっても、サーバとは異なるシステムに "エージェント" として展開します。もう一つは集中化された方法(WUX)です。より詳細については [[ja:documentation:03_monitoring:13_user_monitorization|ユーザエクスペリエンス監視 (UX および WUX)]] を参照してください。 
 + 
 +[[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
  
-[[Category:Pandora FMS]] 
-[[Category:Japanese]] 
ºº