6. Sender

Обзор

Zabbix sender — это утилита командной строки, которую можно использовать для отправки данных о производительности Zabbix серверу для их последующей обработки.

Обычно эта утилита используется долго выполняемыми пользовательскими скриптами для периодичной отправки данных о доступности и производительности.

Чтобы отправлять результаты напрямую на Zabbix сервер или прокси, необходимо задать тип элемента данных траппер.

Смотрите также zabbix_utils [en] — библиотека Python, имеющая встроенный функционал для действий, аналогичных утилите Zabbix sender.

Выполнение 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 использует все адреса, которые указаны в параметре ServerActive конфигурации агента. Если отправка на один адрес завершится ошибкой, sender попытается отправить на другие адреса. Если отправка партии данных на один из адресов завершается ошибкой, тогда следующие партии данных отправляться на этот адрес не будут.

Zabbix sender принимает строки в кодировке UTF-8 (как в UNIX-подобных системах, так и в Windows) без начального маркера последовательности байтов (BOM) в файле.

Zabbix sender в Windows можно выполнить аналогичным образом:

zabbix_sender.exe [опции]

Начиная с версии Zabbix 1.8.4, утилита zabbix_sender была улучшена в плане отправки данных в реальном времени. Имеется ввиду, что несколько значений, полученных за короткий промежуток времени, будут накапливаться во временном стеке и затем будет отправляться серверу за одно соединение. Данные, пришедшие через менее, чем 0.2 сек с момента получения предыдущего значения, накапливаются в одном стеке, но максимальное время их накопления до отправки — всё же 1 секунда.

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).