The last digit of the OID .1.3.6.1.2.1.25.2.3.1.4. (e.g. 56) represents the device index number and is consistent with the respective discoveries of each of the hrStorageDescr.
Coincidentally, hrStorageAllocationUnits is retrieved already via Low Level Discovery as {#IFUNIT}:
The template
Synology DiskStation SNMPv3
hardcoded4096
as custom multiplier for the following discovered items:Storage Size on {#IFDESCR}
Storage Used on {#IFDESCR}
The Synology Storage MIB Guide clearly states:
Therefore, the correct calculation of the
hrStorageSize
would be:hrStorageSize
*hrStorageAllocationUnits
This will yield the correct
Storage Size
andStorage Used
in bytes.I have tested and verified this on two different Synology systems:
Each
hrStorageDescr
(e.g./volume1
) has its ownhrStorageAllocationUnits
, as seen in the following output of SNMP walk:The last digit of the OID
.1.3.6.1.2.1.25.2.3.1.4.
(e.g.56
) represents the device index number and is consistent with the respective discoveries of each of thehrStorageDescr
.Coincidentally,
hrStorageAllocationUnits
is retrieved already via Low Level Discovery as{#IFUNIT}
:The fix is quite trivial: Simply replace
4096
with{#IFUNIT}
in the preprocessing steps 🙂