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: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
manual:config:items:itemtypes:zabbix_agent [2018/08/10 13:03]
martins-v inserting line breaks
manual:config:items:itemtypes:zabbix_agent [2019/06/07 06:34] (current)
martins-v adding more details to web.page.* items
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 42: Line 43:
 | ||||| | |||||
 ^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^ ^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^
-^ |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 text 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]\\ \\  //Example of 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 number ​6080 to server. Because a number ​is being sent, the "Type of information"​ for this log item can be changed from "​Log" ​to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\  //Example of 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#​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
 " 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. \\ \\ 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>​] ​ ^^^^^
-^ |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]].\\ \\ 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#​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. ​ |
 | ||||| | |||||
 ^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 text 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"​.%%\\ \\ //Example of 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 number ​6080 to server. Because a number ​is being sent, the "Type of information"​ for this log item can be changed from "​Log" ​to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\ //Example of 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#​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.\\ \\ 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.\\ \\ 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.\\ \\ 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#​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. ​ |
 | ||||| | |||||
 ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^ ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^
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.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. ​ |
 | ||||| | |||||
 ^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 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\\ ​  | 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 154: Line 155:
 | ||||| | |||||
 ^system.stat[resource,<​type>​] ​ ^^^^^ ^system.stat[resource,<​type>​] ​ ^^^^^
-^ |System statistics. ​ |Integer or float  |**ent** - number of processor units this partition is entitled to receive (float)\\ **kthr,<​type>​** - information about kernel thread states:\\ //r// - average number of runnable kernel threads (float)\\ //b// - average number of kernel threads placed in the Virtual Memory Manager wait queue (float)\\ **memory,<​type>​** - information about the usage of virtual and real memory:\\ //avm// - active virtual pages (integer)\\ //fre// - size of the free list (integer)\\ **page,<​type>​** - information about page faults and paging activity:\\ //fi// - file page-ins per second (float)\\ //fo// - file page-outs per second (float)\\ //pi// - pages paged in from paging space (float)\\ //po// - pages paged out to paging space (float)\\ //fr// - pages freed (page replacement) (float)\\ //sr// - pages scanned by page-replacement algorithm (float)\\ **faults,<​type>​** - trap and interrupt rate:\\ //in// - device interrupts (float)\\ //sy// - system calls (float)\\ //cs// - kernel thread context switches (float)\\ **cpu,<​type>​** - breakdown of percentage usage of processor time:\\ //us// - user time (float)\\ //sy// - system time (float)\\ //id// - idle time (float)\\ //wa// - idle time during which the system had outstanding disk/NFS I/O request(s) (float)\\ //pc// - number of physical processors consumed (float)\\ //ec// - the percentage of entitled capacity consumed (float)\\ //lbusy// - indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (float)\\ //app// - indicates the available physical processors in the shared pool (float)\\ **disk,<​type>​** - disk statistics:​\\ //bps// - indicates the amount of data transferred (read or written) to the drive in bytes per second (integer)\\ //tps// - indicates the number of transfers per second that were issued to the physical disk/tape (float)\\ This item is supported since Zabbix ​**1.8.1.**  ||+^ |System statistics. ​ |Integer or float  |**ent** - number of processor units this partition is entitled to receive (float)\\ **kthr,<​type>​** - information about kernel thread states:\\ //r// - average number of runnable kernel threads (float)\\ //b// - average number of kernel threads placed in the Virtual Memory Manager wait queue (float)\\ **memory,<​type>​** - information about the usage of virtual and real memory:\\ //avm// - active virtual pages (integer)\\ //fre// - size of the free list (integer)\\ **page,<​type>​** - information about page faults and paging activity:\\ //fi// - file page-ins per second (float)\\ //fo// - file page-outs per second (float)\\ //pi// - pages paged in from paging space (float)\\ //po// - pages paged out to paging space (float)\\ //fr// - pages freed (page replacement) (float)\\ //sr// - pages scanned by page-replacement algorithm (float)\\ **faults,<​type>​** - trap and interrupt rate:\\ //in// - device interrupts (float)\\ //sy// - system calls (float)\\ //cs// - kernel thread context switches (float)\\ **cpu,<​type>​** - breakdown of percentage usage of processor time:\\ //us// - user time (float)\\ //sy// - system time (float)\\ //id// - idle time (float)\\ //wa// - idle time during which the system had outstanding disk/NFS I/O request(s) (float)\\ //pc// - number of physical processors consumed (float)\\ //ec// - the percentage of entitled capacity consumed (float)\\ //lbusy// - indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (float)\\ //app// - indicates the available physical processors in the shared pool (float)\\ **disk,<​type>​** - disk statistics:​\\ //bps// - indicates the amount of data transferred (read or written) to the drive in bytes per second (integer)\\ //tps// - indicates the number of transfers per second that were issued to the physical disk/tape (float) ​ || 
 +^ |:::​|:::​^Comments ​ || 
 +^ |:::|:::|This item is [[:​manual/​appendix/​items/​supported_by_platform|supported]] on AIX only, since Zabbix 1.8.1.\\ Take note of the following limitations in these items:\\ => system.stat[cpu,​app] - supported only on AIX LPAR of type "​Shared"​\\ => system.stat[cpu,​ec] - supported on AIX LPAR of type "​Shared"​ and "​Dedicated"​ ("​Dedicated"​ always returns 100 (percent))\\ => system.stat[cpu,​lbusy] - supported only on AIX LPAR of type "​Shared"​\\ => system.stat[cpu,​pc] - supported on AIX LPAR of type "​Shared"​ and "​Dedicated"​\\ => system.stat[ent] - supported on AIX LPAR of type "​Shared"​ and "​Dedicated" ​ ||
 | ||||| | |||||
 ^system.sw.arch ​ ^^^^^ ^system.sw.arch ​ ^^^^^
