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/11/10 09:12]
martins-v proc.mem - when several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values
manual:config:items:itemtypes:zabbix_agent [2019/08/15 07:40]
martins-v fixing typo/copy-paste error
Line 1: Line 1:
-==== - #1 Zabbix agent ====+==== 1 Zabbix agent ====
  
 === Overview === === Overview ===
Line 26: Line 26:
 ^ ^  **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 the actual value of the agent hostname from a configuration file.  |
 | ||||| | |||||
Line 42: Line 42:
 | ||||| | |||||
 ^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^ ^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^
-^ |Log file monitoring. ​ |Log  |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => log[/​var/​log/​syslog]\\ => log[/​var/​log/​syslog,​error]\\ => log[/​home/​zabbix/​logs/​logfile,,,​100]\\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2. \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |+^ |Log file monitoring. ​ |Log  |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => log[/​var/​log/​syslog]\\ => log[/​var/​log/​syslog,​error]\\ => log[/​home/​zabbix/​logs/​logfile,,,​100]\\ \\  //Example of using ''​output''​ parameter for extracting a number from log record://\\ %%log[/​app1/​app.log,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%%->​ %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only number 6080 to server. Because a number is being sent, the "Type of information"​ for this log item can be changed from "​Log"​ to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\  //Example of using ''​output''​ parameter for rewriting log record before sending to server:// \\ %%log[/​app1/​app.log,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"​]%%->​ %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors 
 +" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% ​\\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2. \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 | ||||| | |||||
 ^log.count[file,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>​] ​ ^^^^^ ^log.count[file,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>​] ​ ^^^^^
-^ |Count of matched lines in log file monitoring. ​ |Integer ​ |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 4*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!  |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported. \\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ Supported since Zabbix 3.2.0. ​ |+^ |Count of matched lines in log file monitoring. ​ |Integer ​ |**file** - full path and name of log file\\ **regexp** - regular expression describing the required pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it!  |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ If file is missing or permissions do not allow access, item turns unsupported. \\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ Supported since Zabbix 3.2.0. ​ |
 | ||||| | |||||
 ^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^ ^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>,<​maxdelay>​] ​ ^^^^^
-^ |Log file monitoring with log rotation support. ​ |Log  |**file_regexp** - absolute path to file and regexp describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |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 ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2.\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |+^ |Log file monitoring with log rotation support. ​ |Log  |**file_regexp** - absolute path to file and regexp describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxlines** - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of '​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]]\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ If ''​output''​ is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except '​Result is TRUE' always return the whole matched line and the ''​output''​ parameter is ignored.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ Examples:\\ => %%logrt["/​home/​zabbix/​logs/​^logfile[0-9]{1,​3}$",,,​100]%% -> %%will match a file like "​logfile1"​ (will not match "​.logfile1"​)%%\\ => %%logrt["/​home/​user/​^logfile_.*_[0-9]{1,​3}$","​pattern_to_match","​UTF-8",​100]%% -> %%will collect data from files such "​logfile_abc_1"​ or "​logfile__001"​.%%\\ \\ //Example of using ''​output''​ parameter for extracting a number from log record://\\ %%logrt[/​app1/​^test.*log$,"​task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,​\1]%%->​ %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"​ and send only number 6080 to server. Because a number is being sent, the "Type of information"​ for this log item can be changed from "​Log"​ to "​Numeric (unsigned)"​ and the value can be used in graphs, triggers etc.%% \\ \\ //Example of using ''​output''​ parameter for rewriting log record before sending to server:// \\ %%logrt[/​app1/​^test.*log$,"​([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"​\1 RECORDS: \3, ERRORS: \4, DURATION: \2"​]%%->​ %%will match a log record "​2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors 
 +" and send a modified record "​2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.%% \\ \\ The ''​mode''​ parameter is supported since Zabbix 2.0.\\ The ''​output''​ parameter is supported since Zabbix 2.2.\\ The ''​maxdelay''​ parameter is supported since Zabbix 3.2.\\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 | ||||| | |||||
 ^logrt.count[file_regexp,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>​] ​ ^^^^^ ^logrt.count[file_regexp,<​regexp>,<​encoding>,<​maxproclines>,<​mode>,<​maxdelay>​] ​ ^^^^^
