[comment]: # ({e8992262-e8992262})
# 9 值映射

[comment]: # ({/e8992262-e8992262})

[comment]: # ({7b2ff6a2-2d2da55e})
#### 概述

值映射允许通过配置数值/string值与string表示形式之间的映射关系，为接收到的值提供更用户友好的展示方式。

例如，当监控项的值为"0"或"1"时，可以使用值映射以更直观的方式呈现这些值：

-   0 → 不可用
-   1 → 可用

数据备份类型的值映射可配置如下：

-   F → 完全备份
-   D → 差异备份
-   I → 增量备份

电压值范围可配置如下：

-   \<=209 → 低电压
-   210-230 → 正常
-   \>=231 → 高电压

值映射功能应用于Zabbix前端及通过媒介类型发送的通知中。

::: noteimportant
接收值的替换操作会在Zabbix前端和服务器端同时执行；
但服务器仅在以下情况下处理替换操作：<br><br>

- 填充[资产清单概览](/manual/config/hosts/inventory#资产清单概览)时；
- 展开[supported macros](/manual/appendix/macros/supported_by_location)中的{ITEM.VALUE}、{ITEM.LASTVALUE}和{EVENT.OPDATA}时。

:::

值映射配置在模板或主机上。
配置完成后，该模板或主机下的所有监控项均可使用这些映射。
当[配置](/manual/config/items/item#配置)时，需在*值映射*参数中指定预先配置的值映射名称。

::: noteclassic
值映射不支持继承 - 主机和模板不会从关联模板继承值映射。
一个主机上的模板监控项将继续使用模板上配置的值映射。

:::

::: noteclassic
值映射可用于信息类型为*数值（无符号）*、*数值（float）*和*字符型*的监控项。

:::

值映射会随所属模板或主机一起导出/导入。
也可通过[host](/manual/config/hosts/hostupdate)和[template](/manual/config/templates/mass)批量update表单进行批量更新。

[comment]: # ({/7b2ff6a2-2d2da55e})

[comment]: # ({158cd610-18d7ef55})
#### 配置

配置值映射的步骤如下：

1\. 打开 主机 或模板配置表单。

2\. 在*值映射*标签页中，点击*添加*以新增值映射，或点击现有映射名称进行编辑。

![](../../../../assets/en/manual/config/items/value_mapping.png)

值映射的参数：

| 参数 | <   | 描述 |
|-|----------|----------------------------------------|
| *Name* | <   | 值映射集的唯一名称。 |
| *Mappings* | <   | 将数字/string值映射到string表示的单独规则。<br><br>映射按可拖拽重新排序的规则顺序应用。 |
|           | *类型* | 映射类型：<br>**等于** - 相等的值将被映射；<br>**大于或等于** - 相等或更大的值将被映射；<br>**小于或等于** - 相等或更小的值将被映射；<br>**范围内** - 范围内的值将被映射；范围表示为<数字1>-<数字2>或<数字>；支持多个范围（例如1-10,101-110,201）；<br>**正则表达式** - 符合[regular expression](/manual/regular_expressions)的值将被映射（不支持全局正则表达式）；<br>**默认** - 除具有特定映射的值外，所有未处理的值将被映射。<br><br>对于范围映射，仅支持数字值类型（*大于或等于*、*小于或等于*、*范围内*）。 |
| ^ | *值* | 输入值（可能包含范围或正则表达式，取决于映射类型）。 |
| ^ | *映射到* | 输入值的string表示（最多64个字符）。 |

所有必填输入字段均标有红色星号。

在列表中查看值映射时，仅显示前三个映射，三个点表示存在更多映射。

![](../../../../assets/en/manual/config/items/value_map_list.png)

[comment]: # ({/158cd610-18d7ef55})

[comment]: # ({74c7cb6d-6241051d})
#### 值映射示例

预定义的agent 监控项 *Zabbix agent ping* 使用了模板级值映射"Zabbix agent ping状态"来显示其值.

![](../../../../assets/en/manual/config/items/value_mapping2.png)

在监控项 [配置](/manual/config/items/item#配置)中, 您可以在*值映射*字段找到对此值映射的引用:

![](../../../../assets/en/manual/config/items/item_value_mapping.png)

该映射用于*监控*→*最新数据*部分, 以显示"Up"(括号内为原始值).

![](../../../../assets/en/manual/config/items/value_display.png){width="600"}

::: noteclassic
在*最新数据*部分, 显示值会被缩短为20个字符.
如果使用了值映射, 这种缩短仅适用于原始值(显示在括号中), 而不适用于映射后的值.

:::

如果没有预定义的值映射, 您将只能看到"1", 这可能难以理解.

![](../../../../assets/en/manual/config/items/value_display2.png){width="600"}

[comment]: # ({/74c7cb6d-6241051d})
