Build precise queries to find exactly what you need
Press ESC to close
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:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!