[comment]: # aside: 6

[comment]: # ({fc314e3a-43ef458c})
# 发送器

[comment]: # ({/fc314e3a-43ef458c})

[comment]: # ({e1002580-836aa47c})
### 概述

Zabbix sender 是一个命令行工具，可用于向 Zabbix 服务器发送性能数据以供处理。

该工具通常用于长时间运行的用户脚本中，定期发送可用性和性能数据。

若要直接向 Zabbix 服务器或 proxy 发送结果，必须配置 [*Zabbix trapper*](/manual/config/items/itemtypes/trapper) 监控项类型。

另请参阅 [Zabbix 的 Python 库](/devel/python)，其中内置了可充当 Zabbix sender 的功能。

[comment]: # ({/e1002580-836aa47c})

[comment]: # ({74b1edf3-fce06a66})
### 运行 Zabbix sender

运行 Zabbix UNIX sender 的示例：

    cd bin
    ./zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43

其中：

-   `z` - Zabbix 服务器主机（也可以使用 IP 地址）；
-   `s` - 被监控主机的技术名称（在 Zabbix 前端中注册时使用的名称）；
-   `k` - 监控项键值；
-   `o` - 要发送的值。

::: noteimportant
包含空白字符的选项必须使用双引号括起来。
:::

Zabbix sender 可用于从输入文件发送多个值。
有关更多信息，请参见 [Zabbix sender manpage](/manpages/zabbix_sender)。

如果指定了配置文件，Zabbix sender 会使用 agent `ServerActive` 配置参数中定义的所有地址来发送数据。
如果向某个地址发送失败，sender 会尝试向其他地址发送。
如果向某个地址发送批量数据失败，后续批次将不会发送到该地址。

Zabbix sender 接受 UTF-8 编码的字符串（适用于类 Unix 系统和 Windows），且文件开头不能有字节顺序标记（BOM）。

Windows 上的 Zabbix sender 也可以类似地运行：

    zabbix_sender.exe [options]

`zabbix_sender` 的实时发送场景会收集在短时间内传递给它的多个值，并通过单个连接将它们发送到服务器。
与前一个值相隔不超过 0.2 秒的值可以放入同一堆栈中，但最大轮询时间仍为 1 秒。

::: noteclassic
如果指定的配置文件中存在无效的参数项（不符合 `parameter=value` 语法），Zabbix sender 将终止。
:::

[comment]: # ({/74b1edf3-fce06a66})

[comment]: # ({0eb4adc0-db62e674})
### 使用 Zabbix sender 进行低级别发现

以下是使用 Zabbix sender 发送 JSON 格式值以进行低级别发现的示例：

    ./zabbix_sender -z 192.168.1.113 -s "Zabbix 服务器" -k trapper.discovery.item -o '[{"{#FSNAME}":"/","{#FSTYPE}":"rootfs"},{"{#FSNAME}":"/sys","{#FSTYPE}":"sysfs"}]'

要使其生效，低级别发现规则必须使用 *Zabbix trapper* 监控项类型（在此示例中，使用 `trapper.discovery.item` 键）。

[comment]: # ({/0eb4adc0-db62e674})
