nagios插件--监控inodes,nagios插件inodes,#!/bin/env p
文章由Byrx.net分享于2019-03-23 05:03:40
nagios插件--监控inodes,nagios插件inodes,#!/bin/env p
#!/bin/env python#-*-coding:utf-8-*-'''Create date: 2015-12-01Version: 1.0Description: Monitor inodesAuthor: LinjianyingQQ: 122517575'''import osimport sys##########################################################################################说明区###########################################################################################帮助页def help(): print '''check_inodes.py V1.0This plugin checks the amount of disk inode space is free on a mounted file systemand generates an alert if free inode space is less than one of the threshold valuesExit with WARNING status if less than PERCENT of inode space is free !!!''' print 'Usage:','\n', sys.argv[0], '-w <Warning_threshold> -c <Critical_threshold>' print 'Example:','\n', sys.argv[0], '-w 20% -c 10%'if len(sys.argv) < 5: help() sys.exit(3)elif sys.argv[1] != '-w': help() sys.exit(3)elif sys.argv[3] != '-c': help() sys.exit(3)elif sys.argv[2].strip("%") < sys.argv[4].strip("%"): print 'Critical_threshold must be less than Warning_threshold' sys.exit(3)##########################################################################################功能区###########################################################################################挂载点dflist = []mtlist = []mtdict = {}dfinfo = os.popen("df -h")for line in dfinfo.readlines(): dflist.append(line)for every in dflist[2:len(dflist)+1]: result = every.split(' ') mtlist.append(result[len(result)-1].strip("\n"))#inodesdef getinodes(mt): return "{0:.0f}%".format(float(os.statvfs(mt).f_favail) / os.statvfs(mt).f_files * 100 )for mt in mtlist: mtdict[mt] = getinodes(mt)###print mtdict.values()##########################################################################################输出区###########################################################################################checkintmt = [int(i.strip("%")) for i in mtdict.values()]if min(intmt) < int(sys.argv[4].strip("%")): print 'Critical -', mtdict sys.exit(2)elif int(sys.argv[2].strip("%")) > min(intmt) > int(sys.argv[4].strip("%")): print 'Warning -', mtdict sys.exit(1)else: print 'OK -', mtdict sys.exit(0)
评论关闭