Line 163: 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>​] ​ ^^^^^
Line 184: 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// ​ |**device** - disk device (default is //all//) \\ **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.  |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//).\\ \\ 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.\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Only relative device names could be used (for example, **sda**) until Zabbix 1.8.6. Since then, an optional **/dev/** prefix may be used (for example, **/​dev/​sda**).\\ \\ Old naming: //​io[*]// ​ |+^ |Disk read statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: 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[*]// ​ |
 | ||||| | |||||
 ^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// ​ |**device** - disk device (default is //all//) \\ **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.  |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//).\\ \\ 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.\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Only relative device names could be used (for example, **sda**) until Zabbix 1.8.6. Since then, an optional **/dev/** prefix may be used (for example, **/​dev/​sda**).\\ \\ Old naming: //​io[*]// ​ |+^ |Disk write statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //bps//\\ \\ //Note//: 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[*]// ​ |
 | ||||| | |||||
 ^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>​] ​ ^^^^^
-^ |Directory entry count. ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regex describing the file, directory and symbolic link name pattern for inclusion (include all files, directories and symbolic links if empty; empty string is default value) \\ **regex_excl** - regex describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value) \\ **types_incl** - a set of directory entry types to count, possible values:\\ //file// - regular file, //dir// - subdirectory,​ //sym// - symbolic link, //sock// - socket, //bdev// - block device, //cdev// - character device, //fifo//- FIFO, //dev//- synonymous with "​bdev,​cdev",​ //​all//​- ​ all above mentioned types, i.e. "​file,​dir,​sym,​sock,​bdev,​cdev,​fifo"​. This is the default value, if parameter is left empty. Multiple types must be separated with comma and the entire set enclosed in quotes ""​. \\ **types_excl** - a set of directory entry types to NOT count, the same values and syntax as for <​types_incl>​. If some entry type is in both <​types_incl>​ and <​types_excl>,​ directory entries of this type are NOT counted. \\ **max_depth** -  maximum depth of subdirectories to traverse. **-1** (default) - unlimited, **0** - no descending into subdirectories. \\ **min_size** - minimum size for file to be counted. Files smaller than this will not be counted. The value is in bytes. [[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **max_size** - maximum size for file to be counted. Files larger than this will not be counted. The value is in bytes. [[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **min_age** - minimum age of directory entry to be counted. Entries modified sooner than that will not be counted. The integer value is in seconds. [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used. \\ **max_age** - maximum age of directory entry to be counted. Entries so old and older will not be counted (modification time). The integer value is in seconds. [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used. |Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported. \\ \\ Pseudo-directories "​."​ and "​.."​ are never counted. \\ \\ Symbolic links are never followed for directory traversal.\\ \\ On Windows directory symlinks are skipped and hard links are counted only once.\\ \\ ''​regex_incl''​ and ''​regex_excl''​ are [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expressions]] (PCRE). Both ''​regex_incl''​ and ''​regex_excl''​ are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse %%(if regex_incl is “(?​i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip  will be counted)%%. ​ If a file name matches both ''​regex_incl''​ and ''​regex_excl''​ this file will not be counted. \\ \\ Execution time will be limited by a default timeout value that is 3 seconds (“Timeout” parameter in agent configuration file). Since large directory traversal may take longer than that, no data will be returned and the item will be marked as "Not supported"​. Partial count will not be returned. \\ \\ When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of **/​dev/​sda1** does not reflect the respective partition size. Therefore, when using ''<​min_size>''​ and ''<​max_size>''​ parameters, it is advisable to specify ''<​types_incl>''​ as "//​file//",​ to avoid surprises. \\ \\ Examples: \\ ⇒ vfs.dir.count[/​dev] - monitors number of devices in /dev (Linux) \\ ⇒ vfs.dir.count%%["​C:​\Users\ADMINI~1\AppData\Local\Temp"​]%% - monitors number of files in temporary directory (Windows)\\ \\ Supported since Zabbix 4.0.0. ​ |+^ |Directory entry count. ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file, directory and symbolic link name pattern for inclusion (include all files, directories and symbolic links if empty; empty string is default value) \\ **regex_excl** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value) \\ **types_incl** - a set of directory entry types to count, possible values:\\ //file// - regular file, //dir// - subdirectory,​ //sym// - symbolic link, //sock// - socket, //bdev// - block device, //cdev// - character device, //fifo//- FIFO, //dev//- synonymous with "​bdev,​cdev",​ //​all//​- ​ all above mentioned types, i.e. "​file,​dir,​sym,​sock,​bdev,​cdev,​fifo"​. This is the default value, if parameter is left empty. Multiple types must be separated with comma and the entire set enclosed in quotes ""​. \\ **types_excl** - a set of directory entry types to NOT count, the same values and syntax as for <​types_incl>​. If some entry type is in both <​types_incl>​ and <​types_excl>,​ directory entries of this type are NOT counted. \\ **max_depth** -  maximum depth of subdirectories to traverse. **-1** (default) - unlimited, **0** - no descending into subdirectories. \\ **min_size** - minimum size for file to be counted. Files smaller than this will not be counted. The value is in bytes. [[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **max_size** - maximum size for file to be counted. Files larger than this will not be counted. The value is in bytes. [[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **min_age** - minimum age of directory entry to be counted. Entries modified sooner than that will not be counted. The integer value is in seconds. [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used. \\ **max_age** - maximum age of directory entry to be counted. Entries so old and older will not be counted (modification time). The integer value is in seconds. [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used. |Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported. \\ \\ Pseudo-directories "​."​ and "​.."​ are never counted. \\ \\ Symbolic links are never followed for directory traversal.\\ \\ On Windows directory symlinks are skipped and hard links are counted only once.\\ \\ ''​regex_incl''​ and ''​regex_excl''​ are [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expressions]] (PCRE). Both ''​regex_incl''​ and ''​regex_excl''​ are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse %%(if regex_incl is “(?​i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip  will be counted)%%. ​ If a file name matches both ''​regex_incl''​ and ''​regex_excl''​ this file will not be counted. \\ \\ Execution time will be limited by a default timeout value that is 3 seconds (“Timeout” parameter in agent configuration file). Since large directory traversal may take longer than that, no data will be returned and the item will be marked as "Not supported"​. Partial count will not be returned. \\ \\ When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of **/​dev/​sda1** does not reflect the respective partition size. Therefore, when using ''<​min_size>''​ and ''<​max_size>''​ parameters, it is advisable to specify ''<​types_incl>''​ as "//​file//",​ to avoid surprises. \\ \\ Examples: \\ ⇒ vfs.dir.count[/​dev] - monitors number of devices in /dev (Linux) \\ ⇒ vfs.dir.count%%["​C:​\Users\ADMINI~1\AppData\Local\Temp"​]%% - monitors number of files in temporary directory (Windows)\\ \\ Supported since Zabbix 4.0.0. ​ |
 | ||||| | |||||
 ^vfs.dir.size[dir,<​regex_incl>,<​regex_excl>,<​mode>,<​max_depth>​] ​ ^^^^^ ^vfs.dir.size[dir,<​regex_incl>,<​regex_excl>,<​mode>,<​max_depth>​] ​ ^^^^^
