2 実際のシナリオ

概要

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

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

シナリオ

新しいWebシナリオを追加する

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

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

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

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

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

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

設定が完了すると、このWebシナリオは自動的にZabbixトラッパーアイテムをホストに追加します。
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フィールドを追加します。
    • {user}name
    • {password}password
    • Sign inenter
  • Variables セクションで、値 regex:([0-9a-z]{64}) の新しい変数 {csrf_token} を追加します。 この変数は、ステップ4 で再利用するために、割り当てられたCSRFトークンの値を取得します。
  • 共通フィールド を入力します。

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フィールドを追加します。
    • 1reconnect
    • {csrf_token}_csrf_token
  • 共通フィールド を入力します。

このステップでは、ステップ2 で取得した変数 {csrf_token} を使用します。

Webシナリオのステップ5

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

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

ステップの完全な設定

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

結果を確認する

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

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

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