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

可以测试:
- 针对一个假设值
- 针对来自主机的真实值
每个预处理步骤都可以单独测试,也可以将所有步骤一起测试。当你在 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 community 或 SNMPv3 安全凭据)。这些字段具有上下文感知能力:
- 在可能的情况下会预填充值,即对于需要 agent 的监控项,会从主机所选的 agent 接口获取信息
- 模板监控项必须手动填写这些值
- 会解析纯文本宏值
- 如果字段值(或部分值)是密文或 Vault 宏,则该字段将为空,必须手动填写。如果任何监控项参数包含密文宏值,则会显示以下警告信息:"Item contains user-defined macros with secret values. Values of these macros should be entered manually."
- 当在监控项类型的上下文中不需要某些字段时,这些字段会被禁用(例如,对于计算型监控项,主机地址和 proxy 字段会被禁用)
- 单击 获取值并测试 以测试预处理

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