File: //usr/lib/python2.7/site-packages/lap/check_swap.py
#!/usr/bin/python
def __run__(params):
try:
warning = int(params.get("warning"))
critical = int(params.get("critical"))
f = open("/proc/swaps")
try:
line = f.readlines()[1].strip()
except:
return [0, "OK - No Swap"]
size = line.split()[2]
used = line.split()[3]
if used == "0":
return [0, "OK - Free Swap: 100%"]
pct = 100 - ((int(used) * 100) / int(size))
if (pct <= warning and pct > critical):
return [1, "WARNING - Free Swap: %s%% Warning: %s%% Critical: %s%%" % (pct,warning,critical)]
elif pct <= critical:
return [2, "CRITICAL - Free Swap: %s%% Warning: %s%% Critical: %s%%" % (pct,warning,critical)]
else:
return [0, "OK - Free Swap: %s%% Warning: %s%% Critical: %s%%" % (pct,warning,critical)]
except Exception as e:
return [2, "CRITICAL - Error: %s%%" % e]