6 Sender

概述

Zabbix sender 是一个命令行工具,可用于将性能数据发送到 Zabbix 服务器进行处理。

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

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

另请参见 Zabbix 的 Python 库,其内置了类似 Zabbix sender 的功能。

运行 Zabbix sender

一个运行 Zabbix UNIX sender 的例子:

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

其中:

  • z - Zabbix server 主机(域名或者IP地址)
  • s - 被监控的主机名(与Zabbix前端主机名对应)
  • k - 监控项键
  • o - 发送的值

包含空格的选项必须使用双引号引用。

Zabbix sender 可通过从输入文件发送多个值。 详见 Zabbix sender manpage

如果指定了配置文件,Zabbix sender将使用agent ServerActive配置参数中定义的所有地址发送数据。如果发送到一个地址失败,发件人将尝试发送到其他地址。如果将批数据发送到一个地址失败,则以下批不会发送到此地址。

Zabbix sender 接受 UTF-8 编码的字符串(对于类 UNIX 系统和 Windows ),且在文件中没有字节顺序标记(BOM)。

Zabbix sender 同样可以在 Windows 上运行:

zabbix_sender.exe [options]

zabbix_sender 实时发送方案已得到改进,可以连续接收多个传递给它的值,并通过单个连接将它们发送到 Zabbix Server。 两个不超过0.2秒的值可以放在同一堆栈中,但最大 polling 时间仍然是1秒。

Zabbix sender 如果指定的配置文件中存在无效(不遵循 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)。