这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

2 真实场景

概述

本节提供了一个循序渐进的真实例子,向用户说明如何可以使用web监控。

用户可以使用Zabbix web监控来监控Zabbix的网络界面。通过该功能,用户可以知晓该功能是否可用,是否提供正确的内容以及该功能是如何快速应用的。要做到这一点,用户必须使用用户名和密码完成登陆操作。

场景

步骤一

添加新的web场景。

我们将添加一个场景来监控Zabbix的web界面。该场景将通过多个步骤完成。

转到Data collection → Hosts(数据采集→主机),选择一个主机,然后单击主机目标行中的Web。然后单击“Create web scenario”(创建web场景)。

所有必填输入字段都用红色星号标记。

在新的场景形式中,我们将场景命名为Zabbix frontend。我们还将创建两个变量:{user}和{password}。

用户也可能还想在标签选项卡中添加一个新的Application:Zabbix frontend标签。

步骤二

定义场景的步骤。

单击Steps (步骤)选项卡中的Add (添加)按钮以添加单一步骤。

Web scenario step 1

我们首先检查第一个页面是否正确响应,返回HTTP响应代码200,并包含文本“Zabbix SIA”。

配置完上述步骤后,单击Add(添加)。

Web scenario step 2

我们继续登录Zabbix前端,并通过重用我们在场景级别定义的宏(变量)- 通过{user}和{password}来实现这一点。

请注意,Zabbix前端在登录时使用JavaScript重定向,因此首先我们必须完成登录,只有在下一步的步骤中,我们才能检查登录的功能。此外,登录步骤必须使用index.php文件的完整URL。

还请注意我们是如何使用正则表达式的变量语法来获取{sid} 变量(session ID)的内容的:regex:name=“csrf token”content=“([0-9a-z]{16})”。在步骤4中将需要此变量。

Web scenario step 3

完成登录后,我们现在应该验证登陆状态。为此,我们检查一个仅在登录后才可见的管理功能,例如Administration(管理)。

Web scenario step 4

既然我们已经验证了前端是可访问的并且我们可以登录和检索登录的内容,我们也可以登出——否则Zabbix数据库将被大量登陆会话记录干扰。

Web scenario step 5

我们还可以通过查找Username(用户名)字符串来检查是否已注销。

Complete configuration of steps(步骤的完整配置)

web场景步骤的完整配置应如下所示:

Common fields

For each step described below, fill out the following fields in addition to the step-specific fields:

  • URL - the URL of Zabbix frontend
  • Timeout - 15s
  • Required status codes - 200
Web scenario step 1

Check that the first page responds correctly, returns HTTP response code 200 and contains the text "Zabbix SIA".

  • In the Name field, enter First page.
  • In the Required string field, enter Zabbix SIA.
  • Fill out the common fields.

When done configuring the step, press the Add button.

Web scenario step 2

Log in to the Zabbix frontend using the macros (variables) defined at the scenario level - {user} and {password}.

  • In the Name field, enter Login.
  • In the Post fields section, add three post fields:
    • name with value {user}
    • password with value {password}
    • enter with value Sign in
  • In the Variables section, add a new variable {csrf_token} with value regex:([0-9a-z]{64}). This variable will catch the value of the assigned CSRF token to reuse in step 4.
  • Fill out the common fields.

Note that Zabbix frontend uses JavaScript redirect when logging in, so login must occur first, and logged-in features can be checked only in further steps. Additionally, the login step must use the full URL to index.php file.

Web scenario step 3

After logging in, verify success by checking for a string visible only when logged in - for example, Administration.

  • In the Name field, enter Login check.
  • In the Required string field, enter Administration.
  • Fill out the common fields.

Web scenario step 4

Once the frontend's accessibility and login have been verified, add a logout step - otherwise the Zabbix database will become cluttered with many open session records.

  • In the Name field, enter Logout.
  • In the Post fields section, add two post fields:
    • reconnect with value 1
    • _csrf_token with value {csrf_token}.
  • Fill out the common fields.

This step uses the variable {csrf_token} obtained in step 2

Web scenario step 5

To confirm the logout, check for the Username string.

  • In the Name field, enter First page.
  • In the Required string field, enter Username.
  • Fill out the common fields.

Full configuration of steps

A complete configuration of web scenario steps should look like this:

步骤 3

保存完成的 Web 监控场景。

该场景将被添加到主机。要查看 Web 场景信息,请转到 Monitoring(监控中) → Hosts(主机),在列表中找到主机,然后单击最后一列中的 Web 超链接。

点击场景名称可查看更详细的统计信息: