manual:config:items:itemtypes:zabbix_agent

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
Next revision Both sides next revision
manual:config:items:itemtypes:zabbix_agent [2019/01/25 09:13]
martins-v formatting change
manual:config:items:itemtypes:zabbix_agent [2020/06/30 08:24]
martins-v wording change
Line 18: Line 18:
   * [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]   * [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]
   * [[manual:​config:​items:​itemtypes:​zabbix_agent:​win_keys|Item keys specific for Windows agent]]   * [[manual:​config:​items:​itemtypes:​zabbix_agent:​win_keys|Item keys specific for Windows agent]]
 +  * [[:​manual/​appendix/​items/​win_permissions|Minimum permission level for Windows agent items]]
  
 ** Mandatory and optional parameters ** ** Mandatory and optional parameters **
Line 41: Line 42:
 ^ |Maximum number of processes supported by OS.  |Integer ​ |  |  | ^ |Maximum number of processes supported by OS.  |Integer ​ |  |  |
 | ||||| | |||||
-^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^ +^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>,<​options>]  ^^^^^ 
-^ |Log file monitoring. ​ |Log  |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => log[/​var/​log/​syslog]\\ => log[/​var/​log/​syslog,​error]\\ => log[/​home/​zabbix/​logs/​logfile,,,​100]\\ \\  //Using ''​output''​ parameter for extracting a number from log record://\\ => %%log[/​app1/​app.log,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only '​6080'​ to server. Because a numeric value is being sent, the "Type of information"​ for this item can be set to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\  //Using ''​output''​ parameter for rewriting log record before sending to server://\\ => %%log[/​app1/​app.log,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors +^ |Log file monitoring. ​ |Log  |**file** - full path and name of log file\\ **regexp** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!\\ **options** - additional options:\\ //​mtime-noreread//​ - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 4.0.22, because now mtime is ignored. Before the file would be reread by default if either the modification time or file size changed.)  ​|The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => log[/​var/​log/​syslog]\\ => log[/​var/​log/​syslog,​error]\\ => log[/​home/​zabbix/​logs/​logfile,,,​100]\\ \\  //Using ''​output''​ parameter for extracting a number from log record://\\ => %%log[/​app1/​app.log,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only '​6080'​ to server. Because a numeric value is being sent, the "Type of information"​ for this item can be set to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\  //Using ''​output''​ parameter for rewriting log record before sending to server://\\ => %%log[/​app1/​app.log,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors 
-" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2. \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |+" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2.\\ The ''​options''​ parameter is supported since Zabbix 4.0.19.\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 | ||||| | |||||
-^log.count[file,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>​] ​ ^^^^^ +^log.count[file,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>,<​options>]  ^^^^^ 
-^ |Count of matched lines in log file monitoring. ​ |Integer ​ |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!  |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported. \\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ This item is not supported for Windows Event Log.\\ \\ Supported since Zabbix 3.2.0. ​ |+^ |Count of matched lines in log file monitoring. ​ |Integer ​ |**file** - full path and name of log file\\ **regexp** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!\\ **options** - additional options:\\ //​mtime-noreread//​ - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 4.0.22, because now mtime is ignored. Before the file would be reread by default if either the modification time or file size changed.) ​ |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported. \\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ This item is not supported for Windows Event Log.\\ \\ The ''​options''​ parameter is supported since Zabbix 4.0.19.\\ \\ Supported since Zabbix 3.2.0. ​ |
 | ||||| | |||||
 ^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>,<​options>​] ​ ^^^^^ ^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>,<​options>​] ​ ^^^^^
