# 8. Web監視

#### 概要

Zabbixを使用して、Webサイトの稼働状況をさまざまな観点で確認できます。

::: noteimportant

Web監視を実行するには、Zabbixサーバが最初にcURL(libcurl)サポートで[設定](/jp/manual/installation/install#from_the_sources)されていなければなりません。

:::

Web監視を有効にするには、Webシナリオを設定する必要があります。Webシナリオは、ひとつまたは複数のHTTPリクエストまたは「ステップ」で構成されます。Zabbixサーバがステップをあらかじめ定義した順番で定期的に実行します。

**Zabbix
2.2**から、Webシナリオは、ホストやテンプレートにアイテムやトリガーなどと同じようにアタッチされています。これは、Webシナリオもテンプレートレベルで作成し、複数のホストに1回の操作で適用できることを意味します。

すべてのWebシナリオで次の情報が収集されます。

-   シナリオ全体のすべてのステップに関する1秒あたりの平均ダウンロードスピード
-   失敗したステップの番号
-   直近のエラーメッセージ

すべてのWebシナリオのステップで次の情報が収集されます。

-   1秒あたりのダウンロードスピード
-   レスポンスタイム
-   レスポンスコード

Zabbixは、取得したHTMLページにあらかじめ設定された文字列が含まれるかどうかも確認できます。ログインのシミュレーションを実行し、シミュレーションしたマウスクリックの経路をページ上でたどることができます。

ZabbixのWeb監視は、HTTPとHTTPSの両方をサポートしています。Webシナリオを実行する時、Zabbixは、常にリダイレクト後に実行します。ひとつのシナリオの実行中には、すべてのCookieを保存します。

Webシナリオの実行によって収集されたデータは、データベースに保管されます。データは、グラフ、トリガー、通知に自動的に使用されます。[Web監視アイテム](/jp/manual/web_monitoring/items)も参照してください。

#### Webシナリオの設定

Webシナリオを設定するには、

-   \[設定\]→\[ホスト\]（または\[テンプレート\]）を選択します。
-   ホストまたはテンプレートの行の\[Web\]をクリックします。
-   右側の\[シナリオの作成\]をクリックします（または、編集したい既存のシナリオのシナリオ名をクリックしてください）。
-   フォームにシナリオのパラメータを入力します。

**\[シナリオ\]**タブで、Webシナリオの一般的なパラメータを設定できます。

![](../../assets/en/manual/config/scenario.png){width="550"}

一般的なパラメータ：

|パラメータ               説明|<|
|------------------------------------|-|
|ホスト                   シナ|オが属するホストまたはテンプレートの名前。|
|名前                     一|なシナリオ名。<br>Zabbix 2.2から、サポートする[マクロ](/jp/manual/appendix/macros/supported_by_location)を名前に含めることができます。|
|アプリケーション         シナリオが属す|アプリケーションを選択してください。<br>Webシナリオアイテムは、\[監視\]→\[最新データ\]で選択されたアプリケーションにグループ分けされます。|
|アプリケーションの作成   シナリオ用の新しいア|リケーションの名前を入力します。|
|認証                     認|のオプション。<br>**なし** - 認証は行われません。<br>**Basic認証** - Basic認証を使用します。<br>**NTLM認証** - NTLM（([Windows NT LAN Manager)](http://en.wikipedia.org/wiki/NTLM)）認証を使用します。<br>認証方式を選択すると、ユーザー名とパスワードを入力するためのフィールドがふたつ追加されます。<br>*Zabbix 2.2*から、ユーザー名とパスワードのフィールドにユーザーマクロを使用できます。|
|更新間隔（秒）           シナリオを実|する頻度（秒単位）。|
|リトライ                 Web|ナリオステップの実行を試みる回数。ネットワーク障害（タイムアウト、接続なしなど）の場合、Zabbixは、ステップの実行を複数回繰り返すことができます。ここで設定した回数がシナリオの各ステップに等しく適用されます。10回までの再試行を指定できます。デフォルト値は1です。<br>*注：*Zabbixは、レスポンスコードが違う、または要求された文字列との不一致という理由でステップを繰り返すことはしません。<br>このパラメータは、*Zabbix 2.2*からサポートされています。|
|エージェント             クライアン|エージェントを選択します。<br>Zabbixが選択されたブラウザーとして振る舞います。これは、ブラウザーが異なると返却するコンテンツが異なるWebサイトに便利です。<br>*Zabbix 2.2*から、このフィールドにユーザーマクロを使用できます。|
|HTTPプロキシ             次のフ|ーマットを使って、使用するHTTPプロキシを指定できます。 *http://\[username\[:password\]@\]proxy.mycompany.com\[:port\]*<br>デフォルトでは、ポート1080を使用します。<br>指定すれば、プロキシは、http\_proxyやHTTPS\_PROXYなどのプロキシ関連の環境変数を上書きします。指定しなければ、プロキシ関連の環境変数を上書きしません。<br>注：HTTPプロキシがサポートするのは、単純な認証だけです。<br>このフィールドでは、ユーザーマクロが使用できます。<br>このパラメータは、Zabbix 2.2からサポートされています。|
|変数                     シ|リオステップで使用できるシナリオレベルの変数（マクロ）の一覧です（URL、POST変数）。<br>変数は、次のような形式をとります。<br>**{macro1}**=value1<br>**{macro2}**=value2<br>**{macro3}**=regex:<regular expression><br>例：<br>{username}=Alexei<br>{password}=kj3h5kJ34bd<br>{hostid}=regex:hostid is (\[0-9\]+)<br>値の部分がregexで始まる場合：その後の部分はWebページを検索する正規表現として扱い、見つかれば一致したものを変数に保存します。一致した値が抽出できるように、少なくともひとつのサブグループが必要なことに注意してください。ステップで {username}、{password} 、{hostid}としてマクロを参照できます。Zabbixは、自動的にこれらを実際の値で置き換えます。<br>Webページの正規表現の一致を検索する変数の設定は、Zabbix 2.2からサポートされています。<br>Zabbix 2.2から、このフィールドでHOST.\*マクロとユーザーマクロが使用できます。<br>注：変数はURLエンコードされていません。|
|有効                     こ|ボックスにチェックがついていれば、シナリオは有効です。チェックがなければ無効です。|

::: notetip

\[HTTPプロキシ\]フィールドが空白のままの場合、別の方法として、環境変数に関連したプロキシを設定することでHTTPプロキシを使用できます。\
HTTPチェックを行うには、Zabbixサーバのユーザーに対して**http\_proxy**環境変数を設定します。例:*http\_proxy=[http:%%//%%proxy\_ip:proxy\_port//](http:%%//%%proxy_ip:proxy_port//)\
HTTPSチェックを行うには、**HTTPS\_PROXY**環境変数を設定します。例：*HTTPS\_PROXY=[http:%%//%%proxy\_ip:proxy\_port//](http:%%//%%proxy_ip:proxy_port//)\
シェルコマンド*\# man
curl*を実行することで、さらに詳しい情報が得られます。 
:::

**\[ステップ\]**タブでは、Webシナリオステップの設定ができます。Webシナリオステップを追加するには、\[追加\]をクリックしてください。

![](../../assets/en/manual/config/scenario2.png){width="600"}

#### ステップの設定

![](../../assets/en/manual/config/scenario_step.png){width="550"}

ステップのパラメータ：

|パラメータ             説明|<|
|----------------------------------|-|
|名前                   一|なステップ名。<br>*Zabbix 2.2*から、サポートする[マクロ](/jp/manual/appendix/macros/supported_by_location)を名前に含めることができます。|
|URL|接続してデータを取得するためのURL。例：<br>http://www.zabbix.com<br>https://www.google.com<br>GET変数は、URLパラメータで渡すことができます。<br>*Zabbix 2.2*から、サポートする[マクロ](/jp/manual/appendix/macros/supported_by_location)をこのフィールドに含めることができます。|
|Post|HTTP POST変数がある場合に指定します。<br>例：<br>id=2345&userid={user}<br>{user}がWebシナリオのマクロとして指定されている場合、ステップ実行時に、その値で置き換えられます。<br>この情報はそのまま送信されます。変数はURLエンコードされません。<br>*Zabbix 2.2*から、サポートする[マクロ](/jp/manual/appendix/macros/supported_by_location)をこのフィールドに含めることができます。|
|変数                   G|T関数とPOST関数に使用できるステップレベルの変数（マクロ）の一覧です。<br>ステップレベルの変数は、シナリオレベルの変数や以前のステップの変数を上書きします。<br>変数は、次のような形式をとります。<br>**{macro}**=value<br>**{macro}**=regex:<regular expression><br>さらに詳しい情報は、[シナリオレベル](/jp/manual/web_monitoring#Webシナリオの設定)での変数の説明を参照してください。<br>ステップレベルの変数の使用は、*Zabbix 2.2*からサポートされています。<br>*注：*変数はURLエンコードされていません。|
|タイムアウト           Zabbi|は、URLの処理に設定された秒数以上の時間を費やしません。このパラメータは、実際にはURLに接続するための最大時間とHTTP要求を実行するための最大時間を設定します。したがって、Zabbixは、ステップに対してタイムアウトの秒数の**2倍**以上の時間を費やしません。<br>例：15|
|要求文字列             要求正規|現のパターン。<br>取得したコンテンツ（HTML）が必要なパターンに一致しない場合、ステップは失敗します。空白の場合、チェックは実行されません。<br>例：<br>Zabbixのホームページ<br>Welcome.\*admin<br>注：このフィールドでは、Zabbix Webインターフェースで作成された[正規表現](/jp/manual/regular_expressions)の参照はサポートされていません。<br>Zabbix 2.2から、サポートする[マクロ](/jp/manual/appendix/macros/supported_by_location)をこのフィールドに含めることができます。|
|要求ステータスコード   要求されるHTTP|テータスコードの一覧です。Zabbixがこの一覧に含まれないコードを取得すると、そのステップは失敗します。<br>空白の場合、チェックは実行されません。<br>例: 200,201,210-299<br>*Zabbix 2.2*から、このフィールドにユーザーマクロを使用できます。|

::: noteclassic

Webシナリオに加えた変更はすべて、シナリオ全体を保存しなければ保存されません。

:::

Web監視ステップの設定方法を説明する[実例](/jp/manual/web_monitoring/example)も参照してください。

#### 表示

設定したWebシナリオの詳細データを表示するには、\[監視\]→\[Web\]または\[最新データ\]を選択します。シナリオ名をクリックすると、より詳細な統計が表示されます。

![](../../assets/en/manual/web_monitoring/monitoring_web_details.png){width="600"}

Web監視シナリオの概要は、\[監視\]→\[ダッシュボード\]から表示できます。

------------------------------------------------------------------------

*本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。\
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。*
