check_snmp_storage.pl Rollover

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
User avatar
lmiltchev
Former Nagios Staff
Posts: 13589
Joined: Mon May 23, 2011 12:15 pm

Re: check_snmp_storage.pl Rollover

Post by lmiltchev »

Sure. Let us know how it went. We will keep the topic open for the time being.
Be sure to check out our Knowledgebase for helpful articles and solutions!
Tune
Posts: 15
Joined: Wed Nov 02, 2016 9:53 am

Re: check_snmp_storage.pl Rollover

Post by Tune »

Deantwo wrote:
lmiltchev wrote:
One thing I still don't understand about this option you are talking about. Is this an option that I need to set on the Nagios XI's server or the server it is connecting to via SNMP?
It has to set on the remote server, however if your remote server is a Windows box, this option most likely won't work as expected. For more info, see this:
https://serverfault.com/questions/43234 ... on-windows
It is indeed a windows server, which is why I was confused about it. It didn't seem like it would make sense to change it to the Nagios XI server, but you hadn't clearly said where to do it.

I'll forward that to my server guy and see how that works first, then I'll try to update the plugin if the first first doesn't help.
I'll report back when done.
The link is from 2012 and therefor 6 years old, and applies to an earlier version of Windows Server.
We are running af Windows 2016 Server, please provide a link on a bug report in Windows SNMP and a fix for this error?
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: check_snmp_storage.pl Rollover

Post by tgriep »

There is a limitation in the size of the counters that store the data that is used to calculate the size if the drives in the SNMP Daemon software that is running on the Windows System.

More details about this are as follows.
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:
Property Value Unit OID
hrStorageAllocationUnits 4096 Bytes 1.3.6.1.2.1.25.2.3.1.4
hrStorageSize 60533503 AllocationUnits 1.3.6.1.2.1.25.2.3.1.5
hrStorageUsed 13423262 AllocationUnits 1.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.
The fix has to come from Microsoft and if they do not have one, you can try this but is means reallocating the drive with larger allocation units which you probably do not want to do.
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.

The updated plugin is a workaround for this issue but if it is still not working, there is not anything else that can be done except reallocating the drive or installing an Agent on the server to monitor the drive.
Be sure to check out our Knowledgebase for helpful articles and solutions!
Locked