HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //lib64/nagios/plugins/check_memory.py
#!/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()