Zabbix Documentation 4.2

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


manual:config:items:userparameters

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:config:items:userparameters [2014/12/29 08:59]
richlv [Flexible user parameters] link to agentd page for disallowed symbols
manual:config:items:userparameters [2018/10/01 09:42] (current)
Line 1: Line 1:
-==== - #4 User parameters ====+==== 4 User parameters ====
  
 === Overview === === Overview ===
Line 15: Line 15:
 Then, when [[item|configuring an item]], enter the key to reference the command from the user parameter you want executed. Then, when [[item|configuring an item]], enter the key to reference the command from the user parameter you want executed.
  
-User parameters are commands executed by Zabbix agent. Up to 512KB of data can be returned. ​**/bin/sh** is used as a command line interpreter under UNIX operating systems. This way you can enhance ​the functionality of Zabbix agents.+User parameters are commands executed by Zabbix agent. Up to 512KB of data can be returned ​before item preprocessing stepsNote, however, that the text value that can be eventually stored in database is limited to 64KB on MySQL (see info on other databases in the [[:​manual/​config/​notifications/​action/​operation/​remote_command#​overview|table]])
  
-See a [[manual:​config:​items:​userparameters:​extending_agent|step-by-step tutorial]] on making use of user parameters.+**/bin/sh** is used as command line interpreter under UNIX operating systems. User parameters obey the agent check timeout; if timeout is reached the forked user parameter process is terminated. 
 + 
 +See also: 
 + 
 +  * [[manual:​config:​items:​userparameters:​extending_agent|Step-by-step tutorial]] on making use of user parameters 
 +  * [[manual/​appendix/​command_execution|Command execution]]
  
 == Examples of simple user parameters == == Examples of simple user parameters ==
Line 29: Line 34:
 A more complex example: A more complex example:
  
-  UserParameter=mysql.ping,​mysqladmin -uroot ping|grep -c alive+  UserParameter=mysql.ping,​mysqladmin -uroot ping | grep -c alive
  
 The agent will return '​1',​ if MySQL server is alive, '​0'​ - otherwise. The agent will return '​1',​ if MySQL server is alive, '​0'​ - otherwise.
Line 43: Line 48:
 ^Parameter^Description^ ^Parameter^Description^
 |**Key**|Unique item key. The [*] defines that this key accepts parameters within the brackets.\\ Parameters are given when configuring the item.  | |**Key**|Unique item key. The [*] defines that this key accepts parameters within the brackets.\\ Parameters are given when configuring the item.  |
-|**Command**|Command to be executed to evaluate value of the key.\\ ​Use positional references $1…$9 to refer to the respective parameter in the item key.\\ Zabbix parses the parameters enclosed in [ ] of the item key and substitutes $1,...,$9 in the command accordingly.\\ $0 will be substituted by the original command (prior to expansion of $0,...,$9) to be run.  |+|**Command**|Command to be executed to evaluate value of the key.\\ ​//For flexible user parameters only//:\\ You may use positional references $1…$9 ​in the command ​to refer to the respective parameter in the item key.\\ Zabbix parses the parameters enclosed in [ ] of the item key and substitutes $1,...,$9 in the command accordingly.\\ $0 will be substituted by the original command (prior to expansion of $0,...,$9) to be run.\\ Positional references are interpreted regardless of whether they are enclosed between double (") or single (') quotes.\\ To use positional references unaltered, specify a double dollar sign - for example, awk '​{print $$2}'. In this case ''​$$2''​ will actually turn into ''​$2''​ when executing the command.  |
  
-<​note ​tip>To use positional references unaltered, specify double dollar sign - for example, awk '​{print $$2}'. In this case ''​$$2''​ will actually turn into ''​$2''​ when executing the command.\\ \\ Note that positional ​references with the $ sign are interpreted ​by Zabbix agent regardless of whether they are enclosed between double (") or single (') quotes.</​note>​+<​note ​important>Positional ​references with the $ sign are searched for and replaced ​by Zabbix agent only for flexible user parameters. For simple user parameters, such reference processing is skipped and, therefore, any $ sign quoting is not necessary.</​note>​
  
 <note important>​Certain symbols are not allowed in user parameters by default. See [[manual:​appendix:​config:​zabbix_agentd|UnsafeUserParameters]] documentation for a full list.</​note>​ <note important>​Certain symbols are not allowed in user parameters by default. See [[manual:​appendix:​config:​zabbix_agentd|UnsafeUserParameters]] documentation for a full list.</​note>​
Line 86: Line 91:
 <note important>​A text (character, log or text type of information) item will not become unsupported in case of standard error output.</​note>​ <note important>​A text (character, log or text type of information) item will not become unsupported in case of standard error output.</​note>​
  
-User parameters that return text (character, log, text type of information) can return whitespace. In case of invalid result item will become unsupported.+User parameters that return text (character, log, text type of information) can return whitespace. In case of invalid result ​the item will become unsupported.