2 実際のシナリオ
概要
このセクションでは、Web監視をどのように使用できるかについて、実際の手順に沿った例を紹介します。
ZabbixのWeb監視を使用して、Zabbix Webインターフェースを監視します。目的は、それが利用可能であるか、正しいコンテンツを提供しているか、そしてどの程度迅速に動作するかを判断することです。これを実現するには、最初のページの可用性の確認、ユーザー名とパスワードを使用したログイン、ログイン成功の検証、ログアウト、そしてログアウトの確認など、いくつかのステップが必要です。
シナリオ
新しいWebシナリオを追加する
データ収集 → ホスト に移動し、ホストを選択して、そのホストの行にある Web をクリックします。
次に、Webシナリオの作成 をクリックします。

新しいシナリオのフォームで、以下のフィールドを入力します。
- 名前 - Frontend check
- 更新間隔 - 1m
- 試行回数 - 1
- エージェント - Zabbix
変数 セクションで、{password} と {user} の2つの変数を追加します。
値として、既存のZabbixユーザーの認証情報を入力します。
安全上の理由から、監視用途で使用するために、最小限の権限を持つ別のユーザーを作成することを推奨します。
必要に応じて、タグ タブに切り替えてWebシナリオのタグを追加します。
設定が完了すると、このWebシナリオは自動的にZabbix trapperアイテムをホストに追加します。
Webシナリオのタグを使用すると、関連するアイテムやトリガーをすばやく識別したり、収集されたデータを検索したりできます。
たとえば、このチュートリアルに適したタグは component: web-scenario および/または target: frontend です。
Webシナリオのステップを設定する
Stepsタブに切り替え、シナリオのステップを定義します。個々のステップを追加するには、Addボタンをクリックします。
共通フィールド
以下で説明する各ステップでは、ステップ固有のフィールドに加えて、次のフィールドを入力します。
- URL - Zabbix WebインターフェースのURL
- Timeout - 15s
- Required status codes - 200
Webシナリオのステップ1
最初のページが正しく応答し、HTTPレスポンスコード200を返し、テキスト「Zabbix SIA」を含んでいることを確認します。
- Nameフィールドに、First pageと入力します。
- Required stringフィールドに、Zabbix SIAと入力します。
- 共通フィールドを入力します。
ステップの設定が完了したら、Addボタンを押します。

Webシナリオのステップ2
シナリオレベルで定義したマクロ(変数)-{user} および {password} を使用して、ZabbixのWebインターフェースにログインします。
- Name フィールドに Login と入力します。
- Post fields セクションで、3つのpostフィールドを追加します。
- name に値 {user}
- password に値 {password}
- enter に値 Sign in
- Variables セクションで、新しい変数 {csrf_token} を値 regex:([0-9a-z]{64}) で追加します。 この変数は、割り当てられたCSRFトークンの値を取得し、ステップ4 で再利用するためのものです。
- 共通フィールド を入力します。

ZabbixのWebインターフェースでは、ログイン時にJavaScriptによるリダイレクトが使用されるため、まずログインを実行する必要があり、ログイン後の機能は後続のステップでのみ確認できます。さらに、ログインステップでは index.php ファイルへの完全なURLを使用する必要があります。
Webシナリオのステップ3
ログイン後、ログイン時にのみ表示される文字列(たとえば Administration)を確認して、成功を検証します。
- Name フィールドに、Login check と入力します。
- Required string フィールドに、Administration と入力します。
- 共通フィールド を入力します。

Webシナリオのステップ4
Webインターフェースへのアクセス性とログインが確認できたら、ログアウトのステップを追加します。追加しない場合、Zabbixデータベースに未終了のセッションレコードが多数蓄積されます。
- Name フィールドに Logout と入力します。
- Post fields セクションで、2つのPOSTフィールドを追加します。
- reconnect に値 1 を設定します。
- _csrf_token に値 {csrf_token} を設定します。
- 共通フィールド を入力します。
このステップでは、ステップ2 で取得した変数 {csrf_token} を使用します。

Webシナリオのステップ5
ログアウトを確認するには、Username 文字列を確認します。
- Name フィールドに、Logout check と入力します。
- Required string フィールドに、Username と入力します。
- 共通フィールド を入力します。

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

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

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