-^ |Directory size (in bytes). ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regex describing the file, directory and symbolic link name pattern for inclusion (include all files, directories and symbolic links if empty; empty string is default value) \\ **regex_excl** - regex describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value) \\ **mode** - possible values:\\ //​apparent//​ (default) - gets apparent file sizes rather than disk usage (acts as ''​du -sb dir''​),​ //disk// - gets disk usage (acts as ''​du -s -B1 dir''​). Unlike du command, vfs.dir.size item takes hidden files in account when calculating directory size (acts as ''​du -sb .[^.]* *''​ within dir).  \\ **max_depth** - maximum depth of subdirectories to traverse. **-1** (default) - unlimited, **0** - no descending into subdirectories. \\ |Only directories with at least read permission for //zabbix// user are calculated.\\ \\ On Windows any symlink is skipped and hard links are taken into account only once.\\ \\ With large directories or slow drives this item may time out due to the Timeout setting in [[:​manual/​appendix/​config/​zabbix_agentd|agent]] and [[:​manual/​appendix/​config/​zabbix_server|server]]/​[[:​manual/​appendix/​config/​zabbix_proxy|proxy]] configuration files. Increase the timeout values as necessary.\\ \\ Examples: \\ ⇒ vfs.dir.size[/​tmp,​log] - calculates size of all files in /tmp which contain '​log'​ \\ ⇒ <​nowiki>​vfs.dir.size[/​tmp,​log,​^.+\.old$]</​nowiki>​ - calculates size of all files in /tmp which contain '​log',​ excluding files containing '​.old'​ \\ \\ The file size limit depends on [[manual/​appendix/​items/​large_file_support|large file support]].\\ \\ Supported since Zabbix 3.4.0. ​ |+^ |Directory size (in bytes). ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file, directory and symbolic link name pattern for inclusion (include all files, directories and symbolic links if empty; empty string is default value) \\ **regex_excl** - regular expression<​sup>​**[[#​footnotes|4]]**</​sup> ​describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value) \\ **mode** - possible values:\\ //​apparent//​ (default) - gets apparent file sizes rather than disk usage (acts as ''​du -sb dir''​),​ //disk// - gets disk usage (acts as ''​du -s -B1 dir''​). Unlike du command, vfs.dir.size item takes hidden files in account when calculating directory size (acts as ''​du -sb .[^.]* *''​ within dir).  \\ **max_depth** - maximum depth of subdirectories to traverse. **-1** (default) - unlimited, **0** - no descending into subdirectories. \\ |Only directories with at least read permission for //zabbix// user are calculated.\\ \\ On Windows any symlink is skipped and hard links are taken into account only once.\\ \\ With large directories or slow drives this item may time out due to the Timeout setting in [[:​manual/​appendix/​config/​zabbix_agentd|agent]] and [[:​manual/​appendix/​config/​zabbix_server|server]]/​[[:​manual/​appendix/​config/​zabbix_proxy|proxy]] configuration files. Increase the timeout values as necessary.\\ \\ Examples: \\ ⇒ vfs.dir.size[/​tmp,​log] - calculates size of all files in /tmp which contain '​log'​ \\ ⇒ <​nowiki>​vfs.dir.size[/​tmp,​log,​^.+\.old$]</​nowiki>​ - calculates size of all files in /tmp which contain '​log',​ excluding files containing '​.old'​ \\ \\ The file size limit depends on [[manual/​appendix/​items/​large_file_support|large file support]].\\ \\ Supported since Zabbix 3.4.0. ​ |
 | ||||| | |||||
 ^vfs.file.cksum[file] ​ ^^^^^ ^vfs.file.cksum[file] ​ ^^^^^
