Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
martinb
bymartinb, February 11, 2016
I modified this slightly to report on free space and not used space. I also added a 3rd argument for Swap.
import commands
import sys
def checkmem():
mem = "Mem"
memprint = "Memory"
if(len(sys.argv) > 3):
if(sys.argv[3] == "s"):
mem = "Swap"
memprint = "Swap"
a = commands.getstatusoutput("free -m | grep " + mem)
b = a[1]
c = b.split()
t = c[1]
u = c[2]
f = c[3]
if (len(sys.argv) > 2):
if( int(sys.argv[2]) >= int(f) ):
print "CRITICAL -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(2)
elif( int(sys.argv[1]) >= int(f) ):
print "WARNING -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(1)
else:
print "OK -- Total "+memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(0)
def checkargv():
if (len(sys.argv) == 1 ):
print ""
print "Enter Warning Limit & Critical Limit"
print "Use --help For Help"
print ""
else:
check()
def check():
if ((sys.argv[1]) == "--help"):
print ""
print "This Script checks Your Unix Memory Utilization & Returns Output"
print "Use Command Line Arguments in MB [Megabytes]"
print "Use script as ./memory.py 'Warning Limit' 'Critical Limit'"
print "Use script as ./memory.py 600 500 (s)"
print "Where Argument 600 is Memory Warning Limit in MB [Megabytes] & Argument 500 is Memory Critical Limit in MB [Megabytes]"
print "And optional s argument is Swap reporting"
else:
checkmem()
def main():
checkargv()
if __name__ == '__main__':
main()
import commands
import sys
def checkmem():
mem = "Mem"
memprint = "Memory"
if(len(sys.argv) > 3):
if(sys.argv[3] == "s"):
mem = "Swap"
memprint = "Swap"
a = commands.getstatusoutput("free -m | grep " + mem)
b = a[1]
c = b.split()
t = c[1]
u = c[2]
f = c[3]
if (len(sys.argv) > 2):
if( int(sys.argv[2]) >= int(f) ):
print "CRITICAL -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(2)
elif( int(sys.argv[1]) >= int(f) ):
print "WARNING -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(1)
else:
print "OK -- Total "+memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB"
sys.exit(0)
def checkargv():
if (len(sys.argv) == 1 ):
print ""
print "Enter Warning Limit & Critical Limit"
print "Use --help For Help"
print ""
else:
check()
def check():
if ((sys.argv[1]) == "--help"):
print ""
print "This Script checks Your Unix Memory Utilization & Returns Output"
print "Use Command Line Arguments in MB [Megabytes]"
print "Use script as ./memory.py 'Warning Limit' 'Critical Limit'"
print "Use script as ./memory.py 600 500 (s)"
print "Where Argument 600 is Memory Warning Limit in MB [Megabytes] & Argument 500 is Memory Critical Limit in MB [Megabytes]"
print "And optional s argument is Swap reporting"
else:
checkmem()
def main():
checkargv()
if __name__ == '__main__':
main()