What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

Why do my SNMP Disk Free sensors display incorrect or negative values?

Votes:

0

We have several servers where the SNMP Disk Free Sensor displays invalid data or negative values.

We've fully patched the affected systems and have also updated PRTG to the latest version but the readings for some disks in a few servers are plain wrong, they even display negative values.

I've also tested other monitoring solutions/software and they reported the same values.

It seems to affect both Linux and Windows servers with large disks/volumes, but oddly some systems or some disks on the same systems aren't affected.

What's the cause and how to resolve that as I really need to monitor those volumes and WMI or SSH sensors aren't an option for now.

disk disk-free prtg snmp snmpdiskfree storage values volume

Created on Sep 11, 2015 12:05:27 PM by  Luciano Lingnau [Paessler]

Last change on Feb 29, 2016 8:14:47 AM by  Luciano Lingnau [Paessler]



1 Reply

Accepted Answer

Votes:

1

This article applies to PRTG Network Monitor 15 or later

Negative or Invalid Disk Free Values with SNMP

Negative and obviously incorrect disk free values when you monitor via SNMP are not an issue that is related to PRTG. These strange disk values might rather be a result of the history. The good news is that there are some workarounds possible to get correct disk data nevertheless.

Introductory History Lesson

The hrStorageTable which holds the information about memory and disk (storage systems) is part of the HOST-RESOURCES-MIB which was published around the year 1993 and revised in the year 2000. Back in 2000 there was no S-ATA standard, no huge disks nor popular RAID systems.

The way that MIB is implemented, a disks's size and utilization is calculated using three distinct readings. The table below lists some typical values that this table contains:

PropertyValueUnitOID
hrStorageAllocationUnits4096Bytes1.3.6.1.2.1.25.2.3.1.4
hrStorageSize60533503AllocationUnits1.3.6.1.2.1.25.2.3.1.5
hrStorageUsed13423262AllocationUnits1.3.6.1.2.1.25.2.3.1.6

Any storage hardware would have a hrStorageAllocationUnits in bytes, as well as hrStorageSize and hrStorageUsed (in hrStorageAllocationUnits). In the above example, the values provided by the HOST-RESOURCES-MIB tells us that this storage device has a size of 60533503*4096 bytes which translates as a drive that can hold 247.945 GB.

That's not an issue so far, with the exception of one detail:

The hrStorageSize and hrStorageUsed values are reported as 32-bit Signed Integers, which imposes a maximum limit of 2147483647 (times the size of the allocation units).

This means that if your disk exceeds that size (8.79 TB with 4096 byte sectors), you will see negative values for size or used capacity. On systems with 1024 byte allocation units, the issue will arise with 2 TB disks.

Solutions to Negative Disk Free Values

You can try the following workarounds to avoid negative and invalid disk free values when monitoring via SNMP:

  1. OS independent: One alternative that works on any operating system is increasing the size of the hrStorageAllocationUnits: On Microsoft Windows this means formatting/partitioning the hard drive and using larger allocation units like 16 KB, 32 KB or 64 KB, because this allows the SNMP agent to report larger disk volumes.
  2. Linux only: Some flavors of Linux allow you to tweak the SNMP agent of the operating system, so that it automatically reports an "fictional" hrStorageAllocationUnits to get a correct end-result. More details are available in the snmpd.conf(5) - Linux man page, specifically in the Host Resources Group section.
  3. Linux only 2(New!): Soon-to-be released PRTG version 16.1.23 includes improvements to the SNMP Linux Disk Free Sensor which will allow it to query multi-TB volumes without issues. The sensor will need to be re-created to support large volumes after update to version 16.1.23. Please note that this sensor uses information from the UCD-SNMP-MIB which may not be compatible with all systems/distros.
  4. Other: Some devices which are expected to have large volumes from the beginning (storage systems, SANs, and similar devices) may also implement proprietary MIBs that report the values in gigabytes or other alternative forms to completely circumvent the issue. In this case, grab the device's MIB and add a custom SNMP Library Sensor.

Created on Sep 11, 2015 12:23:14 PM by  Luciano Lingnau [Paessler]

Last change on May 5, 2017 7:36:08 AM by  Luciano Lingnau [Paessler]




Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.