五、zabbix之web监控
1. Web监控项
1.1 场景监控项
创建场景后,Zabbix 会自动添加以下监控项用以监控,并将它们链接到所选的应用上;
监控项 | 描述 |
---|---|
场景的下载速度 | 此监控项将收集有关整个场景的下载速度(每秒字节数)的信息,即所有步骤的平均值,监控项key: web.test.in[Scenario,,bps] 类型:数值型(浮点数) |
场景的失败步骤 | 此监控项将显示场景上失败步骤的编号。如果所有步骤成功执行,则返回0。监控项key: web.test.fail[Scenario] 类型:数值型(无符号) |
场景的最近错误消息 | 此监控项返回场景的最近一个错误消息文本。仅当场景具有失败步骤时,才会存储新值。如果所有步骤都正常,则不会收集新值。监控项key: web.test.error[Scenario] 类型:字符型 |
将使用实际场景名称代替“Scenario”。
注意: 添加的Web监控项将保留30天历史记录和90天趋势记录。
注意: 如果场景名称以双引号开头或包含逗号或方括号,则它将在监控项key中正确引用。在其他情况下,不会执行额外的引用
这些监控项可用于创建触发器和定义通知条件。
例子1
要创建“Web 场景失败”触发器,可以定义触发器表达式:
{host:web.test.fail[Scenario].last()}<>0
确保将“Scenario”替换为场景的真实名称。
例子2
要创建一个“Web场景失败”触发器,并在触发器名称中提供有用的问题描述,可以定义一个名称为:
Web scenario "Scenario" failed: {ITEM.VALUE}
和触发器表达式:
{host:web.test.error[Scenario].strlen()}>0 and {host:web.test.fail[Scenario].min()}>0
确保将“Scenario”替换为场景的真实名称
例子3
要创建“Web应用运行慢”触发器,可以定义一个触发器表达式:
{host:web.test.in[Scenario,,bps].last()}<10000
确保将“Scenario”替换为场景的真实名称。
1.2 场景步骤监控项
监控项 | 描述 |
---|---|
场景 |
此监控项将收集关于步骤的下载速度(字节每秒)的信息。监控项key: web.test.in[Scenario,Step,bps] 类型:数值型(浮点数) |
场景 |
此监控项将收集有关步骤响应时间的信息(以秒为单位)。响应时间从请求开始计时,直到所有信息传输完毕。监控项key: web.test.time[Scenario,Step,resp] 类型:数值型(浮点数) |
场景 |
此监控项将收集步骤的响应代码。监控项key: web.test.rspcode[Scenario,Step] 类型:数值型(无符号) |
将分别使用实际场景和步骤名称而不是“Scenario”和“Step”
注意:添加的Web监控项将保留30天历史记录和90天趋势记录。 如果场景名称以双引号开头或包含逗号或方括号,则它将在监控项key中正确引用。在其他情况下,不会执行额外的引用。
这些监控项可用于创建触发器和定义通知条件。例如,创建一个“Zabbix GUI登录太慢”触发器,你可以定义一个触发器表达式:
{zabbix:web.test.time[ZABBIX GUI,Login,resp].last()}>3
2. 真实场景监控
2.1 概述
我们使用Zabbix Web监控来监控Zabbix的Web界面。我们想知道它是否可用、是否正常工作以及其响应速度。为此,我们还必须使用我们的用户名和密码登录。
2.2 场景
第一步:
创建新的Web场景;我们将添加一个场景来监控Zabbix的Web界面,该场景将执行多个步骤。
点击 配置 → 主机,选择一个主机,然后在该主机行中单击 Web。 然后单击 创建Web场景。
在新的场景中,我们将场景命名为 Zabbix 前端,并为其创建一个新的 Zabbix 前端 应用。
注意,我们还需要创建两个变量:{user}和{password}。
第二步:
定义场景的步骤
单击 步骤 选项卡中的 添加 按钮添加各个步骤。
Web场景步骤 1
我们首先检查第一页响应是否正确响应,返回HTTP响应代码200,并包含文本“Zabbix SIA”。
完成配置步骤后,单击 添加
Web 场景步骤 2
我们继续登录 Zabbix 前端,并通过重用在场景级别定义的宏(变量)—{user}和{password} 来进行操作
注意,Zabbix 前端在登录时使用JavaScript重定向,因此首先我们必须登录,只有在下一步的步骤中,我们才能检查登录功能。此外,登录步骤必须使用完整的URL以获取index.php文件
{sid} 变量(会话 ID)的内容: regex:name="csrf-token" content="([0-9a-z]{16})" 步骤 4 中会使用此变量。
Web 场景步骤 3
登录后,我们现在应该验证一下是否登陆成功。为此,我们检查一个仅在登录后可见的字符串 - 例如Administration。
Web 场景步骤 4
现在我们已经验证了前端是可访问的,并且我们可以登录并检索登录的内容,我们也应该注销 - 否则Zabbix数据库将将被大量打开的会话记录占用资源;
Web 场景步骤 5
我们可以通过查找Username字符串来检查是否已经注销;
完成步骤配置
Web 场景步骤的完整配置应如下所示:
第三步:
保存配置完成的Web监控场景。
该场景将被添加到主机。要查看Web场景信息,请转至监控 → 主机,在列表中找到主机,然后单击最后一列中的Web超链接。