Build precise queries to find exactly what you need
Press ESC to close
Join our next live webinar: “Advanced Nagios Monitoring Techniques” – Register Now
Your review has been submitted and is pending approval.
>>> This Script checks Your Unix Memory Utilization & Returns Output
>>> Use Command Line Arguments in MB [Megabytes]
>>> Use script as ./memory.py ‘Warning Limit’ ‘Critical Limit’
>>> Use script as ./memory.py 600 500
>>> Where Argument 600 is Memory Warning Limit in MB [Megabytes] & Argument 500 is Memory Critical Limit in MB [Megabytes]
Current Version
1.0
Last Release Date
2012-02-06
Owner
yogesh
License
GPL
Compatible With
>>> Use Command Line Arguments in MB [Megabytes] >>> Use script as ./memory.py 'Warning Limit' 'Critical Limit' >>> Use script as ./memory.py 600 500 >>> Where Argument 600 is Memory Warning Limit in MB [Megabytes] & Argument 500 is Memory Critical Limit in MB [Megabytes]
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()
Hi, I get the below error while using the arguments as -w 28000 -c 30000 /usr/local/nagios/libexec/check_memory.py -w 28000 -c 30000 Traceback (most recent call last): File "/usr/local/nagios/libexec/check_memory.py", line 67, in ? main() File "/usr/local/nagios/libexec/check_memory.py", line 64, in main checkargv() File "/usr/local/nagios/libexec/check_memory.py", line 49, in checkargv check() File "/usr/local/nagios/libexec/check_memory.py", line 61, in check checkmem() File "/usr/local/nagios/libexec/check_memory.py", line 35, in checkmem elif( int(sys.argv[1])
You must be logged in to submit a review.
To:
From: