| Server IP : 172.67.157.124 / Your IP : 216.73.216.213 Web Server : LiteSpeed System : Linux s12482.usc1.stableserver.net 5.14.0-570.32.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 6 11:30:41 EDT 2025 x86_64 User : snownico ( 1231) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib64/nagios/plugins/ |
Upload File : |
#!/usr/bin/python
import psutil
import argparse
import sys
def main():
parser = argparse.ArgumentParser(description='check_memory')
parser.add_argument('-w', '--warning', required=True, type=int,
help='Warning threshold percentage (e.g. 70)')
parser.add_argument('-c', '--critical', required=True, type=int,
help='Critical threshold percentage (e.g. 90)')
args = parser.parse_args()
# Get the memory usage percentage
memory = psutil.virtual_memory()
usage_percent = memory.percent
# Compare with thresholds and output in Nagios plugin format
if usage_percent >= args.critical:
print(f"CRITICAL - Memory usage is {usage_percent}% | memory_usage={usage_percent}%")
sys.exit(2)
elif usage_percent >= args.warning:
print(f"WARNING - Memory usage is {usage_percent}% | memory_usage={usage_percent}%")
sys.exit(1)
else:
print(f"OK - Memory usage is {usage_percent}% | memory_usage={usage_percent}%")
sys.exit(0)
if __name__ == '__main__':
main()