Update roles/pips/files/cpu_usage.py

This commit is contained in:
2025-12-03 19:45:13 +01:00
parent 2d911cee99
commit b4637ccf89
+9 -19
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env python3
#!/usr/bin/env python3.11
"""Nagios plugin: report current memory usage.
Outputs a one-line status and perfdata and uses Nagios exit codes:
@@ -11,11 +11,6 @@ import argparse
import sys
import psutil
def human_mb(bytes_val):
return bytes_val / (1024 * 1024)
def main():
parser = argparse.ArgumentParser(description="Nagios memory usage check")
parser.add_argument("-w", "--warning", type=int, default=80,
@@ -29,16 +24,15 @@ def main():
sys.exit(3)
try:
cpu = psutil.cpu_percent(interval=1,percpu=True)
cpu = psutil.cpu_percent(interval=5,percpu=True)
except Exception as e:
print(f"UNKNOWN - failed to read cpu's: {e}")
sys.exit(3)
#total_mb = human_mb(vm.total)
#used_mb = human_mb(vm.total - vm.available)
#percent_used = vm.percent
status = 0
cpu_list = ""
cpu_print = ""
cpu_num = 0
status_str = "OK"
for percent_used in cpu:
if percent_used >= args.critical:
@@ -47,17 +41,13 @@ def main():
elif percent_used >= args.warning:
status = 1
status_str = "WARNING"
cpu_list += f"cpu{cpu_num}={percent_used:.1f};;;0; "
cpu_print += f"{percent_used:.1f}% "
cpu_num += 1
# Perfdata: used and total in MiB, and percent
perf = (
f"used={used_mb:.1f}MiB;{args.warning};{args.critical};0;{total_mb:.1f}"
f" total={total_mb:.1f}MiB"
)
print(f"CPU {status_str} - {used_mb:.1f}MiB used of {total_mb:.1f}MiB ({percent_used:.1f}%) | {perf}")
print(f"CPU {status_str} {cpu_print} | {cpu_list} ")
sys.exit(status)
if __name__ == "__main__":
main()