-^ |Count of matched lines in log file monitoring with log rotation support. ​ |Integer ​ |**file_regexp** - absolute path to file and regexp describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 4*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ See also additional information on [[log_items|log monitoring]].\\ \\ Supported since Zabbix 3.2.0. ​ |+^ |Count of matched lines in log file monitoring with log rotation support. ​ |Integer ​ |**file_regexp** - absolute path to file and regexp describing the file name pattern\\ **regexp** - regular expression describing the required content pattern\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **maxproclines** - maximum number of new lines per second the agent will analyze. Default value is 10*'​MaxLinesPerSecond'​ in [[manual:​appendix:​config:​zabbix_agentd|zabbix_agentd.conf]].\\ **mode** - possible values:\\ //all// (default), //skip// - skip processing of older data (affects only newly created items).\\ **maxdelay** - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "​maxdelay"​ seconds. Read the [[log_items#​using_maxdelay_parameter|maxdelay]] notes before using it! |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]].\\ \\ Supported since Zabbix 3.2.0. ​ |
 | ||||| | |||||
 ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^ ^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>,<​protocol>​] ​ ^^^^^
Line 66: Line 68:
 | ||||| | |||||
 ^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 ​ |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 ​ |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 ​ |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 81: Line 83:
 | ||||| | |||||
 ^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 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[*]// ​ |
 | ||||| | |||||
 ^net.tcp.service.perf[service,<​ip>,<​port>​] ​ ^^^^^ ^net.tcp.service.perf[service,<​ip>,<​port>​] ​ ^^^^^
Line 96: Line 98:
 | ||||| | |||||
 ^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. Since Zabbix 3.0.3 if agent has been compiled on Solaris without zone support but is running on a newer Solaris where zones are supported and <​zone>​ parameter is default or //current// then the agent will return NOTSUPPORTED (the agent cannot limit results to only current zone). However, <​zone>​ parameter value //all// is supported in this case. |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 utilisation percentage. ​ |Float ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **type** - CPU utilisation type:\\ //total// (default), //user//, //​system//​\\ **cmdline** - filter by command line (it is a regular expression) \\ **mode** - data gathering mode: //avg1// (default), //avg5//, //avg15//\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  |Examples:​\\ => proc.cpu.util[,​root] -> CPU utilisation of all processes running under the "​root"​ user\\ => proc.cpu.util[zabbix_server,​zabbix] -> CPU utilisation of all zabbix_server processes running under the zabbix user\\ \\ The returned value is based on single CPU core utilisation percentage. For example CPU utilisation of a process fully using two cores is 200%. \\ \\ The process CPU utilisation data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.\\ \\ //Note// that when setting the ''​zone''​ parameter to //current// (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, //all// is supported in this case.\\ \\ This key is supported since Zabbix 3.0.0 and is available on several platforms (see [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]). |
 | ||||| | |||||
 ^proc.mem[<​name>,<​user>,<​mode>,<​cmdline>,<​memtype>​] ​ ^^^^^ ^proc.mem[<​name>,<​user>,<​mode>,<​cmdline>,<​memtype>​] ​ ^^^^^
-^ |Memory used by process in bytes. ​ |Integer ​ |**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **mode** - possible values:\\ //avg//, //max//, //min//, //sum// (default)\\ **cmdline** - filter by command line (it is a regular expression) \\ **memtype** - [[:​manual/​appendix/​items/​proc_mem_notes|type of memory]] used by process ​ |Examples:​\\ => proc.mem[,​root] -> memory used by all processes running under the "​root"​ user\\ => proc.mem[zabbix_server,​zabbix] -> memory used by all zabbix_server processes running under the zabbix user\\ => proc.mem[,​oracle,​max,​oracleZABBIX] -> memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line\\ \\ //Note//: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ The ''​memtype''​ parameter is supported on several [[manual:​appendix:​items:​supported_by_platform|platforms]] since Zabbix 3.0.0. ​ |+^ |Memory used by process in bytes. ​ |Integer ​- with ''​mode''​ as //max//, //min//, //sum//\\ \\ Float - with ''​mode''​ as //​avg// ​ ​|**name** - process name (default is //all processes//​)\\ **user** - user name (default is //all users//)\\ **mode** - possible values:\\ //avg//, //max//, //min//, //sum// (default)\\ **cmdline** - filter by command line (it is a regular expression) \\ **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 (Linux-specific).\\ \\ 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** - possible values:\\ //all// (default),\\ //disk// - uninterruptible sleep,​\\ ​//​run// ​- running,\\ //​sleep// ​- interruptible sleep,\\ //trace// - stopped,​\\ ​//​zomb// ​- zombie\\ **cmdline** - filter by command line (it is a regular expression)\\ **zone** - target zone: //current// (default), //all//. This parameter is supported on Solaris only.  ​|Examples:​\\ => proc.num[,​mysql] -> number of processes running under the mysql user\\ => proc.num[apache2,​www-data] -> number of apache2 processes running under the www-data user\\ => proc.num[,​oracle,​sleep,​oracleZABBIX] -> number of processes in sleep state running under oracle having oracleZABBIX in its command line\\ \\ See [[manual:​appendix:​items:​proc_mem_num_notes|notes]] on selecting processes with ''​name''​ and ''​cmdline''​ parameters (Linux-specific).\\ \\ On Windows, only the ''​name''​ and ''​user''​ parameters are supported.\\ \\ When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: ''​zabbix_agentd -t proc.num[,,,​apache2]''​),​ one extra process will be counted, as the agent will count itself.\\ \\ //disk// and //trace// values for the ''​state''​ parameter are supported since Zabbix 3.4.0.\\ \\ The ''​zone''​ parameter is supported on Solaris since Zabbix 3.4.13. //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 128: Line 130:
 | ||||| | |||||
 ^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^ ^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^
