This shows you the differences between two versions of the page.

Link to this comparison view

manual:config:items:item [2020/02/13 08:48]
manual:config:items:item [2019/06/20 13:11] (current)
martins-v value mapping works not only with integers
Line 1: Line 1:
 +==== 1 Creating an item ====
 +=== Overview ===
 +To create an item in Zabbix frontend, do the following:
 +  * Go to: //​Configuration//​ -> //​Hosts// ​
 +  * Click on //Items// in the row of the host
 +  * Click on //Create item// in the upper right corner of the screen
 +  * Enter parameters of the item in the form
 +=== Configuration ===
 +Item attributes:
 +|//​Name// ​ |This is how the item will be named.\\ The following macros can be used:\\ **$1, $2...$9** - referring to the first, second... ninth parameter of the item key\\ For example: Free disk space on $1\\ If the item key is "​vfs.fs.size[/,​free]",​ the description will automatically change to "Free disk space on /" |
 +|//​Type// ​ |Item type. See individual [[itemtypes|item type]] sections.|
 +|//​Key// ​ |Item key.\\ The supported [[itemtypes|item keys]] can be found in individual item type sections.\\ The key must be unique within a single host.\\ If key type is '​Zabbix agent',​ '​Zabbix agent (active)',​ '​Simple check' or '​Zabbix aggregate',​ the key value must be supported by Zabbix agent or Zabbix server.\\ See also: the correct [[manual:​config:​items:​item:​key|key format]]. ​ |
 +|//Host interface// |Select the host interface. This field is available when editing an item on the host level. |
 +|//Type of information// ​ |Type of data as stored in the database after performing conversions,​ if any.\\ **Numeric (unsigned)** - 64bit unsigned integer\\ **Numeric (float)** - floating point number\\ Negative values can be stored.\\ Allowed range (for MySQL): -999999999999.9999 to 999999999999.9999 (double(16,​4)).\\ Starting with Zabbix 2.2, receiving values in scientific notation is also supported. E.g. 1e+70, 1e-70.\\ **Character** - character (string) data limited to 255 bytes\\ **Log** - log file. Must be set for log*, eventlog item keys.\\ **Text** - text of unlimited size|
 +|//Data type// ​ |Data type is used for integer items in order to specify the expected data type:\\ **Boolean** - textual representation translated into either 0 or 1. Thus, '​TRUE'​ is stored as 1 and '​FALSE'​ is stored as 0. All values are matched in a case-insensitive way. Currently recognized values are, for:\\ //TRUE// - true, t, yes, y, on, up, running, enabled, available\\ //FALSE// - false, f, no, n, off, down, unused, disabled, unavailable\\ Additionally,​ any non-zero numeric value is considered to be TRUE and zero is considered to be FALSE. \\ **Octal** - data in octal format\\ **Decimal** - data in decimal format\\ **Hexadecimal** - data in hexadecimal format\\ Zabbix will automatically perform the conversion to numeric.\\ The conversion is done by Zabbix server (even when a host is monitored by Zabbix proxy). ​ |
 +|//​Units// ​ |If a unit symbol is set, Zabbix will add post processing to the received value and display it with the set unit postfix.\\ By default, if the raw value exceeds 1000, it is divided by 1000 and displayed accordingly. For example, if you set //bps// and receive a value of 881764, it will be displayed as 881.76 Kbps. \\ Special processing is used for **B** (byte), **Bps** (bytes per second) units, which are divided by 1024. Thus, if units are set to **B** or **Bps** Zabbix will display:\\ 1 as 1B/1Bps\\ 1024 as 1KB/1KBps\\ 1536 as 1.5KB/​1.5KBps\\ Special processing is used if the following time-related units are used:\\ **unixtime** - translated to "​ hh:​mm:​ss"​. To translate correctly, the received value must be a //Numeric (unsigned)//​ type of information.\\ **uptime** - translated to "​hh:​mm:​ss"​ or "N days, hh:​mm:​ss"​\\ For example, if you receive the value as 881764 (seconds), it will be displayed as "10 days, 04:​56:​04"​\\ **s** - translated to "yyy mmm ddd hhh mmm sss ms"; parameter is treated as number of seconds.\\ For example, if you receive the value as 881764 (seconds), it will be displayed as "10d 4h 56m"\\ Only 3 upper major units are shown, like "1m 15d 5h" or "2h 4m 46s". If there are no days to display, only two levels are displayed - "1m 5h" (no minutes, seconds or milliseconds are shown). Will be translated to "< 1 ms" if the value is less than 0.001.\\ See also the [[#​unit_blacklist|unit blacklist]]. ​ |
 +|//Use custom multiplier// ​ |If you enable this option, all received values will be multiplied by the integer or floating-point value set in the value field.\\ Use this option to convert values received in KB, MBps, etc into B, Bps. Otherwise Zabbix cannot correctly set [[manual:​config:​triggers:​suffixes|prefixes]] (K, M, G etc).\\ Starting with Zabbix 2.2, using scientific notation is also supported. E.g. 1e+70. ​ |
 +|//Update interval (in sec)// ​ |Retrieve a new value for this item every N seconds.\\ //Note//: If set to '​0',​ the item will not be polled. However, if a flexible interval also exists with a non-zero value, the item will be polled during the flexible interval duration.|
 +|//Flexible intervals// ​ |You can create exceptions to //Update interval//. For example:\\ Interval: **10**, Period: **1-5,​09:​00-18:​00** - will check the item every 10 seconds during working hours.\\ Interval: **0**, Period: **1-7,​00:​00-7:​00** - will disable checking the item at night.\\ Interval: **0**, Period: **7-7,​00:​00-24:​00** - will disable checking the item on Sundays.\\ To check an item once per day at a specific time (say, 12:00), set the default //Update interval// to '​0',​ but specify **60** in the flexible interval and a period like **1-7,​12:​00-12:​01**\\ Up to seven flexible intervals can be defined. If multiple flexible intervals overlap, the smallest //​Interval//​ value is used for the overlapping period. Note that if the smallest value of overlapping flexible intervals is '​0',​ no polling will take place.\\ Outside the flexible intervals the default update interval is used.\\ See the page about setting [[manual:​appendix:​time_period|time periods]] for description of the //Period// format.\\ Note that if the flexible interval equals the length of the period, the item will be checked exactly once. If the flexible interval is greater than the period, the item might be checked once or it might not be checked at all (thus such configuration is not advisable). If the flexible interval is less than the period, the item will be checked at least once.\\ If the flexible interval is set to '​0',​ the item is not polled during the flexible interval period and resumes polling according to the default //Update interval// once the period is over.\\ //Note//: Not available for Zabbix agent active items. ​ |
 +|//History storage period\\ (in days)// ​ |Number of days to keep detailed history in the database. Older data will be removed by the housekeeper.\\ Starting with Zabbix 2.2, this value can be overridden globally in //​Administration -> General -> [[manual:​web_interface:​frontend_sections:​administration:​general#​housekeeper|Housekeeper]]//​. If the global setting exists, a warning message is displayed:​\\ {{manual:​config:​override_item.png|}}\\ It is recommended to keep the recorded values for the smallest possible number of days to reduce the size of value history in the database. Instead of keeping long history of values, you can keep longer data of trends.\\ See also [[:​manual/​config/​items/​history_and_trends|History and trends]]. ​ |
 +|//Trend storage period\\ (in days)// ​ |Keep aggregated (hourly min, max, avg, count) detailed history for N days in the database. Older data will be removed by the housekeeper.\\ Starting with Zabbix 2.2, this value can be overridden globally in //​Administration -> General -> [[manual:​web_interface:​frontend_sections:​administration:​general#​housekeeper|Housekeeper]]//​. If the global setting exists, a warning message is displayed:​\\ {{manual:​config:​override_trends.png|}}\\ //Note:// Keeping trends is not available for non-numeric data - character, log and text.\\ See also [[:​manual/​config/​items/​history_and_trends|History and trends]]. ​ |
 +|//Store value// ​ |**As is**  - no pre-processing\\ **Delta (speed per second)** - evaluate value as (**value**-**prev_value**)/​(**time**-**prev_time**),​ where\\ //value// - current value\\ //​value_prev//​ - previously received value\\ //time// - current timestamp\\ //​prev_time//​ - timestamp of previous value\\ This setting is extremely useful to get speed per second for a constantly growing value.\\ If current value is smaller than the previous value, Zabbix discards that difference (stores nothing) and waits for another value. This helps to work correctly with, for instance, a wrapping (overflow) of 32-bit SNMP counters.\\ //Note//: As this calculation may produce floating point numbers, it is recommended to set the 'Type of information'​ to //Numeric (float)//, even if the incoming raw values are integers. This is especially relevant for small numbers where the decimal part matters. If the floating point values are large and may exceed the '​float'​ field length in which case the entire value may be lost, it is actually suggested to use //Numeric (unsigned)//​ and thus trim only the decimal part.\\ **Delta (simple change)** - evaluate as (**value**-**prev_value**),​ where\\ //value// - current value\\ //​value_prev//​ - previously received value\\ This setting can be useful to measure a constantly growing value. If the current value is smaller than the previous value, Zabbix discards that difference (stores nothing) and waits for another value.|
 +|//Show value// ​ |Apply value mapping to this item. Value mapping does not change received values, it is for displaying data only.\\ It works with //​Numeric(unsigned)//,​ //​Numeric(float)//​ and //​Character//​ items.\\ For example, "​Windows service states"​.|
 +|//Log time format// ​ |Available for items of type **Log** only. Supported placeholders:​\\ ​    * **y**: //Year (1970-2038)//​\\ ​    * **M**: //Month (01-12)//​\\ ​    * **d**: //Day (01-31)//​\\ ​    * **h**: //Hour (00-23)//​\\ ​    * **m**: //Minute (00-59)//​\\ ​    * **s**: //Second (00-59)//​\\ ​    If left blank the timestamp will not be parsed.\\ For example, consider the following line from the Zabbix agent log file:\\ " 23480:​20100328:​154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."​\\ It begins with six character positions for PID, followed by date, time, and the rest of the line.\\ Log time format for this line would be "​pppppp:​yyyyMMdd:​hhmmss"​.\\ Note that "​p"​ and ":"​ chars are just placeholders and can be anything but "​yMdhms"​. |
 +|//New application// ​ |Enter the name of a new application for the item.  |
 +|//​Applications// ​ |Link item to one or more existing applications. ​ |
 +|//​Populates host inventory field// ​ |You can select a host inventory field that the value of item will populate. This will work if automatic [[manual:​config:​hosts:​inventory|inventory]] population is enabled for the host.  |
 +|//​Description// ​ |Enter an item description. ​ |
 +|//​Enabled// ​ |Mark the checkbox to enable the item so it will be processed. ​  |
 +You can also create an item by opening an existing one, pressing the //Clone// button and then saving under a different name.
 +<​note>​When editing an existing [[manual:​config:​templates|template]] level item on a host level, a number of fields are read-only. You can use the link in the form header and go to the template level and edit them there, keeping in mind that the changes on a template level will change the item for all hosts that the template is linked to.</​note>​
 +<note tip>If you use a custom multiplier or store value as //Delta (speed per second)// for items with the type of information set to //Numeric (unsigned)//​ and the resulting calculated value is actually a float number, the calculated value is still accepted as a correct one by trimming the decimal part and storing the value as integer.</​note>​
 +== Unit blacklist ==
 +By default, specifying a unit for an item will result in a multiplier prefix being added - for example, value 2048 with unit B would be displayed as 2KB. For a pre-defined,​ hardcoded list of units this is prevented:
 +  * ms
 +  * RPM
 +  * rpm
 +  * %
 +Note that both lowercase and uppercase **rpm** (//rpm// and //RPM//) strings are blacklisted.
 +=== Unsupported items ===
 +An item can become unsupported if its value cannot be retrieved for some reason. Such items are still rechecked at a fixed interval, configurable in [[manual:​web_interface:​frontend_sections:​administration:​general?&#​other_parameters|Administration section]].