-^ |Log file monitoring with log rotation support. ​ |Log  |**file_regexp** - absolute path to file and regexp ​describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!\\ **options** - type of log file rotation. Possible values:\\ //rotate// (default), //​copytruncate//​. Note that //​copytruncate//​ cannot be used together with //​maxdelay//​. In this case //​maxdelay//​ must be 0 or not specified. See [[log_items#​notes_on_handling_copytruncate_log_file_rotation|copytruncate]] notes.|The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => %%logrt["/​home/​zabbix/​logs/​^logfile[0-9]{1,​3}$",,,​100]%% -> %%will match a file like "​logfile1"​ (will not match "​.logfile1"​)%%\\ => %%logrt["/​home/​user/​^logfile_.*_[0-9]{1,​3}$","​pattern_to_match","​UTF-8",​100]%% -> %%will collect data from files such "​logfile_abc_1"​ or "​logfile__001"​.%%\\ \\ //Using ''​output''​ parameter for extracting a number from log record://\\ => %%logrt[/​app1/​^test.*log$,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only '​6080'​ to server. Because a numeric value is being sent, the "Type of information"​ for this item can be set to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\ //Using ''​output''​ parameter for rewriting log record before sending to server://\\ => %%logrt[/​app1/​^test.*log$,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors +^ |Log file monitoring with log rotation support. ​ |Log  |**file_regexp** - absolute path to file and regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file name pattern\\ **regexp** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!\\ **options** - type of log file rotation ​and other options. Possible values:\\ //rotate// (default),\\ //​copytruncate// ​- note that //​copytruncate//​ cannot be used together with //​maxdelay//​. In this case //​maxdelay//​ must be 0 or not specified; see [[log_items#​notes_on_handling_copytruncate_log_file_rotation|copytruncate]] notes,\\ //​mtime-reread//​ - non-unique records, reread if modification time or size changes (default),​\\ //​mtime-noreread//​ - non-unique records, reread only if the size changes (ignore modification time change). |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ Note that logrt is designed to work with one currently active log file, with several other matching inactive files rotated. If, for example, a directory has many active log files, a separate logrt item should be created for each one. Otherwise if one logrt item picks up too many files it may lead to exhausted memory and a crash of monitoring.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => %%logrt["/​home/​zabbix/​logs/​^logfile[0-9]{1,​3}$",,,​100]%% -> %%will match a file like "​logfile1"​ (will not match "​.logfile1"​)%%\\ => %%logrt["/​home/​user/​^logfile_.*_[0-9]{1,​3}$","​pattern_to_match","​UTF-8",​100]%% -> %%will collect data from files such "​logfile_abc_1"​ or "​logfile__001"​.%%\\ \\ //Using ''​output''​ parameter for extracting a number from log record://\\ => %%logrt[/​app1/​^test.*log$,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only '​6080'​ to server. Because a numeric value is being sent, the "Type of information"​ for this item can be set to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%%\\ \\ //Using ''​output''​ parameter for rewriting log record before sending to server://\\ => %%logrt[/​app1/​^test.*log$,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"]%% -> %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors 
-" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2.\\ The ''​options''​ parameter is supported since Zabbix 4.0.\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |+" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2.\\ The ''​options''​ parameter is supported since Zabbix 4.0 (//​mtime-reread//,​ //​mtime-noreread//​ options since 4.0.19).\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 | ||||| | |||||
 ^logrt.count[file_regexp,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>,<​options>​] ​ ^^^^^ ^logrt.count[file_regexp,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>,<​options>​] ​ ^^^^^
-^ |Count of matched lines in log file monitoring with log rotation support. ​ |Integer ​ |**file_regexp** - absolute path to file and regexp ​describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! \\ **options** - type of log file rotation. Possible values:\\ //rotate// (default), //​copytruncate//​. Note that //​copytruncate//​ cannot be used together with //​maxdelay//​. In this case //​maxdelay//​ must be 0 or not specified. See [[log_items#​notes_on_handling_copytruncate_log_file_rotation|copytruncate]] notes.|The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ The ''​options''​ parameter is supported since Zabbix 4.0.\\ \\ This item is not supported for Windows Event Log.\\ \\ Supported since Zabbix 3.2.0. ​ | +^ |Count of matched lines in log file monitoring with log rotation support. ​ |Integer ​ |**file_regexp** - absolute path to file and regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file name pattern\\ **regexp** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! \\ **options** - type of log file rotation ​and other options. Possible values:\\ //rotate// (default),\\ //​copytruncate// ​- note that //​copytruncate//​ cannot be used together with //​maxdelay//​. In this case //​maxdelay//​ must be 0 or not specified; see [[log_items#​notes_on_handling_copytruncate_log_file_rotation|copytruncate]] notes,\\ //​mtime-reread//​ - non-unique records, reread if modification time or size changes (default),​\\ //​mtime-noreread//​ - non-unique records, reread only if the size changes (ignore modification time change). |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ The ''​options''​ parameter is supported since Zabbix 4.0 (//​mtime-reread//,​ //​mtime-noreread//​ options since 4.0.19).\\ \\ This item is not supported for Windows Event Log.\\ \\ Supported since Zabbix 3.2.0. ​ | 
-| |||||+ |||||
 ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^ ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^
 ^ |Checks if DNS service is up.  |0 - DNS is down (server did not respond or DNS resolution failed)\\ \\ 1 - DNS is up  |**ip** - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)\\ **name** - DNS name to query\\ **type** - record type to be queried (default is //SOA//)\\ **timeout** (ignored on Windows) - timeout for the request in seconds (default is 1 second)\\ **count** (ignored on Windows) - number of tries for the request (default is 2)\\ **protocol** - the protocol used to perform DNS queries: //udp// (default) or //​tcp// ​ |Example:\\ => net.dns[8.8.8.8,​zabbix.com,​MX,​2,​1] \\ \\ The possible values for ''​type''​ are:\\ //ANY//, //A//, //NS//, //CNAME//, //MB//, //MG//, //MR//, //PTR//, //MD//, //MF//, //MX//, //SOA//, //NULL//, //WKS// (except for Windows), //HINFO//, //MINFO//, //TXT//, //SRV//\\ \\ Internationalized domain names are not supported, please use IDNA encoded names instead.\\ \\ The ''​protocol''​ parameter is supported since Zabbix 3.0.\\ SRV record type is supported since Zabbix agent versions 1.8.6 (Unix) and 2.0.0 (Windows).\\ \\ Naming before Zabbix 2.0 (still supported): //​net.tcp.dns//​| ^ |Checks if DNS service is up.  |0 - DNS is down (server did not respond or DNS resolution failed)\\ \\ 1 - DNS is up  |**ip** - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)\\ **name** - DNS name to query\\ **type** - record type to be queried (default is //SOA//)\\ **timeout** (ignored on Windows) - timeout for the request in seconds (default is 1 second)\\ **count** (ignored on Windows) - number of tries for the request (default is 2)\\ **protocol** - the protocol used to perform DNS queries: //udp// (default) or //​tcp// ​ |Example:\\ => net.dns[8.8.8.8,​zabbix.com,​MX,​2,​1] \\ \\ The possible values for ''​type''​ are:\\ //ANY//, //A//, //NS//, //CNAME//, //MB//, //MG//, //MR//, //PTR//, //MD//, //MF//, //MX//, //SOA//, //NULL//, //WKS// (except for Windows), //HINFO//, //MINFO//, //TXT//, //SRV//\\ \\ Internationalized domain names are not supported, please use IDNA encoded names instead.\\ \\ The ''​protocol''​ parameter is supported since Zabbix 3.0.\\ SRV record type is supported since Zabbix agent versions 1.8.6 (Unix) and 2.0.0 (Windows).\\ \\ Naming before Zabbix 2.0 (still supported): //​net.tcp.dns//​|
Line 98: Line 99:
 | ||||| | |||||
 ^proc.cpu.util[<​name>,<​user>,<​type>,<​cmdline>,<​mode>,<​zone>​] ​ ^^^^^ ^proc.cpu.util[<​name>,<​user>,<​type>,<​cmdline>,<​mode>,<​zone>​] ​ ^^^^^
-^ |Process CPU utilisation percentage. ​ |Float ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **type** - CPU utilisation type:\\ //total// (default), //user//, //​system//​\\ **cmdline** - filter by command line (it is a regular expression) \\ **mode** - data gathering mode: //avg1// (default), //avg5//, //avg15//\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  |Examples:​\\ => proc.cpu.util[,​root] -> CPU utilisation of all processes running under the "​root"​ user\\ => proc.cpu.util[zabbix_server,​zabbix] -> CPU utilisation of all zabbix_server processes running under the zabbix user\\ \\ The returned value is based on single CPU core utilisation percentage. For example CPU utilisation of a process fully using two cores is 200%. \\ \\ The process CPU utilisation data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.\\ \\ //Note// that when setting the ''​zone''​ parameter to //current// (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, //all// is supported in this case.\\ \\ This key is supported since Zabbix 3.0.0 and is available on several platforms (see [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]). |+^ |Process CPU utilisation percentage. ​ |Float ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **type** - CPU utilisation type:\\ //total// (default), //user//, //​system//​\\ **cmdline** - filter by command line (it is a regular expression<​sup>​**[[#​footnotes|4]]**</​sup>​) \\ **mode** - data gathering mode: //avg1// (default), //avg5//, //avg15//\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  |Examples:​\\ => proc.cpu.util[,​root] -> CPU utilisation of all processes running under the "​root"​ user\\ => proc.cpu.util[zabbix_server,​zabbix] -> CPU utilisation of all zabbix_server processes running under the zabbix user\\ \\ The returned value is based on single CPU core utilisation percentage. For example CPU utilisation of a process fully using two cores is 200%. \\ \\ The process CPU utilisation data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.\\ \\ //Note// that when setting the ''​zone''​ parameter to //current// (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, //all// is supported in this case.\\ \\ This key is supported since Zabbix 3.0.0 and is available on several platforms (see [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]). |
 | ||||| | |||||
 ^proc.mem[<​name>,<​user>,<​mode>,<​cmdline>,<​memtype>​] ​ ^^^^^ ^proc.mem[<​name>,<​user>,<​mode>,<​cmdline>,<​memtype>​] ​ ^^^^^
-^ |Memory used by process in bytes. ​ |Integer ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **mode** - possible values:\\ //avg//, //max//, //min//, //sum// (default)\\ **cmdline** - filter by command line (it is a regular expression) \\ **memtype** - [[:​manual/​appendix/​items/​proc_mem_notes|type of memory]] used by process ​ |Examples:​\\ => proc.mem[,​root] -> memory used by all processes running under the "​root"​ user\\ => proc.mem[zabbix_server,​zabbix] -> memory used by all zabbix_server processes running under the zabbix user\\ => proc.mem[,​oracle,​max,​oracleZABBIX] -> memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line\\ \\ //Note//: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: ''​zabbix_agentd -t proc.num[,,,​apache2]''​),​ one extra process will be counted, as the agent will count itself.\\ \\ The ''​memtype''​ parameter is supported on several [[manual:​appendix:​items:​supported_by_platform|platforms]] since Zabbix 3.0.0. ​ |+^ |Memory used by process in bytes. ​ |Integer ​- with ''​mode''​ as //max//, //min//, //sum//\\ \\ Float - with ''​mode''​ as //​avg// ​ ​|**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **mode** - possible values:\\ //avg//, //max//, //min//, //sum// (default)\\ **cmdline** - filter by command line (it is a regular expression<​sup>​**[[#​footnotes|4]]**</​sup>​) \\ **memtype** - [[:​manual/​appendix/​items/​proc_mem_notes|type of memory]] used by process ​ |Examples:​\\ => proc.mem[,​root] -> memory used by all processes running under the "​root"​ user\\ => proc.mem[zabbix_server,​zabbix] -> memory used by all zabbix_server processes running under the zabbix user\\ => proc.mem[,​oracle,​max,​oracleZABBIX] -> memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line\\ \\ //Note//: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: ''​zabbix_agentd -t proc.mem[,,,​apache2]''​),​ one extra process will be counted, as the agent will count itself.\\ \\ The ''​memtype''​ parameter is supported on several [[manual:​appendix:​items:​supported_by_platform|platforms]] since Zabbix 3.0.0. ​ |
 | ||||| | |||||
 ^proc.num[<​name>,<​user>,<​state>,<​cmdline>,<​zone>​] ​ ^^^^^ ^proc.num[<​name>,<​user>,<​state>,<​cmdline>,<​zone>​] ​ ^^^^^
-^ |The number of processes. ​ |Integer ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **state** - possible values:\\ //all// (default),​\\ //disk// - uninterruptible sleep,\\ //run// - running,\\ //sleep// - interruptible sleep,\\ //trace// - stopped,\\ //zomb// - zombie\\ **cmdline** - filter by command line (it is a regular expression)\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  |Examples:​\\ => proc.num[,​mysql] -> number of processes running under the mysql user\\ => proc.num[apache2,​www-data] -> number of apache2 processes running under the www-data user\\ => proc.num[,​oracle,​sleep,​oracleZABBIX] -> number of processes in sleep state running under oracle having oracleZABBIX in its command line\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ On Windows, only the ''​name''​ and ''​user''​ parameters are supported.\\ \\ When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: ''​zabbix_agentd -t proc.num[,,,​apache2]''​),​ one extra process will be counted, as the agent will count itself.\\ \\ //Note// that when setting the ''​zone''​ parameter to //current// (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, //all// is supported in this case.\\ \\ //disk// and //trace// values for the ''​state''​ parameter are supported since Zabbix 3.4.0. ​ |+^ |The number of processes. ​ |Integer ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **state** - possible values:\\ //all// (default),​\\ //disk// - uninterruptible sleep,\\ //run// - running,\\ //sleep// - interruptible sleep,\\ //trace// - stopped,\\ //zomb// - zombie\\ **cmdline** - filter by command line (it is a regular expression<​sup>​**[[#​footnotes|4]]**</​sup>​)\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  |Examples:​\\ => proc.num[,​mysql] -> number of processes running under the mysql user\\ => proc.num[apache2,​www-data] -> number of apache2 processes running under the www-data user\\ => proc.num[,​oracle,​sleep,​oracleZABBIX] -> number of processes in sleep state running under oracle having oracleZABBIX in its command line\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ On Windows, only the ''​name''​ and ''​user''​ parameters are supported.\\ \\ When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: ''​zabbix_agentd -t proc.num[,,,​apache2]''​),​ one extra process will be counted, as the agent will count itself.\\ \\ //Note// that when setting the ''​zone''​ parameter to //current// (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, //all// is supported in this case.\\ \\ //disk// and //trace// values for the ''​state''​ parameter are supported since Zabbix 3.4.0. ​ |
 | ||||| | |||||
 ^sensor[device,​sensor,<​mode>​] ​ ^^^^^ ^sensor[device,​sensor,<​mode>​] ​ ^^^^^
Line 130: Line 131:
 | ||||| | |||||
 ^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^ ^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^
-^ |CPU utilisation percentage. ​ |Float ​ |**cpu** - //<CPU number>//​ or //all// (default)\\ **type** - possible values:\\ //idle//, //nice//, //user// (default), //system// (default for Windows), //iowait//, //​interrupt//,​ //​softirq//,​ //steal//, //guest// (on Linux kernels 2.6.24 and above), //​guest_nice//​ (on Linux kernels 2.6.33 and above). Parameters //user// and //nice// time no longer include //guest// time and //​guest_nice//​ time since Zabbix 3.0.14, 3.4.5 and 4.0.0. \\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.util[0,​user,​avg5]\\ \\ Old naming: //​system.cpu.idleX,​ system.cpu.niceX,​ system.cpu.systemX,​ system.cpu.userX// ​ |+^ |CPU utilisation percentage. ​ |Float ​ |**cpu** - //<CPU number>//​ or //all// (default)\\ **type** - possible values:\\ //user// (default), //idle//, //nice//, //system// (default for Windows), //iowait//, //​interrupt//,​ //​softirq//,​ //steal//, //guest// (on Linux kernels 2.6.24 and above), //​guest_nice//​ (on Linux kernels 2.6.33 and above). Parameters //user// and //nice// time no longer include //guest// time and //​guest_nice//​ time since Zabbix 3.0.14, 3.4.5 and 4.0.0.\\ See also [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] details for this parameter. \\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.util[0,​user,​avg5]\\ \\ Old naming: //​system.cpu.idleX,​ system.cpu.niceX,​ system.cpu.systemX,​ system.cpu.userX// ​ |
 | ||||| | |||||
 ^system.hostname[<​type>​] ​ ^^^^^ ^system.hostname[<​type>​] ​ ^^^^^
Line 145: Line 146:
 | ||||| | |||||
 ^system.hw.macaddr[<​interface>,<​format>​] ​ ^^^^^ ^system.hw.macaddr[<​interface>,<​format>​] ​ ^^^^^
-^ |Listing of MAC addresses. ​ |String ​ |**interface** - //all// (default) or a regular expression\\ **format** - //full// (default) or //short// |Lists MAC adresses of the interfaces whose name matches the given ''​interface'' ​regexp ​(//all// lists for all interfaces).\\ \\ Example:\\ => %%system.hw.macaddr["​eth0$",​full]%% -> [eth0] 00:​11:​22:​33:​44:​55\\ \\ If ''​format''​ is specified as //short//, interface names and identical MAC addresses are not listed.\\ \\ Supported since Zabbix agent version 2.0. |+^ |Listing of MAC addresses. ​ |String ​ |**interface** - //all// (default) or a regular expression<​sup>​**[[#​footnotes|4]]**</​sup>​\\ **format** - //full// (default) or //short// |Lists MAC adresses of the interfaces whose name matches the given ''​interface'' ​regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​(//all// lists for all interfaces).\\ \\ Example:\\ => %%system.hw.macaddr["​eth0$",​full]%% -> [eth0] 00:​11:​22:​33:​44:​55\\ \\ If ''​format''​ is specified as //short//, interface names and identical MAC addresses are not listed.\\ \\ Supported since Zabbix agent version 2.0. |
 | ||||| | |||||
 ^system.localtime[<​type>​] ​ ^^^^^ ^system.localtime[<​type>​] ​ ^^^^^
-^ |System time.  |Integer - with ''​type''​ as //utc//\\ \\ String - with ''​type''​ as //​local// ​ |**type** - possible values:\\ //utc// - (default) the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.\\ //local// - the time in the '​yyyy-mm-dd,​hh:​mm:​ss.nnn,​+hh:​mm'​ format\\ ​  |Must be used as a passive check only.\\ \\  Parameters for this item are supported since Zabbix agent version 2.0.\\ \\ Example:\\ => system.localtime[local] -> create an item using this key and then use it to display host time in the //Clock// [[:​manual/​config/​visualisation/​screens/​elements#​clock|screen element]]. ​ |+^ |System time.  |Integer - with ''​type''​ as //utc//\\ \\ String - with ''​type''​ as //​local// ​ |**type** - possible values:\\ //utc// - (default) the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.\\ //local// - the time in the '​yyyy-mm-dd,​hh:​mm:​ss.nnn,​+hh:​mm'​ format\\ ​  |Must be used as a [[:​manual:​appendix:​items:​activepassive#​passive_checks|passive check]] only.\\ \\  Parameters for this item are supported since Zabbix agent version 2.0.\\ \\ Example:\\ => system.localtime[local] -> create an item using this key and then use it to display host time in the //Clock// [[:​manual/​config/​visualisation/​screens/​elements#​clock|screen element]]. ​ |
 | ||||| | |||||
 ^system.run[command,<​mode>​] ​ ^^^^^ ^system.run[command,<​mode>​] ​ ^^^^^
Line 165: Line 166:
 | ||||| | |||||
 ^system.sw.packages[<​package>,<​manager>,<​format>​] ​ ^^^^^ ^system.sw.packages[<​package>,<​manager>,<​format>​] ​ ^^^^^
-^ |Listing of installed packages. ​ |Text  |**package** - //all// (default) or a regular expression\\ **manager** - //all// (default) or a package manager\\ **format** - //full// (default) or //short// |Lists (alphabetically) installed packages whose name matches the given ''​package'' ​regexp ​(//all// lists them all).\\ \\ Example:\\ => system.sw.packages[mini,​dpkg,​short] -> python-minimal,​ python2.6-minimal,​ ubuntu-minimal\\ \\ Supported package managers (executed command):\\ dpkg (dpkg %%--get-selections%%)\\ pkgtool (ls /​var/​log/​packages)\\ rpm (rpm -qa)\\ pacman (pacman -Q)\\ \\ If ''​format''​ is specified as //full//, packages are grouped by package managers (each manager on a seperate line beginning with its name in square brackets).\\ If ''​format''​ is specified as //short//, packages are not grouped and are listed on a single line.\\ \\ Supported since Zabbix agent version 2.0. |+^ |Listing of installed packages. ​ |Text  |**package** - //all// (default) or a regular expression<​sup>​**[[#​footnotes|4]]**</​sup>​\\ **manager** - //all// (default) or a package manager\\ **format** - //full// (default) or //short// |Lists (alphabetically) installed packages whose name matches the given ''​package'' ​regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​(//all// lists them all).\\ \\ Example:\\ => system.sw.packages[mini,​dpkg,​short] -> python-minimal,​ python2.6-minimal,​ ubuntu-minimal\\ \\ Supported package managers (executed command):\\ dpkg (dpkg %%--get-selections%%)\\ pkgtool (ls /​var/​log/​packages)\\ rpm (rpm -qa)\\ pacman (pacman -Q)\\ \\ If ''​format''​ is specified as //full//, packages are grouped by package managers (each manager on a seperate line beginning with its name in square brackets).\\ If ''​format''​ is specified as //short//, packages are not grouped and are listed on a single line.\\ \\ Supported since Zabbix agent version 2.0. |
 | ||||| | |||||
 ^system.swap.in[<​device>,<​type>​] ​ ^^^^^ ^system.swap.in[<​device>,<​type>​] ​ ^^^^^
-^ |Swap in (from device into memory) statistics. ​ |Integer ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //count// (number of swapins), //sectors// (sectors swapped in), //pages// (pages swapped in). See [[manual:appendix:items:supported_by_platform|supported by platform]] for details on defaults.|Example:​\\ => system.swap.in[,​pages]\\ \\ The source of this information is:\\ /​proc/​swaps,​ /​proc/​partitions,​ /proc/stat (Linux 2.4)\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat (Linux 2.6)  |+^ |Swap in (from device into memory) statistics. ​ |Integer ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //count// (number of swapins), //sectors// (sectors swapped in), //pages// (pages swapped in).\\ See also [[:manual/appendix/items/supported_by_platform|platform-specific]] details ​for this parameter |Example:\\ => system.swap.in[,​pages]\\ \\ The source of this information is:\\ /​proc/​swaps,​ /​proc/​partitions,​ /proc/stat (Linux 2.4)\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat (Linux 2.6)  |
 | ||||| | |||||
 ^system.swap.out[<​device>,<​type>​] ​ ^^^^^ ^system.swap.out[<​device>,<​type>​] ​ ^^^^^
-^ |Swap out (from memory onto device) statistics. ​ |Integer ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //count// (number of swapouts), //sectors// (sectors swapped out), //pages// (pages swapped out). See [[manual:appendix:items:supported_by_platform|supported by platform]] for details on defaults.|Example:​\\ => system.swap.out[,​pages]\\ \\ The source of this information is:\\ /​proc/​swaps,​ /​proc/​partitions,​ /proc/stat (Linux 2.4)\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat (Linux 2.6) |+^ |Swap out (from memory onto device) statistics. ​ |Integer ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //count// (number of swapouts), //sectors// (sectors swapped out), //pages// (pages swapped out).\\ See also [[:manual/appendix/items/supported_by_platform|platform-specific]] details ​for this parameter |Example:\\ => system.swap.out[,​pages]\\ \\ The source of this information is:\\ /​proc/​swaps,​ /​proc/​partitions,​ /proc/stat (Linux 2.4)\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat (Linux 2.6) |
 | ||||| | |||||
 ^system.swap.size[<​device>,<​type>​] ​ ^^^^^ ^system.swap.size[<​device>,<​type>​] ​ ^^^^^
-^ |Swap space size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //free// (free swap space, default), //pfree// (free swap space, in percent), //pused// (used swap space, in percent), //total// (total swap space), //used// (used swap space) ​ |Example:\\ => system.swap.size[,​pfree] -> free swap space percentage\\ \\ If //device// is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems //swap -s// command includes a portion of physical memory and swap devices (unlike //swap -l//).\\ \\ Note that this key might report incorrect percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case use perf_counter[\700(_Total)\702] key to obtain correct swap usage data.\\ \\ Old naming: //​system.swap.free//,​ //​system.swap.total// ​ |+^ |Swap space size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //free// (free swap space, default), //pfree// (free swap space, in percent), //pused// (used swap space, in percent), //total// (total swap space), //used// (used swap space)\\ See also [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] details for this parameter. ​ ​|Example:​\\ => system.swap.size[,​pfree] -> free swap space percentage\\ \\ If //device// is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems //swap -s// command includes a portion of physical memory and swap devices (unlike //swap -l//).\\ \\ Note that this key might report incorrect ​swap space size/percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case you may use the ''​perf_counter[\700(_Total)\702]'' ​key to obtain correct swap space percentage.\\ \\ Old naming: //​system.swap.free//,​ //​system.swap.total// ​ |
 | ||||| | |||||
 ^system.uname ​ ^^^^^ ^system.uname ​ ^^^^^
Line 186: Line 187:
 | ||||| | |||||
 ^vfs.dev.read[<​device>,<​type>,<​mode>​] ​ ^^^^^ ^vfs.dev.read[<​device>,<​type>,<​mode>​] ​ ^^^^^
-^ |Disk read statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: Since 4.0.4, if using an update interval of three hours or more<​sup>​**[[#​footnotes|2]]**</​sup>,​ will always return '​0' ​ |**device** - disk device (default is //all// <​sup>​**[[#​footnotes|3]]**</​sup>​) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //​bps//​\\ ​This parameter ​must be specified, since defaults ​differ under various OSes.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |You may use relative device names (for example, ''​sda''​) as well as an optional /dev/ prefix (for example, ''/​dev/​sda''​).\\ \\ LVM logical volumes are supported.\\ \\ Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.read[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 devices (1023 individual and one for //all//).\\ \\ Old naming: //​io[*]// ​ |+^ |Disk read statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: Since 4.0.4, if using an update interval of three hours or more<​sup>​**[[#​footnotes|2]]**</​sup>,​ will always return '​0' ​ |**device** - disk device (default is //all// <​sup>​**[[#​footnotes|3]]**</​sup>​) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //​bps//​\\ ​Note that '​type' ​parameter ​support and defaults ​depend on the platform. See [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] details.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |You may use relative device names (for example, ''​sda''​) as well as an optional /dev/ prefix (for example, ''/​dev/​sda''​).\\ \\ LVM logical volumes are supported.\\ \\ Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.read[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 devices (1023 individual and one for //all//).\\ \\ Old naming: //​io[*]// ​ |
 | ||||| | |||||
 ^vfs.dev.write[<​device>,<​type>,<​mode>​] ​ ^^^^^ ^vfs.dev.write[<​device>,<​type>,<​mode>​] ​ ^^^^^
-^ |Disk write statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: Since 4.0.4, if using an update interval of three hours or more<​sup>​**[[#​footnotes|2]]**</​sup>,​ will always return '​0' ​ |**device** - disk device (default is //all// <​sup>​**[[#​footnotes|3]]**</​sup>​) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //​bps//​\\ ​This parameter ​must be specified, since defaults ​differ under various OSes.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |You may use relative device names (for example, ''​sda''​) as well as an optional /dev/ prefix (for example, ''/​dev/​sda''​).\\ \\ LVM logical volumes are supported.\\ \\ Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.write[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for //all//).\\ \\ Old naming: //​io[*]// ​ |+^ |Disk write statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: Since 4.0.4, if using an update interval of three hours or more<​sup>​**[[#​footnotes|2]]**</​sup>,​ will always return '​0' ​ |**device** - disk device (default is //all// <​sup>​**[[#​footnotes|3]]**</​sup>​) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //​bps//​\\ ​Note that '​type' ​parameter ​support and defaults ​depend on the platform. See [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] details.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |You may use relative device names (for example, ''​sda''​) as well as an optional /dev/ prefix (for example, ''/​dev/​sda''​).\\ \\ LVM logical volumes are supported.\\ \\ Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.write[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for //all//).\\ \\ Old naming: //​io[*]// ​ |
 | ||||| | |||||
 ^vfs.dir.count[dir,<​regex_incl>,<​regex_excl>,<​types_incl>,<​types_excl>,<​max_depth>,<​min_size>,<​max_size>,<​min_age>,<​max_age>​] ​ ^^^^^ ^vfs.dir.count[dir,<​regex_incl>,<​regex_excl>,<​types_incl>,<​types_excl>,<​max_depth>,<​min_size>,<​max_size>,<​min_age>,<​max_age>​] ​ ^^^^^
Line 201: Line 202:
 | ||||| | |||||
 ^vfs.file.contents[file,<​encoding>​] ​ ^^^^^ ^vfs.file.contents[file,<​encoding>​] ​ ^^^^^
-^ |Retrieving contents of a file.  |Text  |**file** - full path to file\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]] ​ |Returns an empty string if the file is empty or contains LF/CR characters only.\\ \\ Example:\\ => vfs.file.contents[/​etc/​passwd]\\ \\ This item is limited to files no larger than 64 Kbytes.\\ \\ Supported since Zabbix agent version 2.0.  |+^ |Retrieving contents of a file.  |Text  |**file** - full path to file\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]] ​ |Returns an empty string if the file is empty or contains LF/CR characters only.\\ \\ Byte order mark (BOM) is excluded from the output since Zabbix 4.0.15.\\ \\ Example:\\ => vfs.file.contents[/​etc/​passwd]\\ \\ This item is limited to files no larger than 64 Kbytes.\\ \\ Supported since Zabbix agent version 2.0.  |
 | ||||| | |||||
 ^vfs.file.exists[file] ​ ^^^^^ ^vfs.file.exists[file] ​ ^^^^^
Line 210: Line 211:
 | ||||| | |||||
 ^vfs.file.regexp[file,​regexp,<​encoding>,<​start line>,<​end line>,<​output>​] ​ ^^^^^ ^vfs.file.regexp[file,​regexp,<​encoding>,<​start line>,<​end line>,<​output>​] ​ ^^^^^
-^ |Find string in a file.  |The line containing the matched string, or as specified by the optional ''​output''​ parameter ​ |**file** - full path to file\\ **regexp** - [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended regular expression before Zabbix 3.4\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |Only the first matching line is returned.\\ An empty string is returned if no line matched the expression.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​start line'',​ ''​end line''​ and ''​output''​ parameters are supported from version 2.2.\\ \\ Examples:\\ => vfs.file.regexp[/​etc/​passwd,​zabbix]\\ => %%vfs.file.regexp[/​path/​to/​some/​file,"​([0-9]+)$",,​3,​5,​\1]%%\\ => %%vfs.file.regexp[/​etc/​passwd,​^zabbix:​.:​([0-9]+),,,,​\1]%% -> getting the ID of user //zabbix// |+^ |Find string in a file.  |The line containing the matched string, or as specified by the optional ''​output''​ parameter ​ |**file** - full path to file\\ **regexp** - regular expression<​sup>​**[[#footnotes|4]]**</​sup>​ describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |Only the first matching line is returned.\\ An empty string is returned if no line matched the expression.\\ \\ Byte order mark (BOM) is excluded from the output since Zabbix 4.0.15.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​start line'',​ ''​end line''​ and ''​output''​ parameters are supported from version 2.2.\\ \\ Examples:\\ => vfs.file.regexp[/​etc/​passwd,​zabbix]\\ => %%vfs.file.regexp[/​path/​to/​some/​file,"​([0-9]+)$",,​3,​5,​\1]%%\\ => %%vfs.file.regexp[/​etc/​passwd,​"^zabbix:​.:​([0-9]+)",,,,\1]%% -> getting the ID of user //zabbix// |
 | ||||| | |||||
 ^vfs.file.regmatch[file,​regexp,<​encoding>,<​start line>,<​end line>​] ​ ^^^^^ ^vfs.file.regmatch[file,​regexp,<​encoding>,<​start line>,<​end line>​] ​ ^^^^^
-^ |Find string in a file.  |0 - match not found\\ \\ 1 - found  |**file** - full path to file\\ **regexp** - [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended regular expression before Zabbix 3.4\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default). ​ |The ''​start line''​ and ''​end line''​ parameters are supported from version 2.2.\\ \\ Example:\\ => vfs.file.regmatch[/​var/​log/​app.log,​error] ​ |+^ |Find string in a file.  |0 - match not found\\ \\ 1 - found  |**file** - full path to file\\ **regexp** - regular expression<​sup>​**[[#footnotes|4]]**</​sup>​ describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​encoding_settings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default). ​ |Byte order mark (BOM) is ignored since Zabbix 4.0.15.\\ ​ \\ The ''​start line''​ and ''​end line''​ parameters are supported from version 2.2.\\ \\ Example:\\ => vfs.file.regmatch[/​var/​log/​app.log,​error] ​ |
 | ||||| | |||||
 ^vfs.file.size[file] ​ ^^^^^ ^vfs.file.size[file] ​ ^^^^^
Line 223: Line 224:
 ^vfs.fs.discovery ​ ^^^^^ ^vfs.fs.discovery ​ ^^^^^
 ^ |List of mounted filesystems. Used for low-level discovery. ​ |JSON object ​ |  |Supported since Zabbix agent version 2.0.\\ \\ {#​FSDRIVETYPE} macro is supported on Windows since Zabbix agent version 3.0. | ^ |List of mounted filesystems. Used for low-level discovery. ​ |JSON object ​ |  |Supported since Zabbix agent version 2.0.\\ \\ {#​FSDRIVETYPE} macro is supported on Windows since Zabbix agent version 3.0. |
 +| |||||
 +^vfs.fs.get ​ ^^^^^
 +^ |List of mounted filesystems,​ their types, disk space and inode statistics. Can be used for low-level discovery. ​ |JSON object ​ |  |Supported since Zabbix agent version 4.0.17. ​ |
 | ||||| | |||||
 ^vfs.fs.inode[fs,<​mode>​] ​ ^^^^^ ^vfs.fs.inode[fs,<​mode>​] ​ ^^^^^
Line 231: Line 235:
 | ||||| | |||||
 ^vm.memory.size[<​mode>​] ​ ^^^^^ ^vm.memory.size[<​mode>​] ​ ^^^^^
-^ |Memory size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**mode** - possible values: \\ //total// (default), //active//, //anon//, //​buffers//,​ //cached//, //exec//, //file//, //free//, //​inactive//,​ //pinned//, //shared//, //slab//, //wired//, //used//, //pused// (used, percentage),​ //​available//,​ //​pavailable//​ (available, percentage) ​ |This item accepts three categories of parameters:​\\ \\ 1) //total// - total amount of memory;\\ 2) platform-specific memory types: //active//, //anon//, //​buffers//,​ //cached//, //exec//, //file//, //free//, //​inactive//,​ //pinned//, //shared//, //slab//, //​wired//;​\\ 3) user-level estimates on how much memory is used and available: //used//, //pused//, //​available//,​ //​pavailable//​.\\ \\ See a more detailed description of vm.memory.size [[manual:​appendix:​items:​vm.memory.size_params|parameters]].\\ \\ Old naming: //​vm.memory.buffers//,​ //​vm.memory.cached//,​ //​vm.memory.free//,​ //​vm.memory.shared//,​ //​vm.memory.total// ​ |+^ |Memory size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**mode** - possible values: \\ //total// (default), //active//, //anon//, //​buffers//,​ //cached//, //exec//, //file//, //free//, //​inactive//,​ //pinned//, //shared//, //slab//, //wired//, //used//, //pused// (used, percentage),​ //​available//,​ //​pavailable//​ (available, percentage)\\ See also [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] support and [[manual:​appendix:​items:​vm.memory.size_params|additional details]] for this parameter. ​ |This item accepts three categories of parameters:​\\ \\ 1) //total// - total amount of memory;\\ 2) platform-specific memory types: //active//, //anon//, //​buffers//,​ //cached//, //exec//, //file//, //free//, //​inactive//,​ //pinned//, //shared//, //slab//, //​wired//;​\\ 3) user-level estimates on how much memory is used and available: //used//, //pused//, //​available//,​ //​pavailable//​. ​ |
 | ||||| | |||||
 ^web.page.get[host,<​path>,<​port>​] ​ ^^^^^ ^web.page.get[host,<​path>,<​port>​] ​ ^^^^^
-^ |Get content of web page.  |Web page source as text (including headers) ​ |**host** - hostname\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)  |Returns an empty string on fail. \\ \\ Example:\\ => %%web.page.get[www.zabbix.com,​index.php,​80]%% ​ |+^ |Get content of web page.  |Web page source as text (including headers) ​ |**host** - hostname ​or (since 4.0.10) URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|5]]**</​sup>​. Missing scheme will be treated as //http//. If URL is specified ''​path''​ and ''​port''​ must be empty. Specifying user name/​password when connecting to servers that require authentication,​ for example: ''​%%http://​user:​[email protected]%%''​ is only possible with cURL support <​sup>​**[[#​footnotes|5]]**</​sup>​.\\ Punycode is suported in hostnames (since 4.0.10).\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ \\ ''​host''​ can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.\\ \\ Example:\\ => %%web.page.get[www.zabbix.com,​index.php,​80]%%\\  => %%web.page.get[https://​www.zabbix.com]%%\\ => %%web.page.get[https://​blog.zabbix.com/?​s=zabbix]%%\\ ​ => %%web.page.get[localhost:​80]%%\\ => %%web.page.get["​[::​1]/​server-status"​]%%  |
 | ||||| | |||||
 ^web.page.perf[host,<​path>,<​port>​] ​ ^^^^^ ^web.page.perf[host,<​path>,<​port>​] ​ ^^^^^
-^ |Loading time of full web page (in seconds). ​ |Float ​ |**host** - hostname\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)  |Returns 0 on fail. \\ \\ Example:\\ => %%web.page.perf[www.zabbix.com,​index.php,​80]%% |+^ |Loading time of full web page (in seconds). ​ |Float ​ |**host** - hostname ​or (since 4.0.10) URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|5]]**</​sup>​. Missing scheme will be treated as //http//. If URL is specified ''​path''​ and ''​port''​ must be empty. Specifying user name/​password when connecting to servers that require authentication,​ for example: ''​%%http://​user:​[email protected]%%''​ is only possible with cURL support <​sup>​**[[#​footnotes|5]]**</​sup>​.\\ Punycode is suported in hostnames (since 4.0.10).\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ \\ ''​host''​ can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.\\ \\ Example:\\ => %%web.page.perf[www.zabbix.com,​index.php,​80]%%\\  => %%web.page.perf[https://​www.zabbix.com]%%  ​|
 | ||||| | |||||
 ^web.page.regexp[host,<​path>,<​port>,​regexp,<​length>,<​output>​] ​ ^^^^^ ^web.page.regexp[host,<​path>,<​port>,​regexp,<​length>,<​output>​] ​ ^^^^^
