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
Previous revision
manual:config:items:itemtypes:zabbix_agent [2015/04/22 13:22]
manual:config:items:itemtypes:zabbix_agent [2019/08/29 12:45] (current)
martins-v fixing unquoted parameter
Line 1: Line 1:
 +==== - #1 Zabbix agent ====
  
 +=== Overview ===
 +
 +These checks use the communication with Zabbix agent for data gathering.
 +
 +There are [[manual:​appendix:​items:​activepassive|passive and active]] agent checks. When configuring an item, you can select the required type:
 +
 +  * //Zabbix agent// - for passive checks
 +  * //Zabbix agent (active)// - for active checks
 +
 +=== Supported item keys ===
 +
 +The table provides details on the item keys that you can use with Zabbix agent items.
 +
 +See also: 
 +
 +  * [[manual:​appendix:​items:​supported_by_platform|Items supported by platform]]
 +  * [[manual:​config:​items:​itemtypes:​zabbix_agent:​win_keys|Item keys specific for WIN32 agent]]
 +
 +** Mandatory and optional parameters **
 +
 +Parameters without angle brackets are mandatory. Parameters marked with angle brackets **<** **>** are optional.
 +
 +^  Key  ^^^^^
 +^ ^  **Description** ​ ^  **Return value** ​ ^  **Parameters** ​ ^  **Comments** ​ ^
 +| |||||
 +^agent.hostname ​ ^^^^^
 +^ |Agent host name.  |String ​ |  |Returns the actual value of the agent hostname from a configuration file.  |
 +| |||||
 +^agent.ping ​ ^^^^^
 +^ |Agent availability check. ​ |Nothing - unavailable\\ \\ 1 - available ​ |  |Use function **nodata()** to check for host unavailability. ​ |
 +| |||||
 +^agent.version ​ ^^^^^
 +^ |Version of Zabbix agent. ​ |String ​ |  |Example of returned value: 1.8.2  |
 +| |||||
 +^kernel.maxfiles ​ ^^^^^
 +^ |Maximum number of opened files supported by OS.  |Integer ​ |  |  |
 +| |||||
 +^kernel.maxproc ​ ^^^^^
 +^ |Maximum number of processes supported by OS.  |Integer ​ |  |  |
 +| |||||
 +^log[file,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>​] ​ ^^^^^
 +^ |Monitoring of log file.  |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 that have not returned any data yet).\\ The **mode** parameter is supported from version 2.0.\\ **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). \\ 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.\\ The **output** parameter is supported from version 2.2. |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.\\ \\ 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.%% \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 +| |||||
 +^logrt[file_regexp,<​regexp>,<​encoding>,<​maxlines>,<​mode>,<​output>​] ​ ^^^^^
 +^ |Monitoring of log file 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 that have not returned any data yet).\\ The **mode** parameter is supported from version 2.0.\\ **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). \\ 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.\\ The **output** parameter is supported from version 2.2. |The item must be configured as an [[manual:​appendix:​items:​activepassive#​active_checks|active check]].\\ Log rotation is based on the last modification time of files.\\ \\ Note that logrt is designed to work with one currently active log file, with several other matching inactive files rotated. If, for example, a directory has many active log files, a separate logrt item should be created for each one. Otherwise if one logrt item picks up too many files it may lead to exhausted memory and a crash of monitoring.\\ \\ 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.%% \\ \\ See also additional information on [[log_items|log monitoring]]. ​ |
 +| |||||
 +^net.dns[<​ip>,​name,<​type>,<​timeout>,<​count>​] ​ ^^^^^
 +^ |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)  |//Example key//:\\ 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\\ \\ SRV record type is supported since Zabbix agent versions 1.8.6 (Unix) and 2.0.0 (Windows).\\ \\ Internationalized domain names are not supported, please use IDNA encoded names instead.\\ \\ Naming before Zabbix 2.0 (still supported): //​net.tcp.dns//​|
 +| |||||
 +^net.dns.record[<​ip>,​name,<​type>,<​timeout>,<​count>​] ​ ^^^^^
 +^ |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)  |//Example key//:\\ 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\\ \\ SRV record type is supported since Zabbix agent versions 1.8.6 (Unix) and 2.0.0 (Windows).\\ \\ Internationalized domain names are not supported, please use IDNA encoded names instead.\\ \\ Naming before Zabbix 2.0 (still supported): //​net.tcp.dns.query//​|
 +| |||||
 +^net.if.collisions[if] ​ ^^^^^
 +^ |Number of out-of-window collisions. ​ |Integer ​ |**if** - interface ​ |  |
 +| |||||
 +^net.if.discovery ​ ^^^^^  ​
 +^ |List of network interfaces. Used for low-level discovery. ​ |JSON object ​ |  |Supported since Zabbix agent version 2.0.\\ \\ On FreeBSD, OpenBSD and NetBSD supported since Zabbix agent version 2.2. \\ \\ Some Windows versions (for example, Server 2008) might require the latest updates installed to support non-ASCII characters in interface names.|
 +| |||||
 +^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 ​ |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 a //Delta (speed per second)// store value in order to get bytes per second statistics. ​ |
 +| |||||
 +^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 ​ |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 a //Delta (speed per second)// store value in order to get bytes per second statistics. ​ |
 +| |||||
 +^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 ​ |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 a //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. ​ |
 +| |||||
 +^net.tcp.listen[port] ​ ^^^^^
 +^ |Checks if this TCP port is in LISTEN state. ​ |0 - it is not in LISTEN state\\ \\ 1 - it is in LISTEN state  |**port** - TCP port number ​ |Example:\\ net.tcp.listen[80]\\ \\ On Linux supported since Zabbix agent version 1.8.4  |
 +| |||||
 +^net.tcp.port[<​ip>,​port] ​ ^^^^^
 +^ |Checks if it is possible to make TCP connection to port number 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.\\ Old naming: check_port[*]\\ 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>​] ​ ^^^^^
 +^ |Checks if service is running and accepting TCP connections. ​ |0 - service is down\\ \\ 1 - service is running ​ |**service** - either of:\\ //ssh//, //ntp//, //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 key//:\\ 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).\\ Old naming: check_service[*]\\ **https** and **telnet** services are supported since Zabbix 2.0.\\ **ntp** service only works since Zabbix 2.0.15 and Zabbix 2.2.10, despite being available in earlier versions.|
 +| |||||
 +^net.tcp.service.perf[service,<​ip>,<​port>​] ​ ^^^^^
 +^ |Checks performance of service. ​ |0 - service is down\\ \\ seconds - the number of seconds spent while connecting to the service ​ |**service** - either of:\\ //ssh//, //ntp//, //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 key//:\\ 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).\\ Old naming: check_service_perf[*]\\ **https** and **telnet** services are supported since Zabbix 2.0.\\ **ntp** service only works since Zabbix 2.0.15 and Zabbix 2.2.10, despite being available in earlier versions.|
 +| |||||
 +^net.udp.listen[port] ​ ^^^^^
 +^ |Checks if this UDP port is in LISTEN state. ​ |0 - it is not in LISTEN state\\ \\ 1 - it is in LISTEN state  |**port** - UDP port number ​ |Example:\\ net.udp.listen[68]\\ \\ On Linux supported since Zabbix agent version 1.8.4  |
 +| |||||
 +^proc.mem[<​name>,<​user>,<​mode>,<​cmdline>​] ​ ^^^^^
 +^ |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) ​ |//Example keys//:\\ 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. ​ |
 +| |||||
 +^proc.num[<​name>,<​user>,<​state>,<​cmdline>​] ​ ^^^^^
 +^ |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) ​ |//Example keys//:\\ 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\\ On Windows, only the //name// and //user// parameters are supported. ​ |
 +| |||||
 +^sensor[device,​sensor,<​mode>​] ​ ^^^^^
 +^ |Hardware sensor reading. ​ |Float ​ |**device** - device name \\ **sensor** - sensor name \\ **mode** - possible values:\\ //avg//, //max//, //min// (if this parameter is omitted, device and sensor are treated verbatim). ​ | On Linux 2.4, reads ///​proc/​sys/​dev/​sensors//​.\\ Example key:\\ sensor[w83781d-i2c-0-2d,​temp1]\\ Prior to Zabbix 1.8.4, the sensor[temp1] format was used.\\ \\ On Linux 2.6+, reads /​sys/​class/​hwmon.\\ \\ See a more detailed description of [[manual:​appendix:​items:​sensor]] item on Linux.\\ \\ On OpenBSD, reads the //​hw.sensors//​ MIB.\\ Example keys:\\ sensor[cpu0,​temp0] - temperature of one CPU\\ %%sensor["​cpu[0-2]$",​temp,​avg]%% - average temperature of the first three CPU'​s\\ Supported on OpenBSD since Zabbix 1.8.4. ​ |
 +| |||||
 +^system.boottime ​ ^^^^^
 +^ |System boot time.  |Integer (Unix timestamp) ​ |  |  |
 +| |||||
 +^system.cpu.intr ​ ^^^^^
 +^ |Device interrupts. ​ |Integer ​ |  |  |
 +| |||||
 +^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// (5-minute average), //avg15// (an average within 15 minutes) ​ |//Example key//:\\ system.cpu.load[,​avg5]\\ \\ Old naming: system.cpu.loadX\\ Parameter **percpu** is supported since Zabbix 2.0.0. ​ |
 +| |||||
 +^system.cpu.num[<​type>​] ​ ^^^^^
 +^ |Number of CPUs.  |Integer ​ |**type** - possible values:\\ //online// (default), //​max// ​ |//Example key//:\\ system.cpu.num ​ |
 +| |||||
 +^system.cpu.switches ​ ^^^^^
 +^ |Count of context switches. ​ |Integer ​ |  |Old naming: system[switches] ​ |
 +| |||||
 +^system.cpu.util[<​cpu>,<​type>,<​mode>​] ​ ^^^^^
 +^ |CPU utilisation in percent. ​ |Float ​ |**cpu** - CPU number (default is all CPUs)\\ **type** - possible values:\\ //idle//, //nice//, //user// (default), //system// (default for Windows), //iowait//, //​interrupt//,​ //​softirq//,​ //steal//\\ **mode** - possible values:\\ //avg1// (one-minute average, default), //avg5// (5-minute average), //avg15// (an average within 15 minutes) ​ |//Example key//:\\ system.cpu.util[0,​user,​avg5]\\ \\ Old naming: system.cpu.idleX,​ system.cpu.niceX,​ system.cpu.systemX,​ system.cpu.userX ​ |
 +| |||||
 +^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.\\ **The //type// parameter for this item is supported since 1.8.6 version.**\\ \\ 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>​] ​ ^^^^^
 +^ |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>​] ​ ^^^^^
 +^ |CPU information. ​ |String or integer ​ |**cpu** - CPU number or all (default)\\ **info** - one of full (default), curfreq, maxfreq, model or vendor |Example: system.hw.cpu[0,​vendor]\\ AuthenticAMD\\ \\ Gathers info from /​proc/​cpuinfo and /​sys/​devices/​system/​cpu/​[cpunum]/​cpufreq/​cpuinfo_max_freq.\\ If a CPU number and **curfreq** or **maxfreq** is specified, a numeric value is returned (Hz).\\ \\ Supported since Zabbix agent version 2.0. |
 +| |||||
 +^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. |
 +| |||||
 +^system.hw.macaddr[<​interface>,<​format>​] ​ ^^^^^
 +^ |Listing of MAC addresses. ​ |String ​ |**interface** - all (default) or a regular expression\\ **format** - full (default) or short |Example: %%system.hw.macaddr["​eth0$",​full]%%\\ [eth0] 00:​11:​22:​33:​44:​55\\ \\ Lists MAC adresses of the interfaces whose names match the given **interface** regexp (//all// lists for all interfaces).\\ 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 time.  |Integer - with ''​type''​ as //utc//\\ \\ String - with ''​type''​ as //​local// ​ |**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 supported from 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|screen element]]. ​ |
 +| |||||
 +^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** - one of wait (default, wait end of execution), 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,​ agent configuration file must have EnableRemoteCommands=1 option.\\ See also: [[:​manual/​appendix/​command_execution|Command execution]]. ​ |
 +| |||||
 +^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 starting from version 1.8.1.** ​ ||
 +| |||||
 +^system.sw.arch ​ ^^^^^
 +^ |Software architecture information. ​ |String ​ | |Example: system.sw.arch\\ i686\\ \\ Info is acquired from uname() function.\\ \\ Supported since Zabbix agent version 2.0. |
 +| |||||
 +^system.sw.os[<​info>​] ​ ^^^^^
 +^ |Operating system information. ​ |String ​ |**info** - one of 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):​\\ [full] - /​proc/​version\\ [short] - /​proc/​version_signature\\ [name] - /​etc/​issue.net\\ \\ Supported since Zabbix agent version 2.0. |
 +| |||||
 +^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 |Example: system.sw.packages[mini,​dpkg,​short]\\ python-minimal,​ python2.6-minimal,​ ubuntu-minimal\\ \\ Lists (alphabetically) installed packages whose names match the given **package** regexp (//all// lists them all).\\ \\ Supported packages managers:\\ **manager** (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 it's 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>​] ​ ^^^^^
 +^ |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 key//:\\ system.swap.in[,​pages]\\ \\ //The source of this information is://\\ //Linux 2.4//:\\ /​proc/​swaps,​ /​proc/​partitions,​ /​proc/​stat\\ //Linux 2.6//:\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat |
 +| |||||
 +^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 key//:\\ system.swap.out[,​pages]\\ \\ //The source of this information is://\\ //Linux 2.4//:\\ /​proc/​swaps,​ /​proc/​partitions,​ /​proc/​stat\\ //Linux 2.6//:\\ /​proc/​swaps,​ /​proc/​diskstats,​ /​proc/​vmstat |
 +| |||||
 +^system.swap.size[<​device>,<​type>​] ​ ^^^^^
 +^ |Swap space size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage<​sup>​1</​sup> ​ |**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 key//:\\ 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//).\\ \\ Old naming: system.swap.free,​ system.swap.total |
 +| |||||
 +^system.uname ​ ^^^^^
 +^ |Detailed host information. ​ |String ​ |  |Example of returned value:\\ FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386\\ \\ Since Zabbix 2.2.0, the value for this item is obtained by using the uname() system call, whereas previously it was obtained by invoking "uname -a" on Unix systems. Hence, the value of this item might differ from the output of "uname -a" and does not include additional information that "uname -a" prints based on other sources. ​ |
 +| |||||
 +^system.uptime ​ ^^^^^
 +^ |System uptime in seconds. ​ |Integer ​ |  |In [[manual:​config:​items:​item#​configuration|item configuration]],​ use **s** or **uptime** units to get readable values. ​ |
 +| |||||
 +^system.users.num ​ ^^^^^
 +^ |Number of users logged in.  |Integer ​ |  |**who** command is used on the agent side to obtain the value. ​ |
 +| |||||
 +^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//<​sup>​2</​sup>​) \\ **type** - possible values:\\ //​sectors//,​ //​operations//,​ //bytes//, //sps//, //ops//, //bps// (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// (five-minute average), //avg15// (15-minute average). \\ //Note//: The third parameter is supported only if the **type** is in: sps, ops, bps.   ​|Default values of '​type'​ parameter for different OSes:\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ //Example key//: vfs.dev.read[,​operations]\\ Old naming: io[*] \\ \\ Usage of the **type** parameters ops, bps and sps on supported platforms used to be limited to 8 devices (7 individual devices and one //all//). Starting with Zabbix 2.0.1 this limit has been increased to 1024 (1023 individual devices and one for //all//).\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Until Zabbix 1.8.6, only relative device names may be used (for example, **sda**), since 1.8.6 an optional **/dev/** prefix may be used (for example, **/​dev/​sda**) ​ |
 +| |||||
 +^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//<​sup>​2</​sup>​) \\ **type** - one of sectors, operations, bytes, sps, ops, bps (must specify exactly which parameter to use, since defaults are different under various OSes). \\ sps, ops, bps means: sectors, operations, bytes per second respectively \\ **mode** - one of avg1 (default),​avg5 (average within 5 minutes), avg15.\\ //Note//: The third parameter is supported only if the **type** is in: sps, ops, bps.  |Default values of '​type'​ parameter for different OSes:\\ FreeBSD - bps\\ Linux - sps\\ OpenBSD - operations\\ Solaris - bytes\\ \\ Example: vfs.dev.write[,​operations] ​ Old naming: io[*] \\ \\ The **type** parameters ops, bps and sps on supported platforms used to be limited to 8 devices (7 individual devices and one //all//). Starting with Zabbix 2.0.1 this limit has been increased to 1024 (1023 individual devices and one for //all//).\\ \\ Supports LVM since Zabbix 1.8.6.\\ \\ Until Zabbix 1.8.6, only relative device names may be used (for example, **sda**), since 1.8.6 optional **/dev/** prefix may be used (for example, **/​dev/​sda**) ​ |
 +| |||||
 +^vfs.file.cksum[file] ​ ^^^^^
 +^ |File checksum, calculated by the UNIX cksum algorithm. ​ |Integer ​ |**file** - full path to file  |Example of returned value:\\ 1938292000\\ \\ Example:\\ vfs.file.cksum[/​etc/​passwd]\\ \\ Old naming: cksum\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. |
 +| |||||
 +^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.  |
 +| |||||
 +^vfs.file.exists[file] ​ ^^^^^
 +^ |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]]. |
 +| |||||
 +^vfs.file.md5sum[file] ​ ^^^^^
 +^ |MD5 checksum of file.  |Character string (MD5 hash of the file)  |**file** - full path to file  |Example of returned value:\\ b5052decb577e0fffd622d6ddc017e82\\ \\ Example:\\ vfs.file.md5sum[/​usr/​local/​etc/​zabbix_agentd.conf]\\ \\ The file size limit (64 MB) for this item was removed in version 1.8.6.\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. |
 +| |||||
 +^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 part of text (from the first character where match begins until the character where match ends) while an **\N** (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups). ​ |Only the first matching line is returned.\\ An empty string is returned if no line matched the expression.\\ \\ Content extraction using the ''​output''​ parameter takes place on the agent.\\ \\ The ''​start line'',​ ''​end line''​ and ''​output''​ parameters are supported from version 2.2.\\ \\ Examples:\\ => vfs.file.regexp[/​etc/​passwd,​zabbix]\\ => %%vfs.file.regexp[/​path/​to/​some/​file,"​([0-9]+)$",,​3,​5,​\1]%%\\ => %%vfs.file.regexp[/​etc/​passwd,"​^zabbix:​.:​([0-9]+)",,,,​\1]%% -> getting the ID of user //zabbix// |
 +| |||||
 +^vfs.file.regmatch[file,​regexp,<​encoding>,<​start line>,<​end line>​] ​ ^^^^^
 +^ |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] ​ |
 +| |||||
 +^vfs.file.size[file] ​ ^^^^^
 +^ |File size (in bytes). ​ |Integer ​ |**file** - full path to file  |File must have read permissions for user zabbix\\ \\ Example: vfs.file.size[/​var/​log/​syslog]\\ \\ The file size limit depends on [[manual:​appendix:​items:​large_file_support|large file support]]. ​ |
 +| |||||
 +^vfs.file.time[file,<​mode>​] ​ ^^^^^
 +^ |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 ​ ^^^^^
 +^ |List of mounted filesystems. Used for low-level discovery. ​ |JSON object ​ |  |Supported since Zabbix agent version 2.0. |
 +| |||||
 +^vfs.fs.inode[fs,<​mode>​] ​ ^^^^^
 +^ |Number or percentage of inodes. ​ |Integer - for number\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - one of 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[*] ​ |
 +| |||||
 +^vfs.fs.size[fs,<​mode>​] ​ ^^^^^
 +^ |Disk space in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**fs** - filesystem\\ **mode** - one of 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[*] ​ |
 +| |||||
 +^vm.memory.size[<​mode>​] ​ ^^^^^
 +^ |Memory size in bytes or in percentage from total. ​ |Integer - for bytes\\ \\ Float - for percentage ​ |**mode** - one of total (default), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired, used, pused, available, pavailable ​ |Old naming: vm.memory.buffers,​ vm.memory.cached,​ vm.memory.free,​ vm.memory.shared,​ vm.memory.total\\ \\ Item vm.memory.size[] accepts three categories of parameters.\\ \\ First category consists of **total** - total amount of memory.\\ \\  Second category contains platform-specific memory types: **active**, **anon**, **buffers**,​ **cached**, **exec**, **file**, **free**, **inactive**,​ **pinned**, **shared**, **wired**.\\ \\ Third category are user-level estimates on how much memory is used and available: **used**, **pused**, **available**,​ **pavailable**.\\ \\ See a more detailed description of [[manual:​appendix:​items:​vm.memory.size_params|vm.memory.size parameters]]. |
 +| |||||
 +^web.page.get[host,<​path>,<​port>​] ​ ^^^^^
 +^ |Get content of web page.  |Web page source as text (including headers) ​ |**host** - hostname\\ **path** - path to HTML document (default is /)\\ **port** - port number (default is 80)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ //Note// that before version 2.2.22 it would return an empty string on fail.\\ \\ Example:\\ %%web.page.get[www.zabbix.com,​index.php,​80]%% ​ |
 +| |||||
 +^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)  |This item turns unsupported if the resource specified in ''​host''​ does not exist or is unavailable.\\ //Note// that before version 2.2.22 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>​] ​ ^^^^^
 +^ |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 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.\\ //Note// that before version 2.2.22 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>​[1] The system.swap.size key might report incorrect data on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case use perf_counter[\700(_Total)\702] key to obtain correct swap usage percentage.</​note>​
 +
 +<​note>​[2] If default //all// is used for the first parameter of **vfs.dev.*** keys then the keys 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>​
 +
 +<​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>​
 +
 +=== Available encodings ===
 +
 +The ''​encoding''​ parameter is used to specify encoding for processing corresponding item checks, so that data acquired will not be corrupted. For 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"​. ​
 +
 +If empty ''​encoding''​ is passed, then UTF-8 (default locale for newer Unix/Linux distributions,​ see your system'​s settings) or  ANSI with system-specific extension (Windows) is used by default.