2 実際のシナリオ

概要

このセクションでは、Web監視をどのように使用できるかについて、実際のステップバイステップの例を示します。

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

シナリオ

新しい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フロントエンドのURL
  • Timeout - 15秒
  • 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 field を追加します。
    • 値が {user}name
    • 値が {password}password
    • 値が Sign inenter
  • 共通フィールド を入力します。
  • Follow redirects チェックボックスを選択します。

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

Webシナリオステップ 3

ログイン後、ログイン時にのみ表示される文字列を確認して成功を検証します。たとえば、Administration です。

  • Name フィールドに Login check と入力します。
  • URL フィールドに、ユーザーがログイン後にリダイレクトされるURLを入力します(例: http://127.0.0.1/zabbix.php?action=dashboard.view)。
  • Required string フィールドに Administration と入力します。
  • Variables セクションで、名前と値のペア {csrf_token}: regex:([0-9a-z]{64}) を追加します。 この変数は、割り当てられたCSRFトークンの値を取得し、webシナリオステップ 4 で再利用します。
  • 共通フィールド を入力します。

Webシナリオのステップ 4

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

  • Name フィールドに Logout と入力します。
  • Post fields セクションで、次の2つの post field を追加します。
    • 値が 1reconnect
    • 値が {csrf_token}_csrf_token
  • 共通フィールドを入力します。
  • Follow redirects チェックボックスを選択します。

このステップでは、Webシナリオのステップ 3 で取得した変数 {csrf_token} を使用します。

Webシナリオステップ5

ログアウトを確認するために、Username 文字列をチェックします。

  • 名前 フィールドに Logout check を入力します。
  • 必須文字列 フィールドに Username を入力します。
  • 共通フィールドを入力します。

ステップの完全な設定

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

結果を確認する

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

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

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