预处理测试
测试
测试预处理步骤有助于确保复杂的预处理流水线能够产生预期结果,而无需等待监控项值被接收并完成预处理。

可以测试:
- 针对一个假设值
- 针对来自主机的真实值
每个预处理步骤都可以单独测试,也可以将所有步骤一起测试。当你在 Actions 区块中分别点击 Test 或 Test all steps 按钮时,会打开一个测试窗口。
测试假设值

| Parameter | Description |
|---|---|
| Get value from host | 如果要测试假设值,请不要勾选此复选框。 另请参见:测试真实值。 |
| Value | 输入要测试的输入值。 单击参数字段或查看/编辑按钮 将打开一个文本区域窗口,用于输入值或代码块。 |
| Not supported | 勾选此复选框以测试不受支持的值。 此选项适用于测试 Check for not supported value 预处理步骤。 |
| Error | 输入错误文本。 当未勾选 Get value from host,但已勾选 Not supported 时,此字段可用。 如果勾选了 Get value from host,则此字段会填入来自主机的实际错误消息(只读)。 |
| Time | 显示输入值的时间:now(只读)。 |
| Previous value | 输入要比较的上一个输入值。 仅适用于 Change 和 Throttling 预处理步骤。 |
| Previous time | 输入要比较的上一个输入值时间。 仅适用于 Change 和 Throttling 预处理步骤。 默认值基于监控项的 'Update interval' 字段值(如果为 '1m',则此字段填充为 now-1m)。如果未指定任何内容,或者用户无权访问主机,则默认值为 now-30s。 |
| Macros | 如果使用了任何宏,它们会连同其值一起列出。为便于测试,这些值可以编辑,但更改只会保存在测试上下文中。 |
| End of line sequence | 为多行输入值选择行尾序列: LF - LF(换行)序列 CRLF - CRLF(回车换行)序列。 |
| Preprocessing steps | 会列出预处理步骤;点击 Test 按钮后,会显示每个步骤的测试结果。 测试结果在发送到前端时会被截断,最大大小为 512KB。测试结果可以复制(不超过截断后的 512KB)。如果结果被截断,会显示警告图标。将鼠标悬停在警告上会显示说明。请注意,超过 512KB 的数据仍会由 Zabbix 服务器完整处理。 如果某个步骤在测试中失败,会显示错误图标。将鼠标悬停在错误上会显示说明。 如果为该步骤指定了 "Custom on fail" 且执行了该操作,则会在预处理测试步骤行的下一行显示一条新记录,说明执行了什么操作以及产生了什么结果(错误或值)。 |
| Result | 当所有步骤一起测试时(即单击 Test all steps 按钮),无论何种情况,都会显示预处理步骤测试的最终结果。 还会显示转换为监控项值类型的类型转换结果,例如 Result converted to Numeric (unsigned)。测试结果在发送到前端时会被截断,最大大小为 512KB。最终结果可以复制(不超过截断后的 512KB)。如果结果被截断,会显示警告图标。将鼠标悬停在警告上会显示说明。请注意,超过 512KB 的数据仍会由 Zabbix 服务器完整处理。 |
单击 Test 可查看每个预处理步骤后的结果。
测试值会在单个步骤或所有步骤的测试会话之间保存,方便用户更改预处理步骤或监控项配置后返回测试窗口,而无需重新输入信息。不过,刷新页面后这些值会丢失。
测试由 Zabbix 服务器执行。前端向服务器发送相应请求并等待结果。请求包含输入值和预处理步骤(已展开用户宏)。对于 Change 和 Throttling 步骤,可以指定可选的上一个值和时间。服务器会返回每个预处理步骤的结果。
所有技术错误或输入验证错误都会显示在测试窗口顶部的错误框中。
测试真实值
要针对真实值测试预处理:
- 勾选 从主机获取值 复选框
- 输入或确认主机参数(主机地址、端口、proxy 名称/无
proxy)以及监控项特定的详细信息(例如 SNMPv2 团体名或 SNMPv3
安全凭据)。这些字段具有上下文感知能力:
- 在可能的情况下,字段会预填充,例如,对于需要 agent 的监控项,会从主机选定的 agent 接口中获取信息
- 对于模板监控项,必须手动填写这些值
- 纯文本宏值会被解析
- 如果字段值(或值的一部分)是机密信息或 Vault 宏,字段将为空,必须手动填写。如果任何 监控项参数包含机密宏值,则会显示以下警告消息:"监控项包含带有机密值的用户定义宏。这些宏的值应手动输入。"
- 当监控项类型的上下文不需要这些字段时,字段将被禁用(例如,对于计算型监控项,主机地址和 proxy 字段会被禁用)
- 点击 获取值并测试 以测试预处理

如果你在监控项配置表单中指定了值映射(显示值字段),监控项测试对话框将在最终结果之后显示另一行,名称为 应用值映射后的结果。
从主机获取真实值时特有的参数:
| 参数 | 描述 |
|---|---|
| 从主机获取值 | 勾选此复选框以从主机获取真实值。 |
| 主机地址 | 输入主机地址。 此字段会自动填充监控项主机接口的地址。 |
| 端口 | 输入主机端口。 此字段会自动填充监控项主机接口的端口。 |
| SNMP 接口的其他字段 (SNMP 版本、SNMP 团体名、上下文名称等) |
有关配置 SNMP 接口(v1、v2 和 v3)的更多详细信息,请参阅配置 SNMP 监控。 这些字段会自动从监控项主机接口中填充。 |
| Proxy | 如果主机由 proxy 监控,请指定 proxy。 此字段会自动填充主机的 proxy(如果有)。 |
| 值 | 从主机获取的值。 点击参数字段或查看/编辑按钮 将打开值或代码块的文本区域窗口。值会被截断为最大 512KB,且仅在前端中执行。如果结果被截断,则会显示警告图标。将鼠标悬停在警告图标上时会显示警告描述。请注意,超过 512KB 的数据仍会由 Zabbix 服务器完整处理。 |
有关其余参数,请参阅上面的测试假设值。
将打开一个文本区域窗口,用于输入值或代码块。