-^ |CPU utilisation percentage. ​ |Float ​ |**cpu** - //<CPU number>//​ or //all// (default)\\ **type** - possible values:\\ //idle//, //nice//, //user// (default), //system// (default for Windows), //iowait//, //​interrupt//,​ //​softirq//,​ //steal//, //guest// (on Linux kernels 2.6.24 and above), //​guest_nice//​ (on Linux kernels 2.6.33 and above)\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.util[0,​user,​avg5]\\ \\ Old naming: //​system.cpu.idleX,​ system.cpu.niceX,​ system.cpu.systemX,​ system.cpu.userX// ​ |+^ |CPU utilisation percentage. ​ |Float ​ |**cpu** - //<CPU number>//​ or //all// (default)\\ **type** - possible values:\\ //idle//, //nice//, //user// (default), //system// (default for Windows), //iowait//, //​interrupt//,​ //​softirq//,​ //steal//, //guest// (on Linux kernels 2.6.24 and above), //​guest_nice//​ (on Linux kernels 2.6.33 and above). Parameters //user// and //nice// time no longer include //guest// time and //​guest_nice//​ time since Zabbix 3.0.14 and 3.4.5. ​\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5//, //​avg15// ​ |Example:\\ => system.cpu.util[0,​user,​avg5]\\ \\ Old naming: //​system.cpu.idleX,​ system.cpu.niceX,​ system.cpu.systemX,​ system.cpu.userX// ​ |
 | ||||| | |||||
 ^system.hostname[<​type>​] ​ ^^^^^ ^system.hostname[<​type>​] ​ ^^^^^
Line 134: Line 136:
 | ||||| | |||||
 ^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 146: Line 148:
 | ||||| | |||||
 ^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** - possible values:\\ //utc// - (default) the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.\\ //local// - the time in the '​yyyy-mm-dd,​hh:​mm:​ss.nnn,​+hh:​mm'​ format\\ ​  | Parameters for this item are supported since Zabbix agent version 2.0.\\ \\ Example:\\ => system.localtime[local] -> create an item using this key and then use it to display host time in the //Clock// [[:​manual/​config/​visualisation/​screens/​elements#​clock|screen element]].  ​|
 | ||||| | |||||
 ^system.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//: To enable this functionality,​ [[manual:​appendix:​config:​zabbix_agentd|agent configuration file]] must contain EnableRemoteCommands=1 option.\\ ​\\ The return value of the item is standard output together with standard error produced by command. The exit code is not checked.\\ Note that in versions 3.4.0-3.4.2,​ unless ​//nowait// flag is used, the command exit code is [[:manual/appendix/command_execution#​exit_code_checking|checked]] for execution result.\\ \\ 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.\\ The following items are supported only on AIX LPAR of type "​Shared":​\\ => system.stat[cpu,​app]\\ => system.stat[cpu,​ec] (also on "​Dedicated"​ since Zabbix 3.4.15; always returns 100 (percent))\\ => system.stat[cpu,​lbusy]\\ => system.stat[cpu,​pc] (also on "​Dedicated"​ since Zabbix 3.4.15)\\ => system.stat[ent] (also on "​Dedicated"​ since Zabbix 3.4.15) ​ ||
 | ||||| | |||||
 ^system.sw.arch ​ ^^^^^ ^system.sw.arch ​ ^^^^^
