[mrtg] SNMP Disk Space Negative Values

Alex van den Bogaerdt alex at vandenbogaerdt.nl
Wed Nov 26 19:02:15 CET 2014

I guess Steve is still sleeping :)

Hope you don't mind I chime in.

First of all: there's a good chance your bash will suffer from the same 

It has to do with signed integers.  Adding one to 2147483647 results 
in -2147483648. The next number is -2147483647, then -2147483646, and so on.

Steve suggested you look at the hexadecimal representation of those numbers. 
You will notice it is .... 0x7FFFFFFF, 0x80000000, 0x80000001 and so on.

To convert the numbers to positive numbers, too large to fit in a 32-bit 
signed integer, just add 4294967296. Your shell may not be able to handle 
this, just try bc.

----- Original Message ----- 
From: "Christian Arnaut" <n8tgc at msn.com>
To: "Steve Shipway" <s.shipway at auckland.ac.nz>
Cc: <mrtg at lists.oetiker.ch>
Sent: Wednesday, November 26, 2014 3:50 PM
Subject: Re: [mrtg] SNMP Disk Space Negative Values


Pardon my ignorance. How were you able to convert the 'signed' integer 
of -268468737 to an unsigned value of 4026498559? If I can do that with a 
bash script, I'm halfway home!


From: s.shipway at auckland.ac.nz
To: n8tgc at msn.com
CC: mrtg at lists.oetiker.ch
Subject: RE: [mrtg] SNMP Disk Space Negative Values
Date: Tue, 25 Nov 2014 22:46:58 +0000

Your E: drive is insanely huge at 15TB.  Possibly something is using signed 
integers when it should be using unsigned…  The -268468737 value is a signed 
representation for the unsigned integer 4026498559 (convert to hex and get 
0xEFFF7DFF in both cases); multiply the unsigned value by the cluster size 
and you get your 15TB.  Something is using an unsigned integer when it 
should be signed, or vice-versa. Steve Steve Shipways.shipway at auckland.ac.nz 
From: mrtg [mailto:mrtg-bounces+s.shipway=auckland.ac.nz at lists.oetiker.ch] 
On Behalf Of Christian Arnaut
Sent: Wednesday, 26 November 2014 11:05 a.m.
To: mrtg at lists.oetiker.ch
Subject: [mrtg] SNMP Disk Space Negative Values Am attempting to use MRTG to 
monitor disk space on a Windows Server as I have done on multiple servers 
and workstations in the past. However, this time the local storage capacity 
on the local drive partition is nearly 15TB.

It appears that I have exceeded an SNMP threshold where the integer values 
are now negative numbers. For example to monitor total space on the C: drive 
I used (simplified)... iso. * 

iso. = STRING: "C:\\ Label:"
iso. = STRING: "E:\\ Label:"
iso. = INTEGER: 4096
iso. = INTEGER: 4096
iso. = INTEGER: 10350335
iso. = INTEGER: -268468737
iso. = INTEGER: 6261795
iso. = INTEGER: -527400222

With the E: drive, iso. correctly shows the cluster 
size (4096). However, I am sure the total number of clusters isn't 
'-527400222'. Even if I used the absolute value of 527400222, the numbers 
don't add up to the 15TB partition size.

Any suggestions? Or have I reached the limitation of MRTG for the purpose I 
am looking for?

Thank you, in advance, for any assistance!



> _______________________________________________
> mrtg mailing list
> mrtg at lists.oetiker.ch
> https://lists.oetiker.ch/cgi-bin/listinfo/mrtg

More information about the mrtg mailing list