File: //usr/lib/python2.7/site-packages/lap/storage_proc.py
#!/usr/bin/env python
import psutil
def __run__(params):
try:
proc = params['proc']
warn = params['warn']
crit = params['crit']
data = {}
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
for p in psutil.process_iter():
if proc in p.name:
for x in [ o for o in p.get_open_files() if o[0].startswith('/storage/') ]:
home = '/'.join(x[0].split('/')[:8])
if home in data:
data[home] += 1
else:
data[home] = 1
for x in data:
if data[x] >= 100:
return [2, "CRITICAL - Error: %s has %d " % ( x, data[x]) ]
elif data[x] >= 70:
return [1, "WARNING - Warn: %s has %d " % ( x, data[x]) ]
return [0, "OK - Everthing works fine "]