File: //usr/lib/python2.7/site-packages/lap/dovecot_locked_process.py
import os
import commands
import yaml
def __run__(params):
try:
dove_acct = ("sudo lsof -c lmtp -b 2>/dev/null| grep /storage | awk '{print $6}' | cut -d/ -f 1,2,3,4,5,6,7,8 | sort | uniq -c | sort -rn")
process_number = params.get('process_number','20')
status,output = commands.getstatusoutput(dove_acct)
critical = []
ok = []
for line in output.split("\n"):
acc = int(line.split()[0].strip())
line = line.strip()
if acc > process_number:
critical.append(line)
else:
ok.append(line)
if len(critical) > 0:
return [2, "CRITICAL check accounts => %s" % critical]
else:
return [0, "OK"]
except Exception as e:
return [0, "OK"]