[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