Line 170: Line 174:
 | ||||| | |||||
 ^system.swap.size[<​device>,<​type>​] ​ ^^^^^ ^system.swap.size[<​device>,<​type>​] ​ ^^^^^
-^ |Swap space size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //free// (free swap space, default), //pfree// (free swap space, in percent), //pused// (used swap space, in percent), //total// (total swap space), //used// (used swap space) ​ |Example:\\ => system.swap.size[,​pfree] -> free swap space percentage\\ \\ If //device// is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems //swap -s// command includes a portion of physical memory and swap devices (unlike //swap -l//).\\ \\ Note that this key might report incorrect percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case use perf_counter[\700(_Total)\702] key to obtain correct swap usage data.\\ \\ Old naming: //​system.swap.free//,​ //​system.swap.total// ​ |+^ |Swap space size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**device** - device used for swapping (default is //all//)\\ **type** - possible values:\\ //free// (free swap space, default), //pfree// (free swap space, in percent), //pused// (used swap space, in percent), //total// (total swap space), //used// (used swap space) ​ |Example:\\ => system.swap.size[,​pfree] -> free swap space percentage\\ \\ If //device// is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems //swap -s// command includes a portion of physical memory and swap devices (unlike //swap -l//).\\ \\ Note that this key might report incorrect ​swap space size/percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case you may use the ''​perf_counter[\700(_Total)\702]'' ​key to obtain correct swap space percentage.\\ \\ Old naming: //​system.swap.free//,​ //​system.swap.total// ​ |
 | ||||| | |||||
 ^system.uname ​ ^^^^^ ^system.uname ​ ^^^^^
Line 186: Line 190:
 ^vfs.dev.write[<​device>,<​type>,<​mode>​] ​ ^^^^^ ^vfs.dev.write[<​device>,<​type>,<​mode>​] ​ ^^^^^
 ^ |Disk write statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //​bps// ​ |**device** - disk device (default is //all//) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //bps//\\ This parameter must be specified, since defaults differ under various OSes.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.write[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for //all//).\\ \\ If default //all// is used for the first parameter then the key will return summary statistics, including all block devices like sda, sbd and their partitions (sda1, sda2, sdb3...) and multiple devices (MD raid) based on those block devices/​partitions and logical volumes (LVM) based on those block devices/​partitions. In such cases returned values should be considered only as relative value (dynamic in time) but not as absolute values.\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Only relative device names could be used (for example, **sda**) until Zabbix 1.8.6. Since then, an optional **/dev/** prefix may be used (for example, **/​dev/​sda**).\\ \\ Old naming: //​io[*]// ​ | ^ |Disk write statistics. ​ |Integer - with ''​type''​ in //​sectors//,​ //​operations//,​ //bytes//\\ \\ Float - with ''​type''​ in //sps//, //ops//, //​bps// ​ |**device** - disk device (default is //all//) \\ **type** - possible values: //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //bps//\\ This parameter must be specified, since defaults differ under various OSes.\\ //sps//, //ops//, //bps// stand for: sectors, operations, bytes per second, respectively.\\ **mode** - possible values: //avg1// (one-minute average, default), //avg5//, //​avg15//​.\\ This parameter is supported only with ''​type''​ in: sps, ops, bps.  |Default values of '​type'​ parameter for different OSes:\\ AIX - operations\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example:\\ => vfs.dev.write[,​operations]\\ \\ //sps//, //ops// and //bps// on supported platforms used to be limited to 8 devices (7 individual and one //all//). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for //all//).\\ \\ If default //all// is used for the first parameter then the key will return summary statistics, including all block devices like sda, sbd and their partitions (sda1, sda2, sdb3...) and multiple devices (MD raid) based on those block devices/​partitions and logical volumes (LVM) based on those block devices/​partitions. In such cases returned values should be considered only as relative value (dynamic in time) but not as absolute values.\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Only relative device names could be used (for example, **sda**) until Zabbix 1.8.6. Since then, an optional **/dev/** prefix may be used (for example, **/​dev/​sda**).\\ \\ Old naming: //​io[*]// ​ |
 +| |||||
 +^vfs.dir.size[dir,<​regex_incl>,<​regex_excl>,<​mode>,<​max_depth>​] ​ ^^^^^
 +^ |Directory size (in bytes). ​ |Integer ​ |**dir** - absolute path to directory \\ **regex_incl** - regex describing the file, directory and symbolic link name pattern for inclusion (include all files, directories and symbolic links if empty; empty string is default value) \\ **regex_excl** - regex describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value) \\ **mode** - possible values:\\ //​apparent//​ (default) - gets apparent file sizes rather than disk usage (acts as ''​du -sb dir''​),​ //disk// - gets disk usage (acts as ''​du -s -B1 dir''​). Unlike du command, vfs.dir.size item takes hidden files in account when calculating directory size (acts as ''​du -sb .[^.]* *''​ within dir).  \\ **max_depth** - maximum depth of subdirectories to traverse. **-1** (default) - unlimited, **0** - no descending into subdirectories. \\ |Only directories with at least read permission for //zabbix// user are calculated.\\ \\ 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]].\\ \\  Note that in Zabbix 3.4.0-3.4.6 any symlink or hard link on Windows is interpreted as regular file or directory. Since 3.4.7, any symlink is skipped and hard links are taken into account only once.\\ \\ Supported since Zabbix 3.4.0. ​ |
 | ||||| | |||||
 ^vfs.file.cksum[file] ​ ^^^^^ ^vfs.file.cksum[file] ​ ^^^^^
