inode usage check fails and space usage check gives wrong result

Issue #57 resolved
Michael Bakker created an issue

monit configuration:

check filesystem fs_/is with path "/is" if space usage > 99% then alert if inode usage > 99% then alert

verbose logfile:

'fs_/is' filesystem doesn't support inodes 'fs_/is' space usage 140.1% matches resource limit [space usage>99.0%]

system df and mount output:

$:/etc/monit/configurations/storage$ df /is Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 39062609920 23778537888 15284072032 61% /is $:/etc/monit/configurations/storage$ df -i /is Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sdb1 7812939328 11491378 7801447950 1% /is $:/etc/monit/configurations/storage$ df -h /is Filesystem Size Used Avail Use% Mounted on /dev/sdb1 37T 23T 15T 61% /is $: grep /is /etc/mtab /dev/sdb1 /is xfs rw,nosuid,nodev,noatime,quota 0 0

On the one side I'm wondering that monit claims that the configured filesystem does not support inodes and the oder side that we have 140.1% space usage. Is the wrong space usage maybe a result from the failed inode check? Or do we experience some kind of integer overflow here? The kernel is x86_64 but the userland is 32bit (also monit itself) in case that matters somehow.

If you need any additional information just let me know.

Comments (8)

  1. Michael Bakker reporter

    Hello,

    thanks for your reply in this issue :)

    The space usage is now correct but it still says, that the filesystem doesn't support inodes. In the initial submit I forgot to mention that we are using XFS with inode32 option, maybe thats the key point here.

  2. Tildeslash repo owner

    Hello Michael,

    the problem should be fixed now. Tested with XFS, works fine, the problem was overflow of "long" type on ILP32 platforms for large filesystem, so the value was negative.

    You can test the development branch if you want to, you can get snapshot here: https://bitbucket.org/tildeslash/monit/get/master.tar.gz

    To compile:

    tar -xzf master.tar.gz
    cd tildeslash*
    ./bootstrap
    ./configure
    make
    
  3. Log in to comment