-
Change Request
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
SNMP has a OID datatype of Integer32 (signed integer), which currently cannot be stored by zabbix correctly.
We are monitoring printers, which report e.g. tray capacities and current levels as Integer32. Not only positive integers, which represent the actual capacity or level but also negative integers are used to transport information, e.g. that there is media present in the tray but the printer cannot determine the exact amount.
Zabbix doesn't offer an unsigned integer data type so it looks like there is currently no way to map those values to zabbix.
Float is not the correct datatype to store integers.
When using unsigned as datatype, items with negative values will become unsupported:
23729:20150602:103834.648 item "stp08-printer.wu-wien.ac.at:prtInputCurrentLevel.1.1" became not supported: Received value [-3] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
(The value -3 means that the printer knows that at least one unit remains.)
Besides SNMP mappings, unsigned integers would also be useful in other situations where negative numbers could be used to transport additional information.
See RFC3805 for details about our use case, especially Integer32 datatypes like prtInputCurrentLevel, prtOutputRemainingCapacity etc. and the reasons for negative entries.