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


manual:concepts:sender

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:concepts:sender [2015/09/30 13:35]
dimir add more details on how to use zabbix sender with an input file
manual:concepts:sender [2017/09/14 07:35] (current)
martins-v trapper item is required to send in data with zabbix_sender
Line 6: Line 6:
  
 The utility is usually used in long running user scripts for periodical sending of availability and performance data. The utility is usually used in long running user scripts for periodical sending of availability and performance data.
 +
 +For sending results directly to Zabbix server or proxy, a [[:​manual/​config/​items/​itemtypes/​trapper|trapper item]] type must be configured.
  
 === Sending one value === === Sending one value ===
Line 16: Line 18:
  
   * z - Zabbix server host (IP address can be used as well)   * z - Zabbix server host (IP address can be used as well)
-  * s - monitored host name (as registered in Zabbix frontend)+  * s - technical name of monitored host (as registered in Zabbix frontend)
   * k - item key   * k - item key
   * o - value to send   * o - value to send
Line 22: Line 24:
 <note important>​If objects have whitespaces,​ these objects must be quoted using double quotes.</​note>​ <note important>​If objects have whitespaces,​ these objects must be quoted using double quotes.</​note>​
  
-See [[manpages:​zabbix_sender|Zabbix ​sender manpage]] ​for more information.+<note important>​Zabbix ​trapper process does not expand macros used in the item key in attempt to check corresponding item key existence ​for targeted host.</​note>​
  
-Zabbix sender ​accepts strings in UTF-8 encoding (for both UNIX-like systems and Windows).+See the [[manpages:​zabbix_sender|Zabbix sender ​manpage]] ​for more information.
  
 Zabbix sender on Windows can be run similarly: Zabbix sender on Windows can be run similarly:
Line 34: Line 36:
 === Sending many values === === Sending many values ===
  
-It is possible to specify an input file containing the values to be sent to Zabbix server. See option //<​nowiki>​--input-file</​nowiki>//​ in [[manpages:​zabbix_sender|Zabbix sender manpage]] on how to properly format the file.+It is possible to specify an input file containing the values to be sent to Zabbix server.
  
-An example contents of the file:+See the //<​nowiki>​--input-file</​nowiki>//​ option in [[manpages:​zabbix_sender|Zabbix sender manpage]] on how to properly format the file. 
 + 
 +== Without value timestamps == 
 + 
 +If you don't need to specify the timestamp of each value, here is an example contents of the input file:
  
   "Linux DB1" db.ping 1   "Linux DB1" db.ping 1
Line 43: Line 49:
   "​Zabbix server"​ db.error "Linux DB3 down"   "​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:+== With value timestamps ==
  
-  # zabbix_sender -z 127.0.0.1 -i /​tmp/​trapper.txt  +It is possible to specify the timestamp of each value that is to be sent. Use option //<​nowiki>​--with-timestamps</​nowiki>//​ in that case. Here is an example of the input file with timestamps:
-  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 //<​nowiki>​--with-timestamps</​nowiki>//​ in that case. Here is an example of the input file with timestamps:+
  
   "Linux DB1" db.ping 1429533600 1   "Linux DB1" db.ping 1429533600 1
Line 58: Line 57:
   "​Zabbix server"​ db.status 1429533603 0   "​Zabbix server"​ db.status 1429533603 0
   "​Zabbix server"​ db.error 1429533603 "Linux DB3 down"   "​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. ​ 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. ​
 +
 +<note important>​
 +The timestamps specified in the input file will be adjusted to match server time. For instance, if the timestamp specified is "​10:​30:​50",​ the current time on Zabbix sender'​s machine is "​10:​40:​03",​ and the current time on Zabbix server'​s machine is "​10:​40:​05",​ then the item's value will be stored in the database with a timestamp of "​10:​30:​52"​.
 +
 +Similarly, if a value is first sent to Zabbix proxy, which later sends it to Zabbix server, the timestamp will be first adjusted to match Zabbix proxy time, and then it will be adjusted to match Zabbix server time.
 +</​note>​
 +
 +Zabbix sender accepts strings in UTF-8 encoding (for both UNIX-like systems and Windows) without byte order mark (BOM) first in the file.
 +
 +== Quoting in the input file ==
 +
 +[[manpages:​zabbix_sender|Zabbix sender manpage]] contains the rules how to properly format the entries in the input file in //<​nowiki>​--input-file</​nowiki>//​ section. Here are the examples on how the values are stored in the database when different quoting is used:
 +
 +|**value in the input file**|**result in the database**|**error message on the screen**|
 +|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"​| | |
 +
 +== Example of the output ==
 +
 +Here is an example of sending 300 values from the input file:
 +
 +  # 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
  
 <​note>​Zabbix sender will terminate if invalid (not following //​parameter=value//​ notation) parameter entry is present in specified configuration file.</​note>​ <​note>​Zabbix sender will terminate if invalid (not following //​parameter=value//​ notation) parameter entry is present in specified configuration file.</​note>​