[Nagiosplug-help] plugin 'check_disk' fails on Solaris 10 with 16 TiB volume (with research)

Thomas Guyot-Sionnest dermoth at aei.ca
Wed Jan 9 07:49:33 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/01/08 01:23 AM, Thomas Guyot-Sionnest wrote:
> On 07/01/08 05:28 PM, Dennis Jenkins wrote:
>> (Originally posted to "Nagios-Users" this morning.  Reposted without change after another posted indicated that this is a more appropriate group):
> 
> 
>> Hello,
> 
>>     This is my first post to this list.  I was unable to find any 
>> previous mention of an issue like this, nor was I able to find a better 
>> place to submit this (bug report?) to.  I'm not a Solaris expert (I am 
>> pretty good with Linux and BSD though - including writing low-level 
>> system code).  It is entirely possible that I'm off my rocker and that I 
>> somehow and at fault.. but I doubt it  :) 
> 
>>     The server in question is a Sun x4600 ("thumper").  It is a 64 bit 
>> AMD server running Solaris 10 (SunOS 5.10) [1].  The system has a few 
>> small volumes and one HUGE 16TiB volume (in a zpool).  This ZFS volume 
>> is exported as several volumes over NFS.
> 
>>     Nagios was installed following the instructions on terdmonk's web 
>> site [2].  Nagios itself runs on a remote Gentoo Linux box.  I use nrpe 
>> on the Solaris box to execute the plugins.  I have ruled out nrpe as the 
>> source of the problem.  I think that the problem is in the plugin's 
>> (check_disk) call to "statvfs".
> 
> Hi,
> 
> We've seen this problem in the past; you can search the archives of
> nagiosplug-devel and nagiosplug-help and maybe you'll find something.
> 
> 80+ TB volumes worked well on my amd64 Linux worktation (tested using
> spase-file loop devices - I wish I have 80TB at home but I don't). I
> think I've been able to reproduce this problem only by copying a binary
> built on a 32-bit system to my workstation. If I recall correctly the
> difference was the syscalls being different or something like that.
> 
> Have you compiled Nagios-plugins on the server you're having problem
> with? If not that's the first thing I'd try.
> 
> You may also want to try with this configure line to compile 64-bit
> binaries (assuming this is gcc, for sun cc it appears to be -xarch=v9):
> 
> CFLAGS=' -m64 ' ./configure [your regular args here...]
> 

After looking a bit more It looks like this could be a limitation of
gnulib (it should look for availability of ststvfs64 and use it where
available).

Try editing gl/fsusage.c and gl/mountlist.c and replace every
occurrences of:

struct statvfs [something]

with:

struct statvfs64 [something]

and

if (statvfs (file, &fsd) < 0)

with:

if (statvfs64 (file, &fsd) < 0)

(Don't touch the "#include <>" lines)

If you still have issues, try both 64-bit and this change

I can make a patch if you're having trouble.

Thomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHhG596dZ+Kt5BchYRAplwAKDfNPFWUwiSoa1i1/K36uhXHOnfXQCguGE7
MG+0PMXRmBCkLyyIuVcWi1w=
=GeZz
-----END PGP SIGNATURE-----




More information about the Help mailing list