6 发送器

概述

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

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

若需直接将结果发送至 Zabbix server 或 proxy,必须配置一个 trapper item 类型。

另请参阅 zabbix_utils —— 一个内置类似 Zabbix sender 功能的 Python 库。

运行 Zabbix sender

Zabbix UNIX 发送器运行示例:

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

其中:

  • z - Zabbix server 主机(也可以使用IP地址)
  • s - 被监控的主机的技术名称(如在Zabbix前端注册的一样)
  • k - 监控项 键
  • o - 要发送的值

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

Zabbix 发送器可用于从输入文件发送多个值。 更多信息请参见Zabbix sender manpage

如果指定了配置file,Zabbix 发送器将使用agent ServerActive配置参数中定义的所有地址发送数据。如果发送到一个地址失败,发送器会尝试发送到其他地址。如果批量数据发送到一个地址失败,则后续的批量数据将不再发送到该地址。

Zabbix 发送器接受使用UTF-8编码(适用于UNIX-like系统和Windows)的字符串,且文件开头不带字节顺序标记(BOM)。

Windows上的Zabbix 发送器可以类似地run:

zabbix_sender.exe [options]

Zabbix 发送器的实时发送场景会收集连续传入的多个值,并通过单个连接发送到服务器。如果一个值与前一个值的时间间隔不超过0.2秒,则可以放在同一个堆栈中,但最大轮询时间仍然是1秒。

如果在指定的配置文件中存在无效(不遵循parameter=value表示法)的参数条目,Zabbix 发送器将终止。

使用低级发现的Zabbix sender

运行 Zabbix sender 的示例,用于发送用于低级别自动发现的 JSON 格式值:

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

要使此功能正常工作,低级别自动发现规则必须具有 Zabbix trapper 监控项 类型(在此示例中,使用 trapper.discovery.item 键)。