Zabbix Documentation 2.2

3.04.04.45.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


Sidebar

manual:concepts:sender

This is an old revision of the document!


6 Sender

Overview

Zabbix sender is a command line utility that may be used to send performance data to Zabbix server for processing.

The utility is usually used in long running user scripts for periodical sending of availability and performance data.

Sending one value

An example of sending a value to Zabbix server using Zabbix sender:

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

where:

  • z - Zabbix server host (IP address can be used as well)
  • s - monitored host name (as registered in Zabbix frontend)
  • k - item key
  • o - value to send
If objects have whitespaces, these objects must be quoted using double quotes.

See Zabbix sender manpage for more information.

Zabbix sender accepts strings in UTF-8 encoding (for both UNIX-like systems and Windows).

Zabbix sender on Windows can be run similarly:

zabbix_sender.exe [options]

Since Zabbix 1.8.4, zabbix_sender realtime sending scenarios have been improved to gather multiple values passed to it in close succession and send them to the server in a single connection. A value that is not further apart from the previous value than 0.2 seconds can be put in the same stack, but maximum pooling time still is 1 second.

Sending many values

It is possible to specify an input file containing the values to be sent to Zabbix server. See option --input-file in Zabbix sender manpage on how to properly format the file.

An example contents of the file:

"Linux DB1" db.ping 1
"Linux DB3" db.ping 0
"Zabbix server" db.status 0
"Zabbix server" db.error "Linux DB3 down"

Zabbix sender will batch the values specified in the input file at 250 values in one go (all values will be processed), for example:

# 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

All entries from an input file are sent in a sequential order top-down.

It is possible to specify the timestamp of each value that are to be sent. Use option --with-timestamps in that case. Here is an example of the input file 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"

If the target item has triggers referencing it, all timestamps in an input file must be in an increasing order, otherwise event calculation will not be correct.

Zabbix sender will terminate if invalid (not following parameter=value notation) parameter entry is present in specified configuration file.