Line 200: Line 207:
 | ||||| | |||||
 ^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** - [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended ​regular expression ​before Zabbix 3.4 \\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default).\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |Only the first matching line is returned.\\ An empty string is returned if no line matched the expression.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​start line'',​ ''​end line''​ and ''​output''​ parameters are supported from version 2.2.\\ \\ Examples:\\ => vfs.file.regexp[/​etc/​passwd,​zabbix]\\ => %%vfs.file.regexp[/​path/​to/​some/​file,"​([0-9]+)$",,​3,​5,​\1]%%\\ => %%vfs.file.regexp[/​etc/​passwd,​^zabbix:​.:​([0-9]+),,,,​\1]%% -> getting the ID of user //zabbix// |
 | ||||| | |||||
 ^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** -  ​[[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended ​regular expression ​before Zabbix 3.4\\ **encoding** - code page [[:​manual/​config/​items/​itemtypes/​zabbix_agent#​available_encodings|identifier]]\\ **start line** - the number of first line to search (first line of file by default).\\ **end line** - the number of last line to search (last line of file by default). ​ |The ''​start line''​ and ''​end line''​ parameters are supported from version 2.2.\\ \\ Example:\\ => vfs.file.regmatch[/​var/​log/​app.log,​error] ​ |
 | ||||| | |||||
 ^vfs.file.size[file] ​ ^^^^^ ^vfs.file.size[file] ​ ^^^^^
Line 209: Line 216:
 | ||||| | |||||
 ^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 ​ ^^^^^
Line 224: Line 231:
 | ||||| | |||||
 ^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\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ //Note// that before version 3.4.9 it would return ​an empty string on fail.\\ \\ Example:\\ => %%web.page.get[www.zabbix.com,​index.php,​80]%% ​ |
 | ||||| | |||||
 ^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\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ //Note// that before version 3.4.9 it would return '0' ​on fail.\\ \\ Example:\\ => %%web.page.perf[www.zabbix.com,​index.php,​80]%% |
 | ||||| | |||||
-^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 or on fail.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​output''​ parameter is supported from version 2.2. \\ \\  Example:\\ => %%web.page.regexp[www.zabbix.com,​index.php,​80,​OK,​2]%% ​ |+^ |Find string on a web page.  | The matched string, or as specified by the optional ''​output''​ parameter ​ |**host** - hostname\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)\\ **regexp** -  ​[[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) or POSIX extended ​regular expression ​before Zabbix 3.4\\ **length** - maximum number of characters to return\\ **output** - an optional output formatting template. The **\0** escape sequence is replaced with the matched text while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ //Note// that before version 3.4.9 it would return ​an empty string if no match was found or on fail.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​output''​ parameter is supported from version 2.2. \\ \\  Example:\\ => %%web.page.regexp[www.zabbix.com,​index.php,​80,​OK,​2]%% ​ |
  
 <​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>​ <​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>​