6 发送器

概述

Zabbix sender 是一个命令行实用程序,可用于将性能数据发送到 Zabbix 服务器或 proxy 进行处理。

该实用程序通常用于长时间运行的用户脚本,以定期发送可用性和性能数据。

要将结果直接发送到 Zabbix 服务器或 proxy,必须配置 Zabbix trapper 监控项类型。

另请参阅具有内置 Zabbix sender 功能的 Zabbix Python 库。

运行 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 - 要发送的值。

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

Zabbix sender 可用于从输入文件发送多个值。 有关更多信息,请参见 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 秒。

如果指定的配置文件中存在无效的参数条目(不符合 parameter=value 记法),Zabbix sender 将终止。

使用 Zabbix sender 进行低级别发现

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

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

要使其生效,低级别发现规则必须使用 Zabbix trapper 监控项类型(在本例中,使用 trapper.discovery.item 键)。