Performance Data Metrics
Performance data metrics must be appended to the plugin output with a preceding | character.
The schema is as follows:
<output> | 'label'=value[UOM];[warn];[crit];[min];[max]
The label should be encapsulated with single quotes. Avoid spaces or special characters such
as % in there, this could lead to problems with metric receivers such as Graphite.
Labels must not include ' and = characters. Keep the label length as short and unique as possible.
Example:
'load1'=4.7
Values must respect the C/POSIX locale and not implement e.g. German locale for floating point numbers with ,.
Icinga sets LC_NUMERIC=C to enforce this locale on plugin execution.
Unit of Measurement (UOM) ¶
'rta'=12.445000ms 'pl'=0%
Icinga interprets the plugins’ UoMs as follows:
- If the UoM is “c”, the value is a continuous counter (e.g. interface traffic counters).
- Otherwise if the UoM is listed in the table below (case-insensitive if possible), Icinga normalizes the value (and warn, crit, min, max) to the respective common base. That common base is also used by the metric writers (if any).
| Common base | UoMs |
|---|---|
| bytes | B, KB, MB, …, YB, KiB, MiB, …, YiB |
| bits | b, kb, mb, …, yb, kib, mib, …, yib |
| packets | packets |
| seconds | ns, us, ms, s, m, h, d |
| percent | % |
| amperes | nA, uA, mA, A, kA, MA, GA, …, YA |
| ohms | nO, uO, mO, O, kO, MO, GO, …, YO |
| volts | nV, uV, mV, V, kV, MV, GV, …, YV |
| watts | nW, uW, mW, W, kW, MW, GW, …, YW |
| ampere-seconds | nAs, uAs, mAs, As, kAs, MAs, GAs, …, YAs, all of these also for Am and Ah |
| watt-hours | nWh, uWh, mWh, Wh, kWh, MWh, GWh, …, YWh, all of these also for Wm and Ws |
| lumens | lm |
| decibel-milliwatts | dBm |
| grams | ng, ug, mg, g, kg, t |
| degrees-celsius | C |
| degrees-fahrenheit | F |
| degrees-kelvin | K |
| liters | ml, l, hl |
Some plugins change the UoM for different sizing, e.g. returning the disk usage in MB and later GB for the same performance data label. This is to ensure that graphs always look the same.
- Otherwise the UoM is discarted (as if none was given).
A value without any UoM may be an integer or floating point number for any type (processes, users, etc.).
Thresholds and Min/Max ¶
Next to the performance data value, warn, crit, min, max can optionally be provided. They must be separated
with the semi-colon ; character. They share the same UOM with the performance data value.
$ check_ping -4 -H icinga.com -c '200,15%' -w '100,5%'
PING OK - Packet loss = 0%, RTA = 12.44 ms|rta=12.445000ms;100.000000;200.000000;0.000000 pl=0%;5;15;0
Multiple Performance Data Values ¶
Multiple performance data values must be joined with a space character. The below example is from the check_load plugin.
load1=4.680;1.000;2.000;0; load5=0.000;5.000;10.000;0; load15=0.000;10.000;20.000;0;