Line 208: 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 text 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#​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// |
 | ||||| | |||||
 ^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#​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] ​ |
 | ||||| | |||||
 ^vfs.file.size[file] ​ ^^^^^ ^vfs.file.size[file] ​ ^^^^^
Line 232: Line 235:
 | ||||| | |||||
 ^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.2.3) 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.2.3).\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)  |Returns an empty string on fail.\\ \\ ''​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.2.3) 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.2.3).\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)  |Returns 0 on fail.\\ \\ ''​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 text 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.2.3) 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]www.example.com%%''​ is only possible with cURL support <​sup>​**[[#​footnotes|5]]**</​sup>​.\\ Punycode is suported in hostnames (since 4.2.3).\\ **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). ​ |Returns an empty string if no match was found or on fail.\\ \\ ''​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]].\\ \\ Supported since 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.\\ \\ Supported since 4.0.5. ​ | 
 +| ||||| 
 + 
 +== Footnotes == 
 + 
 +<​sup>​**1**</​sup>​A Linux-specific note. Zabbix agent must have read-only access to filesystem ///proc//. Kernel patches from www.grsecurity.org limit access rights of non-privileged users. 
 + 
 +<​sup>​**2**</​sup>​ ''​vfs.dev.read[]'',​ ''​vfs.dev.write[]'':​ Zabbix agent will terminate %%"​%%stale%%"​%% device connections if the item values are not accessed for more than 3 hours. This may happen if a system has devices with dynamically changing paths or if a device gets manually removed. Note also that these items, if using an update interval of 3 hours or more, will always return '​0'​.  
 + 
 +<​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>​**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]].
  
-<note>A Linux-specific note. Zabbix ​agent must have read-only access to filesystem ///proc//Kernel patches from www.grsecurity.org limit access rights of non-privileged users.</​note>​+<sup>**5**</​sup>​ SSL (HTTPS) is supported only if agent is compiled with cURL supportOtherwise the item will turn unsupported.
  
 === Available encodings === === Available encodings ===
Line 250: Line 270:
 === Troubleshooting agent items === === Troubleshooting agent items ===
  
-  ​If used with 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.