[comment]: # ({d9bf322f-f34132a6})
# 2 実際のシナリオ

[comment]: # ({/d9bf322f-f34132a6})

[comment]: # ({608fb726-d43d02d4})
#### 概要

このセクションでは、Web監視をどのように使用できるかについて、実際の手順に沿った例を紹介します。

ZabbixのWeb監視を使用して、Zabbix Webインターフェースを監視します。目的は、それが利用可能であるか、正しいコンテンツを提供しているか、そしてどの程度の速さで動作しているかを判断することです。これを実現するには、最初のページの可用性の確認、ユーザー名とパスワードを使用したログイン、ログイン成功の検証、ログアウト、そしてログアウトの確認など、いくつかのステップが必要です。

[comment]: # ({/608fb726-d43d02d4})

[comment]: # ({51af514b-51af514b})
#### シナリオ

[comment]: # ({/51af514b-51af514b})

[comment]: # ({a0f82e40-6b72dd59})
##### 新しいWebシナリオを追加する

*データ収集 → ホスト* に移動し、ホストを選択して、そのホストの行にある *Web* をクリックします。  
次に、*Webシナリオの作成* をクリックします。 

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


新しいシナリオのフォームで、以下のフィールドを入力します。

- **名前** - Frontend check
- **更新間隔** - 1m
- **試行回数** - 1
- **エージェント** - Zabbix

*変数* セクションで、*{password}* と *{user}* の2つの変数を追加します。  
値として、既存のZabbixユーザーの認証情報を入力します。 

安全上の理由から、監視用途で使用するために、最小限の権限を持つ別のユーザーを作成することを推奨します。

必要に応じて、*タグ* タブに切り替え、Webシナリオのタグを追加します。

:::notetip
設定が完了すると、このWebシナリオは自動的にZabbixトラッパーアイテムをホストに追加します。  
Webシナリオのタグを使用すると、関連するアイテムやトリガーをすばやく識別したり、収集されたデータを検索したりできます。  
たとえば、このチュートリアルに適したタグは `component: web-scenario` および/または `target: frontend` です。 
:::

[comment]: # ({/a0f82e40-6b72dd59})

[comment]: # ({86824bcb-475cbb1a})
##### Webシナリオのステップを設定する

*Steps*タブに切り替え、シナリオのステップを定義します。個々のステップを追加するには、*Add*ボタンをクリックします。

[comment]: # ({/86824bcb-475cbb1a})

[comment]: # ({75dcae2e-d4aa4f48})
###### 共通フィールド

以下で説明する各ステップでは、ステップ固有のフィールドに加えて、次のフィールドを入力します。

- **URL** - Zabbix WebインターフェースのURL
- **Timeout** - 15s
- **Required status codes** - 200

[comment]: # ({/75dcae2e-d4aa4f48})

[comment]: # ({40559ed2-c26001e1})
###### Webシナリオのステップ1

最初のページが正しく応答し、HTTPレスポンスコード200を返し、テキスト「Zabbix SIA」を含んでいることを確認します。

- **Name**フィールドに、*First page*と入力します。
- **Required string**フィールドに、*Zabbix SIA*と入力します。 
- [共通フィールド](#common-fields)を入力します。 

ステップの設定が完了したら、*Add*ボタンを押します。

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

[comment]: # ({/40559ed2-c26001e1})

[comment]: # ({713aa628-f896c160})
###### Webシナリオのステップ2

シナリオレベルで定義したマクロ（変数） *{user}* と *{password}* を使用して、Zabbix Webインターフェースにログインします。 

- **Name** フィールドに *Login* と入力します。
- **Post fields** セクションで、3つのPOSTフィールドを追加します。 
    - 値 *{user}* の *name*
    - 値 *{password}* の *password*
    - 値 *Sign in* の *enter*
- **Variables** セクションで、値 *regex:([0-9a-z]{64})* の新しい変数 *{csrf_token}* を追加します。 
この変数は、[ステップ4](#web-scenario-step-4) で再利用するために、割り当てられたCSRFトークンの値を取得します。
- [共通フィールド](#common-fields) を入力します。

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

::: noteimportant
Zabbix Webインターフェースではログイン時にJavaScriptリダイレクトが使用されるため、最初にログインを実行する必要があり、ログイン後の機能は後続のステップでのみ確認できます。また、ログインステップでは **index.php** ファイルへの完全なURLを使用する必要があります。
:::

[comment]: # ({/713aa628-f896c160})

[comment]: # ({635690e6-1a116229})
###### Webシナリオのステップ3

ログイン後、ログイン時にのみ表示される文字列（例: *Administration*）を確認して、成功を検証します。

- **Name** フィールドに、*Login check* と入力します。
- **Required string** フィールドに、*Administration* と入力します。 
- [共通フィールド](#common-fields)を入力します。

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

[comment]: # ({/635690e6-1a116229})

[comment]: # ({06efb3e5-834e4858})
###### Webシナリオのステップ4

Webインターフェースへのアクセス性とログインが確認できたら、ログアウトのステップを追加します。追加しない場合、Zabbixデータベースに多数の未終了セッションレコードが蓄積されます。

- **Name** フィールドに *Logout* と入力します。
- **Post fields** セクションで、2つのpostフィールドを追加します。 
    - 値 *1* の *reconnect* 
    - 値 *{csrf_token}* の *\_csrf_token*
- [共通フィールド](#common-fields) を入力します。

このステップでは、[ステップ2](#web-scenario-step-2) で取得した変数 {csrf_token} を使用します。

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

[comment]: # ({/06efb3e5-834e4858})

[comment]: # ({5bdfc52a-cff4750f})
###### Webシナリオのステップ5

ログアウトを確認するには、**Username** 文字列を確認します。

- **名前** フィールドに、*Logout check* と入力します。
- **必須文字列** フィールドに、*Username* と入力します。 
- [共通フィールド](#common-fields) を入力します。 

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

[comment]: # ({/5bdfc52a-cff4750f})

[comment]: # ({2b6fe488-8ef2e8b2})
###### ステップの完全な設定

Webシナリオのステップの完全な設定は、次のようになります。

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

[comment]: # ({/2b6fe488-8ef2e8b2})

[comment]: # ({c2a12418-3e213338})
##### 結果を確認する

完成したWeb監視シナリオを保存します。

シナリオはホストに追加されます。Webシナリオの情報を表示するには、*監視 → ホスト* に移動し、一覧でホストを見つけて、最後の列にあるWebのハイパーリンクをクリックします。

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

シナリオ名をクリックすると、より詳細な統計情報を確認できます。

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

[comment]: # ({/c2a12418-3e213338})
