Zabbix sender - это утилита командной строки, которая может быть использована для отправки данных о производительности Zabbix серверу для последующей их обработки.
Обычно эта утилита используется в долго выполняемых пользовательских скриптах для периодичной отправки данных о доступности и производительности.
Пример отправки одного значения на Zabbix сервер используя Zabbix sender:
где:
Если объекты содержат пробелы, то эти объекты должны быть заключены в двойные кавычки.
Zabbix sender можно использовать для отправки нескольких значений из файла. Обратитесь к странице помощи Zabbix sender для получения более подробной информации.
Zabbix sender принимает строки в UTF-8 кодировке (как в UNIX-подобных системах, так и в Windows) без изначального маркера последовательности байтов (BOM) в файле.
Zabbix sender в Windows можно выполнить тем же самым способом:
Начиная с версии Zabbix 1.8.4 утилита Zabbix_sender была улучшена в плане отправки данных в реальном времени. Имеется ввиду, что большое количество значений, полученное за короткий промежуток времени, будут накапливаться во временном стеке и затем будет отправлено серверу за одно соединение. Данные, пришедшие через менее, чем 0,2 сек после предыдущего значения накапливаются в одном стеке, но максимальное время их накопления до отправки все же 1 секунда.
Имеется возможность указать входящий файл, который содержит значения к отправки на Zabbix сервер. Смотрите опцию --input-file на странице помощи Zabbix sender о том, как правильно формировать файл.
Если вам не требуется указывать штампы времени для каждого значения, ниже представлен пример содержимого входящего файла для такой ситуации:
"Linux DB1" db.ping 1
"Linux DB3" db.ping 0
"Zabbix server" db.status 0
"Zabbix server" db.error "Linux DB3 down"
Имеется возможность указать штамп времени для каждого отправляемого значения. В этом случае используйте опцию --with-timestamps. Ниже представлен пример входящего файла со штампами времени:
"Linux DB1" db.ping 1429533600 1
"Linux DB3" db.ping 1429533602 0
"Zabbix server" db.status 1429533603 0
"Zabbix server" db.error 1429533603 "Linux DB3 down"
Если целевой элемент данных имеет триггеры, которые ссылаются на этот элемент данных, все штампы времени во входящем файле должны быть отсортированы в порядке возрастания, в противном случае вычисление событий будет некорректным.
Штампы времени, указанные во входящем файле, будут скорректированы для совпадения со временем сервера. Например, если указан штамп времени равный "10:30:50", текущим временем на машине Zabbix sender является "10:40:03", и текущим временем на машине Zabbix сервера является "10:40:05", тогда значение элемента данных будет записано в базу данных со штампом времени равным "10:30:52".
Аналогично в случае, если значение сначала отправляется на Zabbix прокси, затем отправляется на Zabbix сервер, то штамп времени будет скорректирован сначала для совпадения со временем на Zabbix прокси, и затем будет скорректирован для совпадения со временем на Zabbix сервере.
Страница помощи по Zabbix sender содержит правила как правильно форматировать записи во входящем файле в разделе --input-file. Ниже представлены примеры того, как значения будут сохранены в базе данных при использовании различных методов заключения в кавычки:
значение во входящем файле | результат в базе данных | сообщение об ошибке на экране |
failed | failed | |
"status: failed" | status: failed | |
"status: \"failed\"" | status: "failed" | |
"C:\\" | C: |
|
C: |
C: |
|
"C:\" | Warning: [line 1] 'Key value' required | |
"C:\My Documents" | C:\My Documents | |
status:\nfailed | status:\nfailed | |
"status:\tfailed" | status:\tfailed | |
"status:\nfailed" | status: failed |
|
"status:\nfailed\n" | status: failed |
|
"\nstatus:\nfailed" | status: failed |
|
"\n\n" |
Ниже представлен пример отправки 300 значений из входящего файла:
# zabbix_sender -z 127.0.0.1 -i /tmp/trapper.txt
Info from server: "Processed 250 Failed 0 Total 250 Seconds spent 0.002668"
Info from server: "Processed 50 Failed 0 Total 50 Seconds spent 0.000540"
sent: 300; skipped: 0; total: 300
Zabbix sender завершится, если в файле конфигурации имеется ошибочный (не соответствующий определению параметр=значение) параметр.