summaryrefslogtreecommitdiffstats
path: root/plugins/check_disk_and_inode.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_disk_and_inode.py')
-rwxr-xr-xplugins/check_disk_and_inode.py32
1 files changed, 23 insertions, 9 deletions
diff --git a/plugins/check_disk_and_inode.py b/plugins/check_disk_and_inode.py
index 1025d4d..393bd94 100755
--- a/plugins/check_disk_and_inode.py
+++ b/plugins/check_disk_and_inode.py
@@ -147,22 +147,30 @@ def parse_input():
parser.add_option('-x', '--exclude', action="append", type='string',
dest='exclude',
help='Exclude disk/brick')
+ parser.add_option('-s', action="store_true", default=False,
+ dest='showErrorDisk',
+ help='Show critical or warning disks in the status')
return parser.parse_args()
def _getMsg(okList, warnList, critList):
msg = ", ".join(critList)
+ errorDiskMsg = msg
if critList and (warnList or okList):
msg = "CRITICAL: " + msg
if warnList:
if msg:
msg += "; WARNING: "
msg += ", ".join(warnList)
+ if errorDiskMsg:
+ errorDiskMsg += "; WARNING: " + ", ".join(warnList)
+ else:
+ errorDiskMsg = msg
if okList:
if msg:
msg += "; OK: "
msg += ", ".join(okList)
- return msg
+ return msg, errorDiskMsg
def _getUnitAndType(val):
@@ -174,7 +182,7 @@ def _getUnitAndType(val):
def showDiskUsage(warn, crit, mountPaths, toListInode, usage=False,
- isLvm=False, ignoreError=False):
+ isLvm=False, ignoreError=False, showErrorDisk=True):
diskPerf = []
warnList = []
critList = []
@@ -275,7 +283,7 @@ def showDiskUsage(warn, crit, mountPaths, toListInode, usage=False,
statusCode = utils.PluginStatusCode.UNKNOWN
okList.append(msg)
- msg = _getMsg(okList, warnList, critList)
+ msg, errorDiskMsg = _getMsg(okList, warnList, critList)
if totalUsed == 0 and totalSize == 0:
# avoid zero div error
@@ -303,8 +311,11 @@ def showDiskUsage(warn, crit, mountPaths, toListInode, usage=False,
totalSize,
usage)
- if usageMsg:
+ if showErrorDisk:
+ msg = "%s\n:mount(s): (%s)" % (errorDiskMsg, msg)
+ else:
msg = "%s:mount(s): (%s)" % (usageMsg, msg)
+
return statusCode, msg, diskPerf
@@ -325,7 +336,8 @@ if __name__ == '__main__':
options.inode,
options.usage,
options.lvm,
- options.ignore)
+ options.ignore,
+ options.showErrorDisk)
if utils.PluginStatusCode.CRITICAL == statusCode:
sys.stdout.write("%s : %s | %s\n" % (
@@ -340,7 +352,9 @@ if __name__ == '__main__':
" ".join(diskPerf)))
sys.exit(utils.PluginStatusCode.WARNING)
else:
- sys.stdout.write("%s : %s | %s\n" % (
- utils.PluginStatus.OK,
- msg,
- " ".join(diskPerf)))
+ if options.showErrorDisk:
+ sys.stdout.write("%s %s | %s\n" % (
+ utils.PluginStatus.OK, msg, " ".join(diskPerf)))
+ else:
+ sys.stdout.write("%s : %s | %s\n" % (
+ utils.PluginStatus.OK, msg, " ".join(diskPerf)))