清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/bin/env python #-*-coding:utf-8-*- ''' Create date: 2015-12-01 Version: 1.0 Description: Monitor inodes Author: Linjianying QQ: 122517575 ''' import os import sys ############################################################## ############################说明区############################ ############################################################## #帮助页 def help(): print '''check_inodes.py V1.0 This plugin checks the amount of disk inode space is free on a mounted file system and generates an alert if free inode space is less than one of the threshold values Exit 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")) #inodes def 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() ############################################################## ############################输出区############################ ############################################################## #check intmt = [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)