diff options
| -rwxr-xr-x | plugins/check_vol_utilization.py | 32 | ||||
| -rw-r--r-- | plugins/volcap/volCap.c | 2 | 
2 files changed, 14 insertions, 20 deletions
diff --git a/plugins/check_vol_utilization.py b/plugins/check_vol_utilization.py index ab58e58..8500df0 100755 --- a/plugins/check_vol_utilization.py +++ b/plugins/check_vol_utilization.py @@ -32,8 +32,6 @@ def showVolumeUtilization(vname, warnLevel, critLevel):          sys.stdout.write("UNKNOWN: Failed to get the "                           "Volume Utilization Data\n")          sys.exit(utils.PluginStatusCode.UNKNOWN) -#    print buf -  ####################################################################  #statvfs.frsize * statvfs.f_blocks# Size of filesystem in bytes    #  #statvfs.frsize * statvfs.f_bfree # Actual number of free bytes    # @@ -41,35 +39,31 @@ def showVolumeUtilization(vname, warnLevel, critLevel):  #ordinary users are allowed to use (excl. reserved space           #  ####################################################################      #total size in KB -    total_size = (buf['f_bsize'] * buf['f_blocks']) * 0.000976563 +    total_size = (buf['f_bsize'] * buf['f_blocks']) / 1024.0      #Available free size in KB -    free_size = (buf['f_bsize'] * buf['f_bavail']) * 0.000976563 +    free_size = (buf['f_bsize'] * buf['f_bavail']) / 1024.0      #used size in KB -    used_size = total_size - ((buf['f_bsize'] * buf['f_bfree']) * 0.000976563) +    used_size = total_size - ((buf['f_bsize'] * buf['f_bfree']) / 1024.0)      vol_utilization = (used_size / total_size) * 100      perfLines = [] -    perfLines.append(("utilization=%s%%;%s;%s total=%s " -                      "used=%s free=%s" % (str(int(vol_utilization)), -                                           str(warnLevel), str(critLevel), -                                           str(int(total_size)), -                                           str(int(used_size)), -                                           str(int(free_size))))) -#    print perfLines - +    perfLines.append(("utilization=%.2f%%;%d;%d total=%0.2f " +                      "used=%0.2f free=%0.2f" % (vol_utilization, warnLevel, +                                                 critLevel, total_size, +                                                 used_size, free_size)))      if int(vol_utilization) > critLevel:          sys.stdout.write( -            ("CRITICAL: Utilization:%s%%" -             "| %s\n" % (str(int(vol_utilization)), " ".join(perfLines)))) +            ("CRITICAL: Utilization:%0.2f%%" +             "| %s\n" % (vol_utilization, " ".join(perfLines))))          sys.exit(utils.PluginStatusCode.CRITICAL)      elif int(vol_utilization) > warnLevel:          sys.stdout.write( -            ("WARNING: Utilization:%s%%" -             "| %s\n" % (str(int(vol_utilization)), " ".join(perfLines)))) +            ("WARNING: Utilization:%0.2f%%" +             "| %s\n" % (vol_utilization, " ".join(perfLines))))          sys.exit(utils.PluginStatusCode.WARNING)      else:          sys.stdout.write( -            ("OK: Utilization:%s%%" -             "| %s\n" % (str(int(vol_utilization)), " ".join(perfLines)))) +            ("OK: Utilization:%0.2f%%" +             "| %s\n" % (vol_utilization, " ".join(perfLines))))          sys.exit(utils.PluginStatusCode.OK) diff --git a/plugins/volcap/volCap.c b/plugins/volcap/volCap.c index 5eb61db..8c0c4e4 100644 --- a/plugins/volcap/volCap.c +++ b/plugins/volcap/volCap.c @@ -115,7 +115,7 @@ static PyObject *glfspy_statvfs (PyObject *self, PyObject *args)    closelog ();    //return Py_BuildValue("i", rv);    if(rv == 0) -    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i}","f_bsize",buf.f_bsize,"f_frsize",buf.f_frsize,"f_blocks",buf.f_blocks,"f_bfree",buf.f_bfree,"f_bavail",buf.f_bavail,"f_files",buf.f_files,"f_ffree",buf.f_ffree,"f_favail",buf.f_favail,"f_fsid",buf.f_fsid,"f_flag",buf.f_flag,"f_namemax",buf.f_namemax); +    return Py_BuildValue("{s:l,s:l,s:l,s:l,s:l,s:l,s:l,s:l,s:l,s:l,s:l}","f_bsize",buf.f_bsize,"f_frsize",buf.f_frsize,"f_blocks",buf.f_blocks,"f_bfree",buf.f_bfree,"f_bavail",buf.f_bavail,"f_files",buf.f_files,"f_ffree",buf.f_ffree,"f_favail",buf.f_favail,"f_fsid",buf.f_fsid,"f_flag",buf.f_flag,"f_namemax",buf.f_namemax);    else {      if(rv == USAGE_ERROR)        PyErr_SetString(StatvfsError, "Usage error");  | 
