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
Last revision Both sides next revision
manual:config:items:itemtypes:zabbix_agent [2016/02/16 15:25]
127.0.0.1 external edit
manual:config:items:itemtypes:zabbix_agent [2021/04/16 19:26]
martins-v fixing typos
Line 1: Line 1:
-==== - #1 Zabbix agent ====+==== 1 Zabbix agent ====
  
 === Overview === === Overview ===
Line 17: Line 17:
  
   * [[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:​zabbix_agent2|Item keys supported by Zabbix agent 2]]
   * [[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 26: Line 28:
 ^ ^  **Description** ​ ^  **Return value** ​ ^  **Parameters** ​ ^  **Comments** ​ ^ ^ ^  **Description** ​ ^  **Return value** ​ ^  **Parameters** ​ ^  **Comments** ​ ^
 | ||||| | |||||
-^agent.hostname ​ ^^^^^ +^ agent.hostname ​ ^^^^^ 
-^ |Agent host name.  |String ​ |  |Returns the actual value of the agent hostname from a configuration file.  |+^ |Agent host name.  |String ​ |  |Returns:\\ As passive check - the name of the first host listed in the Hostname parameter ​of the agent configuration file;\\ As active check - the name of the current hostname.  |
 | ||||| | |||||
 ^agent.ping ​ ^^^^^ ^agent.ping ​ ^^^^^
Line 41: Line 43:
 ^ |Maximum number of processes supported by OS.  |Integer ​ |  |  | ^ |Maximum number of processes supported by OS.  |Integer ​ |  |  |
 | ||||| | |||||
-^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>​] ​ ^^^^^ +^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 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). ​ |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]\\ \\ The ''​output''​ parameter ​is supported since Zabbix 2.2.\\ The ''​mode''​ parameter ​is supported since Zabbix ​2.0.\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |+^ |Log file monitoring. ​ |Log  |**file** - full path and name of log file\\ **regexp** - regular ​[[:​manual/​regular_expressions#​overview|expression]] 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** ​(since version 2.0)- possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** ​(since version 2.2)  ​- 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** (since version 3.2) - 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** (since version 4.4.7) - additional options:\\ //​mtime-noreread//​ - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.) ​ |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, ​errors 
 +" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 | ||||| | |||||
-^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>]  ^^^^^ +^log.count[file,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​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 proxyThis 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 templateThe **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9escape sequence is replaced with Nth matched group (or an empty string ​if the N exceeds the number of captured groups).  |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"​.%%\\ \\ The ''​output''​ parameter ​is supported ​since Zabbix 2.2.\\ The ''​mode''​ parameter is supported ​since Zabbix 2.0.\\ \\ See also additional information on [[log_items|log monitoring]].  |+^ |Count of matched lines in log file monitoring. ​ |Integer ​ |**file** - full path and name of log file\\ **regexp** - regular ​[[:​manual/​regular_expressions#​overview|expression]] 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 (cannot exceed 10000)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 secondsType: float. Values: ​- (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** (since version 4.4.7- additional options:\\ //​mtime-noreread//​ - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.) ​ |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.  |
 | ||||| | |||||
-^net.dns[<ip>,zone,<type>,<timeout>,<count>,<protocol>]  ^^^^^ +^logrt[file_regexp,​<regexp>,<​encoding>​,<maxlines>,<mode>,<output>,<maxdelay>,<​options>]  ^^^^^ 
-^ |Checks if DNS service is up.  |DNS is down (server did not respond or DNS resolution failed)\\ ​\\ DNS is up  ​|**ip** - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)\\ **zone** - zone to test the DNS\\ **type** - record type to be queried ​(default ​is //SOA//)\\ **timeout** (ignored on Windows) - timeout for the request in seconds ​(default is 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 supportedplease 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 (Unixand 2.0.0 (Windows).\\ \\ Naming before Zabbix ​2.0 (still supported)//net.tcp.dns//|+^ |Log file monitoring with log rotation support.  |Log  |**file_regexp** ​absolute path to file and regular [[:​manual/​regular_expressions#​overview|expression]] describing the file name pattern\\ **regexp** ​regular [[:​manual/​regular_expressions#​overview|expression]] 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** (since version 2.0) possible values:\\ //​all// ​(default), //skip// - skip processing of older data (affects only newly created items).\\ **output** (since version 2.2) - 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...9escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** (since version 3.2) - 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** (since version 4.0; //mtime-reread////mtime-noreread// options since 4.4.7) - type of log file rotation and other optionsPossible ​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 recordsreread if modification time or size changes (default),\\ //mtime-noreread// - non-unique recordsreread 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 filewith several other matching inactive files rotated. Iffor 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 graphstriggers 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, ​errors 
 +" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ See also additional information on [[log_items|log monitoring]].  ​|
 | ||||| | |||||
-^net.dns.record[<​ip>,​zone,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^ +^logrt.count[file_regexp,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>,<​options>​] ​ ^^^^^ 
-^ |Performs a DNS query. ​ |Character string with the required type of information ​ |**ip** - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)\\ **zone** - zone to test the DNS\\ **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.record[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.query//​|+^ |Count of matched lines in log file monitoring with log rotation support. ​ |Integer ​ |**file_regexp** - absolute path to file and regular [[:​manual/​regular_expressions#​overview|expression]] describing the file name pattern\\ **regexp** - regular [[:​manual/​regular_expressions#​overview|expression]] 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 (cannot exceed 10000). 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** (since version 4.0; //​mtime-reread//,​ //​mtime-noreread//​ options since 4.4.7) - 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]].\\ \\ This item is not supported for Windows Event Log.\\ \\ Supported since Zabbix 3.2.0. ​ | 
 +| ||||| 
 +^modbus.get[endpoint,<​slave id>,<​function>,<​address>,<​count>,<​type>,<​endianness>,<​offset>​] ​ ^^^^^ 
 +^ |Reads Modbus data.  |JSON object ​ |**endpoint** - endpoint defined as ''​%%protocol://​connection_string%%''​\\ **slave id** - slave ID\\ **function** - Modbus function\\ **address** - address of first registry, coil or input\\ **count** - number of records to read\\ **type** - type of data\\ **endianness** - endianness configuration\\ **offset** - number of registers, starting from '​address',​ the results of which will be discarded.\\ \\ See a [[:​manual/​appendix/​items/​modbus|detailed description]] of parameters. ​ |Supported since Zabbix 5.2.0. ​ | 
 +| ||||| 
 +^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** (since version 3.0) - 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.\\ \\ 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//​| 
 +| ||||| 
 +^net.dns.record[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^ 
 +^ |Performs a DNS query. ​ |Character string with the required type of information ​ |**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**(since version 3.0) - the protocol used to perform DNS queries: //udp// (default) or //​tcp// ​ |Example:\\ => net.dns.record[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.\\ \\ 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.query//​|
 | ||||| | |||||
 ^net.if.collisions[if] ​ ^^^^^ ^net.if.collisions[if] ​ ^^^^^
Line 60: Line 73:
 | ||||| | |||||
 ^net.if.in[if,<​mode>​] ​ ^^^^^ ^net.if.in[if,<​mode>​] ​ ^^^^^
-^ |Incoming traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets ​ |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Multi-byte interface names on Windows are supported since Zabbix agent version 1.8.6.\\ \\ Examples:\\ => net.if.in[eth0,​errors]\\ => net.if.in[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with //Delta (speed ​per second)// store value in order to get bytes per second statistics. ​ |+^ |Incoming traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets\\ //overruns (fifo)// - the number of FIFO buffer errors\\ //frame// - the number of packet framing errors\\ //​compressed//​ - the number of compressed packets transmitted or received by the device driver\\ //​multicast//​ - the number of multicast frames received by the device driver ​    |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Multi-byte interface names on Windows are supported since Zabbix agent version 1.8.6.\\ \\ Examples:\\ => net.if.in[eth0,​errors]\\ => net.if.in[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with the //Change ​per second// ​preprocessing step in order to get bytes per second statistics. ​ |
 | ||||| | |||||
 ^net.if.out[if,<​mode>​] ​ ^^^^^ ^net.if.out[if,<​mode>​] ​ ^^^^^
-^ |Outgoing traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets ​ |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Multi-byte interface names on Windows are supported since Zabbix agent 1.8.6 version.\\ \\ Examples:\\ => net.if.out[eth0,​errors]\\ => net.if.out[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with //Delta (speed ​per second)// store value in order to get bytes per second statistics. ​ |+^ |Outgoing traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets\\ //overruns (fifo)// - the number of FIFO buffer errors\\ //​collisions (colls)// - the number of collisions detected on the interface\\ //carrier// - the number of carrier losses detected by the device driver\\ //​compressed//​ - the number of compressed packets transmitted by the device driver ​ |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Multi-byte interface names on Windows are supported since Zabbix agent 1.8.6 version.\\ \\ Examples:\\ => net.if.out[eth0,​errors]\\ => net.if.out[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with the //Change ​per second// ​preprocessing step in order to get bytes per second statistics. ​ |
 | ||||| | |||||
 ^net.if.total[if,<​mode>​] ​ ^^^^^ ^net.if.total[if,<​mode>​] ​ ^^^^^
-^ |Sum of incoming and outgoing traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets ​ |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Examples:\\ => net.if.total[eth0,​errors]\\ => net.if.total[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with //Delta (speed ​per second)// store value in order to get bytes per second statistics.\\ \\ Note that dropped packets are supported only if both net.if.in and net.if.out work for dropped packets on your platform. ​ |+^ |Sum of incoming and outgoing traffic statistics on network interface. ​ |Integer ​ |**if** - network interface name (Unix); network interface full description or IPv4 address (Windows)\\ **mode** - possible values:\\ //bytes// - number of bytes (default)\\ //packets// - number of packets\\ //errors// - number of errors\\ //dropped// - number of dropped packets\\ //overruns (fifo)// - the number of FIFO buffer errors\\ //​compressed//​ - the number of compressed packets transmitted or received by the device driver ​ |On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.\\ \\ Examples:\\ => net.if.total[eth0,​errors]\\ => net.if.total[eth0]\\ \\ You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.\\ \\ You may use this key with the //Change ​per second// ​preprocessing step in order to get bytes per second statistics.\\ \\ Note that dropped packets are supported only if both net.if.in and net.if.out work for dropped packets on your platform. ​ |
 | ||||| | |||||
 ^net.tcp.listen[port] ​ ^^^^^ ^net.tcp.listen[port] ​ ^^^^^
Line 72: Line 85:
 | ||||| | |||||
 ^net.tcp.port[<​ip>,​port] ​ ^^^^^ ^net.tcp.port[<​ip>,​port] ​ ^^^^^
-^ |Checks if it is possible to make TCP connection to specified port.  |0 - cannot connect\\ \\ 1 - can connect ​ |**ip** - IP address ​(default is 127.0.0.1)\\ **port** - port number ​ |Example:\\ => net.tcp.port[,​80] -> can be used to test availability of web server running on port 80.\\ \\ For simple TCP performance testing use net.tcp.service.perf[tcp,<​ip>,<​port>​]\\ \\ Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually). ​\\ \\ Old naming: //​check_port[*]//​|+^ |Checks if it is possible to make TCP connection to specified port.  |0 - cannot connect\\ \\ 1 - can connect ​ |**ip** - IP or DNS name (default is 127.0.0.1)\\ **port** - port number ​ |Example:\\ => net.tcp.port[,​80] -> can be used to test availability of web server running on port 80.\\ \\ For simple TCP performance testing use net.tcp.service.perf[tcp,<​ip>,<​port>​]\\ \\ Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).|
 | ||||| | |||||
 ^net.tcp.service[service,<​ip>,<​port>​] ​ ^^^^^ ^net.tcp.service[service,<​ip>,<​port>​] ​ ^^^^^
-^ |Checks if service is running and accepting TCP connections. ​ |0 - service is down\\ \\ 1 - service is running ​ |**service** - either of:\\ //ssh//, //ldap//, //smtp//, //ftp//, //http//, //pop//, //nntp//, //imap//, //tcp//, //https//, //telnet// (see [[:​manual/​appendix/​items/​service_check_details|details]])\\ **ip** - IP address (default is 127.0.0.1)\\ **port** - port number (by default standard service port number is used)  |Example:\\ => net.tcp.service[ftp,,​45] -> can be used to test the availability of FTP server on TCP port 45.\\ \\ Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).\\ \\ Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.port for checks like these.\\ \\ Checking of LDAP and HTTPS by Windows ​agent is currently not supported.\\ \\ Note that the telnet check looks for a login prompt (':'​ at the end).\\ \\ See also [[manual/​installation/​known_issues#​https_checks|known issues]] of checking HTTPS service.\\ \\ //https// and //telnet// services are supported since Zabbix 2.0.\\ \\ Old naming: //​check_service[*]// ​ |+^ |Checks if service is running and accepting TCP connections. ​ |0 - service is down\\ \\ 1 - service is running ​ |**service** - either of:\\ //ssh//, //ldap//, //smtp//, //ftp//, //http//, //pop//, //nntp//, //imap//, //tcp//, //https//, //telnet// (see [[:​manual/​appendix/​items/​service_check_details|details]])\\ **ip** - IP address (default is 127.0.0.1)\\ **port** - port number (by default standard service port number is used)  |Example:\\ => net.tcp.service[ftp,,​45] -> can be used to test the availability of FTP server on TCP port 45.\\ \\ Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).\\ \\ Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.port for checks like these.\\ \\ Checking of LDAP and HTTPS on Windows is only supported ​by Zabbix agent 2.\\ \\ Note that the telnet check looks for a login prompt (':'​ at the end).\\ \\ See also [[manual/​installation/​known_issues#​https_checks|known issues]] of checking HTTPS service.\\ \\ //https// and //telnet// services are supported since Zabbix 2.0.  |
 | ||||| | |||||
 ^net.tcp.service.perf[service,<​ip>,<​port>​] ​ ^^^^^ ^net.tcp.service.perf[service,<​ip>,<​port>​] ​ ^^^^^
-^ |Checks performance of TCP service. ​ |0 - service is down\\ \\ seconds - the number of seconds spent while connecting to the service ​ |**service** - either of:\\ //ssh//, //ldap//, //smtp//, //ftp//, //http//, //pop//, //nntp//, //imap//, //tcp//, //https//, //telnet// (see [[:​manual/​appendix/​items/​service_check_details|details]])\\ **ip** - IP address (default is 127.0.0.1)\\ **port** - port number (by default standard service port number is used)  |Example:\\ => net.tcp.service.perf[ssh] -> can be used to test the speed of initial response from SSH server.\\ \\ Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service.perf[tcp,<​ip>,<​port>​] for checks like these.\\ \\ Checking of LDAP and HTTPS by Windows ​agent is currently not supported.\\ \\ Note that the telnet check looks for a login prompt (':'​ at the end).\\ \\ See also [[manual/​installation/​known_issues#​https_checks|known issues]] of checking HTTPS service.\\ \\ //https// and //telnet// services are supported since Zabbix 2.0.\\ \\ Old naming: //​check_service_perf[*]// ​ |+^ |Checks performance of TCP service. ​ |0 - service is down\\ \\ seconds - the number of seconds spent while connecting to the service ​ |**service** - either of:\\ //ssh//, //ldap//, //smtp//, //ftp//, //http//, //pop//, //nntp//, //imap//, //tcp//, //https//, //telnet// (see [[:​manual/​appendix/​items/​service_check_details|details]])\\ **ip** - IP address (default is 127.0.0.1)\\ **port** - port number (by default standard service port number is used)  |Example:\\ => net.tcp.service.perf[ssh] -> can be used to test the speed of initial response from SSH server.\\ \\ Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service.perf[tcp,<​ip>,<​port>​] for checks like these.\\ \\ Checking of LDAP and HTTPS on Windows is only supported ​by Zabbix agent 2.\\ \\ Note that the telnet check looks for a login prompt (':'​ at the end).\\ \\ See also [[manual/​installation/​known_issues#​https_checks|known issues]] of checking HTTPS service.\\ \\ //https// and //telnet// services are supported since Zabbix 2.0.  |
 | ||||| | |||||
 ^net.udp.listen[port] ​ ^^^^^ ^net.udp.listen[port] ​ ^^^^^
Line 90: Line 103:
 | ||||| | |||||
 ^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 ​only on Solaris ​platform.  |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. \\ \\ 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 utilization ​percentage. ​ |Float ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **type** - CPU utilization ​type:\\ //total// (default), //user//, //​system//​\\ **cmdline** - filter by command line (it is a regular ​[[:​manual/​regular_expressions#​overview|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 utilization ​of all processes running under the "​root"​ user\\ => proc.cpu.util[zabbix_server,​zabbix] -> CPU utilization ​of all zabbix_server processes running under the zabbix user\\ \\ The returned value is based on single CPU core utilization ​percentage. For example CPU utilization ​of a process fully using two cores is 200%. \\ \\ The process CPU utilization ​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** - 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\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters.\\ \\ The ''​memtype''​ parameter ​is supported since Zabbix 3.0.0. It is supported on several ​platforms (see [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]])See also special [[manual:​appendix:​items:​proc_mem_notes|notes]] on ''​memtype''​ parameter.  |+^ |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 ​[[:​manual/​regular_expressions#​overview|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.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>​] ​ ^^^^^ +^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), //run//, //sleep//, //zomb//\\ **cmdline** - filter by command line (it is a regular expression) ​ |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.\\ \\ On Windows, only the ''​name''​ and ''​user''​ parameters are supported. ​ |+^ |The number of processes. ​ |Integer ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **state** ​(//disk// and //trace// options since version 3.4.0) ​- 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 ​[[:​manual/​regular_expressions#​overview|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.  |
 | ||||| | |||||
 ^sensor[device,​sensor,<​mode>​] ​ ^^^^^ ^sensor[device,​sensor,<​mode>​] ​ ^^^^^
Line 113: Line 126:
 | ||||| | |||||
 ^system.cpu.load[<​cpu>,<​mode>​] ​ ^^^^^ ^system.cpu.load[<​cpu>,<​mode>​] ​ ^^^^^
-^ |[[http://​en.wikipedia.org/​wiki/​Load_(computing)|CPU load]]. ​ |Float ​ |**cpu** - possible values:\\ //all// (default), //percpu// (total load divided by online CPU count)\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.load[,​avg5]\\ \\ //percpu// is supported since Zabbix 2.0.0.\\ \\ Old naming: //​system.cpu.loadX//  ​|+^ |[[http://​en.wikipedia.org/​wiki/​Load_(computing)|CPU load]]. ​ |Float ​ |**cpu** - possible values:\\ //all// (default), //percpu// (since version 2.0; total load divided by online CPU count)\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.load[,​avg5]. |
 | ||||| | |||||
 ^system.cpu.num[<​type>​] ​ ^^^^^ ^system.cpu.num[<​type>​] ​ ^^^^^
Line 119: Line 132:
 | ||||| | |||||
 ^system.cpu.switches ​ ^^^^^ ^system.cpu.switches ​ ^^^^^
-^ |Count of context switches. ​ |Integer ​ |  |Old naming: //​system[switches]// ​ |+^ |Count of context switches. ​ |Integer ​ |  |  |
 | ||||| | |||||
-^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^ +^system.cpu.util[<​cpu>,<​type>,<​mode>,<​logical_or_physical>]  ^^^^^ 
-^ |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)\\ **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 utilization ​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).\\ See also [[:​manual/​appendix/​items/​supported_by_platform|platform-specific]] details for this parameter.\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​\\ **logical_or_physical** (since version 5.0.3; on AIX only) - possible values: //logical// (default), //​physical//​. This parameter is supported on AIX only. |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>​] ​ ^^^^^
-^ |System host name.  |String ​ |**type** (Windows only, must not be used on other systems) - possible values: //netbios// (default) or //host// | The value is acquired by either GetComputerName() (for **netbios**) or gethostname() (for **host**) functions on Windows and by "​hostname"​ command on other systems.\\ \\ Examples of returned values:\\ //on Linux//:\\ => system.hostname -> linux-w7x1\\ => system.hostname ->  %%www.zabbix.com%%\\ //on Windows//:​\\ => system.hostname -> WIN-SERV2008-I6\\ => system.hostname[host] -> Win-Serv2008-I6LonG\\ \\ The ''​type''​ parameter for this item is supported since Zabbix **1.8.6**.\\ \\ See also a [[manual:​appendix:​install:​windows_agent#​configuration|more detailed description]]. ​ |+^ |System host name.  |String ​ |**type** (since version 1.8.6 for Windows only, must not be used on other systems) - possible values: //netbios// (default) or //host// | The value is acquired by either GetComputerName() (for **netbios**) or gethostname() (for **host**) functions on Windows and by "​hostname"​ command on other systems.\\ \\ Examples of returned values:\\ //on Linux//:\\ => system.hostname -> linux-w7x1\\ => system.hostname ->  %%www.zabbix.com%%\\ //on Windows//:​\\ => system.hostname -> WIN-SERV2008-I6\\ => system.hostname[host] -> Win-Serv2008-I6LonG\\ \\ See also a [[manual:​appendix:​install:​windows_agent#​configuration|more detailed description]]. ​ |
 | ||||| | |||||
 ^system.hw.chassis[<​info>​] ​ ^^^^^ ^system.hw.chassis[<​info>​] ​ ^^^^^
-^ |Chassis information. ​ |String ​ |**info** - possible values: //full// (default), ​//model////serial////type// or //vendor// |Example:\\ => system.hw.chassis[full] ​-> Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]\\ \\ This key depends on the availability of the [[http://​en.wikipedia.org/​wiki/​System_Management_BIOS|SMBIOS]] table in memory.\\ \\ **Root permissions** are required because the value is acquired by reading from memory.\\ \\ Supported since Zabbix agent version 2.0. |+^ |Chassis information. ​ |String ​ |**info** - one of full (default), model, serial, type or vendor |Example: system.hw.chassis[full]\\ Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]\\ \\ This key depends on the availability of the [[http://​en.wikipedia.org/​wiki/​System_Management_BIOS|SMBIOS]] table.\\ Will try to read the DMI table from sysfs, if sysfs access fails then try reading directly from memory. \\ \\ **Root permissions** are required because the value is acquired by reading from sysfs or memory.\\ \\ Supported since Zabbix agent version 2.0. |
 | ||||| | |||||
 ^system.hw.cpu[<​cpu>,<​info>​] ​ ^^^^^ ^system.hw.cpu[<​cpu>,<​info>​] ​ ^^^^^
Line 134: Line 147:
 | ||||| | |||||
 ^system.hw.devices[<​type>​] ​ ^^^^^ ^system.hw.devices[<​type>​] ​ ^^^^^
-^ |Listing of PCI or USB devices. ​ |Text  |**type** - //pci// (default) or //usb// |Example:\\ => system.hw.devices[pci] -> 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge\\ [..]\\ \\ Returns the output of either lspci or lsusb utility (executed without any parameters)\\ \\ Supported since Zabbix agent version 2.0. |+^ |Listing of PCI or USB devices. ​ |Text  |**type** ​(since version 2.0) - //pci// (default) or //usb// |Example:\\ => system.hw.devices[pci] -> 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge\\ [..]\\ \\ Returns the output of either lspci or lsusb utility (executed without any parameters). |
 | ||||| | |||||
 ^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 ​[[:​manual/​regular_expressions#​overview|expression]]\\ **format** - //full// (default) or //short// |Lists MAC adresses of the interfaces whose name matches the given ''​interface'' ​regular [[:​manual/​regular_expressions#​overview|expression]] ​(//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. |+^ |System time.  |Integer - with ''​type''​ as //utc//\\ \\ String - with ''​type''​ as //​local// ​ |**type** ​(since version 2.0) - 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.\\ \\ Example:\\ => system.localtime[local] -> create an item using this key and then use it to display host time in the //Clock// [[:​manual/​web_interface/​frontend_sections/​monitoring/​dashboard/​widgets#​clock|dashboard widget]] |
 | ||||| | |||||
 ^system.run[command,<​mode>​] ​ ^^^^^ ^system.run[command,<​mode>​] ​ ^^^^^
-^ |Run specified command on the host.  |Text result of the command\\ \\ 1 - with ''​mode''​ as //nowait// (regardless of command result) ​ |**command** - command for execution\\ **mode** - possible values:\\ //wait// - wait end of execution (default),​\\ //nowait// - do not wait  |Up to 512KB of data can be returned, including trailing whitespace that is truncated.\\ To be processed correctly, the output of the command must be text.\\ \\ Example:\\ => system.run[ls -l /] -> detailed file list of root directory.\\ \\ //​Note//: ​To enable this functionality, ​[[manual:appendix:config:​zabbix_agentd|agent configuration file]] must contain EnableRemoteCommands=1 option.\\ //​Note//: ​The return value of the item is standard output together with standard error produced by command.\\ ​//​Note:// ​Empty result is allowed starting with Zabbix 2.4.0.\\ \\ See also: [[:​manual/​appendix/​command_execution|Command execution]]. ​ |+^ |Run specified command on the host.  |Text result of the command\\ \\ 1 - with ''​mode''​ as //nowait// (regardless of command result) ​ |**command** - command for execution\\ **mode** - possible values:\\ //wait// - wait end of execution (default),​\\ //nowait// - do not wait  |Up to 512KB of data can be returned, including trailing whitespace that is truncated.\\ To be processed correctly, the output of the command must be text.\\ \\ Example:\\ => system.run[ls -l /] -> detailed file list of root directory.\\ \\ //​Note//: ​system.run items are disabled by default. Learn how to [[:[[:manual/config/​items/​restrict_checks|enable them]].\\ \\ The return value of the item is standard output together with standard error produced by command. The exit code is not checked.\\ \\ Empty result is allowed starting with Zabbix 2.4.0.\\ See also: [[:​manual/​appendix/​command_execution|Command execution]]. ​ |
 | ||||| | |||||
 ^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 152: Line 167:
 | ||||| | |||||
 ^system.sw.os[<​info>​] ​ ^^^^^ ^system.sw.os[<​info>​] ​ ^^^^^
-^ |Operating system information. ​ |String ​ |**info** - possible values: \\ //full// (default), //short// or //name// |Example:\\ => system.sw.os[short]->​ Ubuntu 2.6.35-28.50-generic 2.6.35.11\\ \\ Info is acquired from (note that not all files are present in all distributions):​\\ /​proc/​version (//​full//​)\\ /​proc/​version_signature (//​short//​)\\ /​etc/​issue.net (//​name//​)\\ \\ Supported since Zabbix agent version 2.0. |+^ |Operating system information. ​ |String ​ |**info** - possible values: \\ //full// (default), //short// or //name// |Example:\\ => system.sw.os[short]->​ Ubuntu 2.6.35-28.50-generic 2.6.35.11\\ \\ Info is acquired from (note that not all files and options ​are present in all distributions):​\\ /​proc/​version (//​full//​)\\ /​proc/​version_signature (//​short//​)\\ ​PRETTY_NAME parameter from /​etc/​os-release on systems supporting it, or /​etc/​issue.net (//​name//​)\\ \\ Supported since Zabbix agent version 2.0. |
 | ||||| | |||||
 ^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 ​[[:​manual/​regular_expressions#​overview|expression]]\\ **manager** - //all// (default) or a package manager\\ **format** - //full// (default) or //short// |Lists (alphabetically) installed packages whose name matches the given ''​package'' ​regular [[:​manual/​regular_expressions#​overview|expression]] ​(//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 separate ​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\\ \\ 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)\\ Note that //pfree//, //pused// are not supported on Windows if swap size is 0.\\ 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.  |
 | ||||| | |||||
 ^system.uname ​ ^^^^^ ^system.uname ​ ^^^^^
Line 174: Line 189:
 ^system.users.num ​ ^^^^^ ^system.users.num ​ ^^^^^
 ^ |Number of users logged in.  |Integer ​ |  |**who** command is used on the agent side to obtain the value. ​ | ^ |Number of users logged in.  |Integer ​ |  |**who** command is used on the agent side to obtain the value. ​ |
 +| |||||
 +^vfs.dev.discovery ​ ^^^^^
 +^ |List of block devices and their type. Used for low-level discovery. ​ |JSON object ​ |  |This item is supported on Linux platform only.\\ \\ Supported since Zabbix 4.4.0. ​ |
 | ||||| | |||||
 ^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//​\\ ​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//​). ​ |
 | ||||| | |||||
 ^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 statisticsincluding all block devices like sdasbd and their partitions ​(sda1sda2sdb3...) and multiple devices ​(MD raidbased on those block devices/​partitions ​and logical volumes ​(LVMbased on those block devices/partitionsIn such cases returned values should ​be considered only as relative value (dynamic ​in timebut 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.6Since thenan 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//​\\ ​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//​). ​ | 
 +| ||||| 
 +^vfs.dir.count[dir,<​regex_incl>,<​regex_excl>,<​types_incl>,<​types_excl>,<​max_depth>,<​min_size>,<​max_size>,<​min_age>,<​max_age>,<​regex_excl_dir>​] ​ ^^^^^ 
 +^ |Directory entry count. ​ |Integer ​ |**dir** - absolute path to directory ​\\ **regex_incl** - regular [[:​manual/​regular_expressions#​overview|expression]] describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)\\ **regex_excl** - regular [[:​manual/​regular_expressions#​overview|expression]] describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default ​value)\\ **types_incl** - 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 types (default), i.e. %%"​%%file,​dir,​sym,​sock,​bdev,​cdev,​fifo%%"​%%. Multiple types must be separated with comma and quoted.\\ **types_excl** - directory entry types (see <​types_incl>​) to NOT count. 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 (in bytes) for file to be countedSmaller files will not be counted[[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **max_size** - maximum size (in bytesfor file to be counted. Larger files will not be counted. [[manual:​appendix:​suffixes#​memory_suffixes|Memory suffixes]] can be used. \\ **min_age** - minimum age (in secondsof directory entry to be counted. More recent entries will not be counted. [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used. \\ **max_age** - maximum age (in seconds) of directory entry to be counted. Entries so old and older will not be counted ​(modification time). [[manual:​appendix:​suffixes#​time_suffixes|Time suffixes]] can be used.\\ **regex_excl_dir** - regular [[:manual/regular_expressions#​overview|expression]] describing the name pattern of the directory to excludeAll content of the directory will be excluded ​(in contrast to regex_excl ​|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.\\ \\ 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)%%.\\ \\ Execution time is limited by the default timeout value in agent [[:​manual/​appendix/​config/​zabbix_agentd|configuration]] ​(3 sec). Since large directory traversal may take longer than thatno data will be returned and the item will turn unsupported. 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>'',​ 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>,<​regex_excl_dir>​] ​ ^^^^^ 
 +^ |Directory size (in bytes). ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regular [[:manual/regular_expressions#​overview|expression]] describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)\\ ​**regex_excl** - regular [[:​manual/​regular_expressions#​overview|expression]] describing the name pattern of the entity ​(filedirectory, symbolic link) to exclude; don't exclude any if empty (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.\\ **regex_excl_dir** - regular [[:manual/regular_expressions#​overview|expression]] describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl) ​ |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] ​ ^^^^^
-^ |File checksum, calculated by the UNIX cksum algorithm. ​ |Integer ​ |**file** - full path to file  |Example:\\ => vfs.file.cksum[/​etc/​passwd]\\ \\ Example of returned value:\\ 1938292000\\ \\  Old naming: //cksum//\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. |+^ |File checksum, calculated by the UNIX cksum algorithm. ​ |Integer ​ |**file** - full path to file  |Example:\\ => vfs.file.cksum[/​etc/​passwd]\\ \\ Example of returned value:\\ 1938292000\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. |
 | ||||| | |||||
 ^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.\\ \\ 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,<​types_incl>,<​types_excl>​]  ^^^^^ 
-^ |Checks if file exists. ​ |0 - not found\\ \\ 1 - regular file or a link (symbolic or hard) to regular ​file exists ​ |**file** - full path to file  |Example:\\ => vfs.file.exists[/​tmp/​application.pid]\\ \\ The return value depends on what S_ISREG POSIX macro returns.\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. |+^ |Checks if file exists. ​ |0 - not found\\ \\ 1 - file of the specified type exists ​ |**file** - full path to file\\ **types_incl** - list of file types to include, possible values: //file// (regular file, default (if types_excl is not set)), //dir// (directory),​ //sym// (symbolic link), //sock// (socket), //bdev// (block device), //cdev// (character device), //fifo// (FIFO), //dev// (synonymous with %%"​bdev,​cdev"​%%),​ //all// (all mentioned types, default if types_excl is set).\\ **types_excl** - list of file types to exclude, see types_incl for possible values (by default no types are excluded) ​|Multiple types must be separated with a comma and the entire set enclosed in quotes %%""​%%.\\ On Windows the double quotes have to be backslash '​\'​ escaped and the whole item key enclosed in double quotes when using the command line utility for calling zabbix_get.exe or agent2.\\ \\ If the same type is in both <​types_incl>​ and <​types_excl>,​ files of this type are excluded.\\ \\ Examples:\\ => vfs.file.exists[/​tmp/​application.pid]\\ ​=> vfs.file.exists[/​tmp/​application.pid,​%%"​file,​dir,​sym"​%%]\\ => vfs.file.exists[/​tmp/​application_dir,​dir]\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]].\\ \\ Note that the item may turn unsupported on Windows if a directory is searched within a non-existing directory, e.g. vfs.file.exists[C:​\no\dir,​dir] (where '​no'​ does not exist).  ​|
 | ||||| | |||||
 ^vfs.file.md5sum[file] ​ ^^^^^ ^vfs.file.md5sum[file] ​ ^^^^^
Line 194: Line 218:
 | ||||| | |||||
 ^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** - GNU regular expression\\ **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 ​[[:​manual/​regular_expressions#​overview|expression]] 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.\\ \\ 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** - GNU regular expression\\ **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 ​[[:​manual/​regular_expressions#​overview|expression]] 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.\\ \\ 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 203: Line 227:
 | ||||| | |||||
 ^vfs.file.time[file,<​mode>​] ​ ^^^^^ ^vfs.file.time[file,<​mode>​] ​ ^^^^^
-^ |File time information. ​ |Integer (Unix timestamp) ​ |**file** - full path to the file\\ **mode** - possible values:\\ //modify// (default) - modification ​time, //access// - last access ​time, //change// - last change ​time  |Example:\\ => vfs.file.time[/​etc/​passwd,​modify]\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. ​ |+^ |File time information. ​ |Integer (Unix timestamp) ​ |**file** - full path to the file\\ **mode** - possible values:\\ //modify// (default) - last time of modifying file content,\\ //access// - last time of reading file,\\ //change// - last time of changing file properties ​ ​|Example:​\\ => vfs.file.time[/​etc/​passwd,​modify]\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. ​ |
 | ||||| | |||||
 ^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 ​and their types. 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.4.5. |
 | ||||| | |||||
 ^vfs.fs.inode[fs,<​mode>​] ​ ^^^^^ ^vfs.fs.inode[fs,<​mode>​] ​ ^^^^^
-^ |Number or percentage of inodes. ​ |Integer - for number\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - possible values: \\ //total// (default), //free//, //used//, //pfree // (free, percentage),​ //pused// (used, percentage) ​ |Example:\\ => vfs.fs.inode[/,​pfree] ​\\ \\ Old naming: //​vfs.fs.inode.free[*]//,​ //​vfs.fs.inode.pfree[*]//,​ //​vfs.fs.inode.total[*]// ​ |+^ |Number or percentage of inodes. ​ |Integer - for number\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - possible values: \\ //total// (default), //free//, //used//, //pfree // (free, percentage),​ //pused// (used, percentage) ​ |Example:\\ => vfs.fs.inode[/,​pfree] ​ |
 | ||||| | |||||
 ^vfs.fs.size[fs,<​mode>​] ​ ^^^^^ ^vfs.fs.size[fs,<​mode>​] ​ ^^^^^
-^ |Disk space in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - possible values: \\  //total// (default), //free//, //used//, //pfree// (free, percentage),​ //pused// (used, percentage) ​ |In case of a mounted volume, disk space for local file system is returned. ​ \\ \\ Example:\\ => vfs.fs.size[/​tmp,​free]\\ \\ Reserved space of a file system is taken into account and not included when using the //free// mode.\\ \\ Old naming: //​vfs.fs.free[*]//,​ //​vfs.fs.total[*]//,​ //​vfs.fs.used[*]//,​ //​vfs.fs.pfree[*]//,​ //​vfs.fs.pused[*]// ​ |+^ |Disk space in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - possible values: \\  //total// (default), //free//, //used//, //pfree// (free, percentage),​ //pused// (used, percentage) ​ |In case of a mounted volume, disk space for local file system is returned. ​ \\ \\ Example:\\ => vfs.fs.size[/​tmp,​free]\\ \\ Reserved space of a file system is taken into account and not included when using the //free// mode.  |
 | ||||| | |||||
 ^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//, //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//, //​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  |**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 URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|4]]**</​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|4]]**</​sup>​.\\ Punycode is supported in hostnames.\\ **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 URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|4]]**</​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|4]]**</​sup>​.\\ Punycode is supported in hostnames.\\ **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** - GNU regular expression\\ **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.\\ \\ 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 URL (as ''​%%scheme://​host:​port/​path%%'',​ where only //host// is mandatory).\\ Allowed URL schemes: //http//, //​https//<​sup>​**[[#​footnotes|4]]**</​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|4]]**</​sup>​.\\ Punycode is supported in hostnames.\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80 for HTTP)\\ **regexp** - regular ​[[:​manual/​regular_expressions#​overview|expression]] 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]]. ​ | 
 +^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. ​ | 
 +| ||||| 
 + 
 +== 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.
  
-<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>**4**</​sup>​ SSL (HTTPS) is supported only if agent is compiled with cURL supportOtherwise the item will turn unsupported.
  
-=== Available encodings ​===+=== 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'​. 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 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.