Add uptime check taht warns if server has been up for too long
This commit is contained in:
parent
652f2fbdf7
commit
f5297850d9
31
templates/scriptreceiver/check_max_uptime
Executable file
31
templates/scriptreceiver/check_max_uptime
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('-w', '--warning',
|
||||||
|
help='Warning threashold',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('-c', '--critical',
|
||||||
|
help='Critical threashold',
|
||||||
|
required=True)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
warning = int(args.warning)
|
||||||
|
critical = int(args.critical)
|
||||||
|
|
||||||
|
with open('/proc/uptime', 'r') as f:
|
||||||
|
uptime_seconds = float(f.readline().split()[0])
|
||||||
|
days = int(uptime_seconds / 86400)
|
||||||
|
|
||||||
|
status = "OK"
|
||||||
|
exit = 0
|
||||||
|
if days > warning:
|
||||||
|
status = "WARNING"
|
||||||
|
exit = 1
|
||||||
|
if days > critical:
|
||||||
|
status = "CRITICAL"
|
||||||
|
exit = 2
|
||||||
|
|
||||||
|
print(f"{status}: uptime {days} days | uptime={days};{warning};{critical};")
|
||||||
|
sys.exit(exit)
|
Loading…
Reference in a new issue