-^ |Find string on a web page.  | The matched string, or as specified by the optional ''​output''​ parameter ​ |**host** - hostname\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)\\ **regexp** - [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended regular expression before Zabbix 3.4\\ **length** - maximum number of characters to return\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |Returns an empty string ​if no match was found or on fail.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​output''​ parameter is supported from version 2.2. \\ \\  Example:\\ => %%web.page.regexp[www.zabbix.com,​index.php,​80,​OK,​2]%% ​ |+^ |Find string on a web page.  | The matched string, or as specified by the optional ''​output''​ parameter ​ |**host** - hostname ​or (since 4.0.10) URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|5]]**</​sup>​. Missing scheme will be treated as //http//. If URL is specified ''​path''​ and ''​port''​ must be empty. Specifying user name/​password when connecting to servers that require authentication,​ for example: ''​%%http://​user:​[email protected]%%''​ is only possible with cURL support <​sup>​**[[#​footnotes|5]]**</​sup>​.\\ Punycode is suported in hostnames (since 4.0.10).\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)\\ **regexp** - regular expression<​sup>​**[[#footnotes|4]]**</​sup>​ describing the required pattern\\ **length** - maximum number of characters to return\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |This item turns unsupported ​if the resource specified in ''​host''​ does not exist or is unavailable.\\ \\ ''​host''​ can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​output''​ parameter is supported from version 2.2. \\ \\  Example:\\ => %%web.page.regexp[www.zabbix.com,​index.php,​80,​OK,​2]%%\\  => %%web.page.regexp[https://​www.zabbix.com,,,​OK,​2]%% ​ | 
 +| ||||| 
 +^zabbix.stats[<​ip>,<​port>​] ​ ^^^^^ 
 +^ |Return a set of Zabbix server or proxy internal metrics remotely. ​ |JSON object ​ |**ip** - IP/​DNS/​network mask list of servers/​proxies to be remotely queried (default is 127.0.0.1)\\ **port** - port of server/​proxy to be remotely queried (default is 10051) ​ |Note that the stats request will only be accepted from the addresses listed in the '​StatsAllowedIP'​ [[:​manual/​appendix/​config/​zabbix_server|server]]/​[[:​manual/​appendix/​config/​zabbix_proxy|proxy]] parameter on the target instance.\\ \\ A selected set of internal metrics is returned by this item. For details, see [[:​manual/​appendix/​items/​remote_stats#​exposed_metrics|Remote monitoring of Zabbix stats]].\\ \\ This item is supported since Zabbix 4.0.5. ​ | 
 +| ||||| 
 +^zabbix.stats[<​ip>,<​port>,​queue,<​from>,<​to>​] ​ ^^^^^ 
 +^ |Return number of monitored items in the queue which are delayed on Zabbix server or proxy remotely. ​ |JSON object ​ |**ip** - IP/​DNS/​network mask list of servers/​proxies to be remotely queried (default is 127.0.0.1)\\ **port** - port of server/​proxy to be remotely queried (default is 10051)\\ **queue** - constant (to be used as is)\\ **from** - delayed by at least (default is 6 seconds)\\ **to** - delayed by at most (default is infinity) ​ |Note that the stats request will only be accepted from the addresses listed in the '​StatsAllowedIP'​ [[:​manual/​appendix/​config/​zabbix_server|server]]/​[[:​manual/​appendix/​config/​zabbix_proxy|proxy]] parameter on the target instance.\\ \\ This item is supported since Zabbix 4.0.5. ​ | 
 +| |||||
  
 == Footnotes == == Footnotes ==
Line 250: Line 261:
 <​sup>​**3**</​sup>​ ''​vfs.dev.read[]'',​ ''​vfs.dev.write[]'': ​ If default //all// is used for the first parameter then the key will return summary statistics, including all block devices like sda, sbd and their partitions (sda1, sda2, sdb3...) and multiple devices (MD raid) based on those block devices/​partitions and logical volumes (LVM) based on those block devices/​partitions. In such cases returned values should be considered only as relative value (dynamic in time) but not as absolute values. <​sup>​**3**</​sup>​ ''​vfs.dev.read[]'',​ ''​vfs.dev.write[]'': ​ If default //all// is used for the first parameter then the key will return summary statistics, including all block devices like sda, sbd and their partitions (sda1, sda2, sdb3...) and multiple devices (MD raid) based on those block devices/​partitions and logical volumes (LVM) based on those block devices/​partitions. In such cases returned values should be considered only as relative value (dynamic in time) but not as absolute values.
  
-=== Available encodings ​===+<​sup>​**4**</​sup>​ [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) since Zabbix 3.4; POSIX-extended regular expression before that. See also: [[:​manual/​regular_expressions#​regular_expression_support_by_location|Regular expressions supported by location]]. 
 + 
 +<​sup>​**5**</​sup>​ SSL (HTTPS) is supported only if agent is compiled with cURL support. Otherwise the item will turn unsupported. 
 + 
 +=== Encoding settings ​===
  
-The ''​encoding''​ parameter ​is used to specify encoding for processing corresponding item checks, so that data acquired will not be corruptedFor a list of supported encodings (code page identifiers), please consult respective documentation,​ such as documentation for [[http://​www.gnu.org/​software/​libiconv/​|libiconv]] (GNU Project) or Microsoft Windows SDK documentation for "Code Page Identifiers"​. ​+To make sure that the acquired data are not corrupted you may specify the correct encoding for processing the check (e.g. '​vfs.file.contents'​) in the ''​encoding''​ parameter. ​The list of supported encodings (code page identifiers) ​may be found in documentation for [[http://​www.gnu.org/​software/​libiconv/​|libiconv]] (GNU Project) or in Microsoft Windows SDK documentation for "Code Page Identifiers"​. ​ 
 +  
 +If no encoding is specified in the ''​encoding''​ parameter ​ the following resolution strategies are applied:
  
-If empty ''​encoding''​ is passed, then UTF-8 (default locale for newer Unix/Linux distributions, see your system'​s settingsor  ​ANSI with system-specific extension ​(Windows) ​is used by default.+  * Standard resolution - UTF-8 is used in Unix/​Linux ​(default in newer distributions)ANSI with system-specific extension is used in Windows; 
 +  * BOM analysis -  applicable for items '​vfs.file.contents',​ '​vfs.file.regexp',​ '​vfs.file.regmatch'​ since Zabbix 4.0.15. An attempt is made to determine the correct encoding ​by using the byte order mark (BOM) at the beginning of the file. If BOM is not present - standard resolution (see above) is applied instead.
  
 === Troubleshooting agent items === === Troubleshooting agent items ===
  
   * If used with the passive agent, //Timeout// value in server configuration may need to be higher than //Timeout// in the agent configuration file. Otherwise the item may not get any value because the server request to agent timed out first.   * If used with the passive agent, //Timeout// value in server configuration may need to be higher than //Timeout// in the agent configuration file. Otherwise the item may not get any value because the server request to agent timed out first.