Files
monitor/monitorLoad.py
T
2025-03-24 21:33:34 +00:00

27 lines
903 B
Python
Executable File

#!/usr/bin/python3
import sys
import re
import datetime
import os
from rrdtool import update as rrd_update # pylint: disable=no-name-in-module
SUBFOLDER = ''
#print(datetime.datetime.now().strftime("%V"))
# root@plex:/opt/monitor# uptime
# 16:05:39 up 422 days, 1:05, 1 user, load average: 0.01, 0.03, 0.01
re2 = re.compile(r"\d+\.\d+")
def save(filename, string):
fo = open(os.path.join(SUBFOLDER, filename+'_'+datetime.datetime.now().strftime("%V"))+'.log', "a")
fo.writelines( string + "\n" )
fo.close()
for line in sys.stdin:
if 'load average' in line:
avgs = re2.findall(line)
# print(";".join(avgs))
ret = rrd_update(os.path.join(SUBFOLDER, 'load.rrd'), 'N:{0}:{1}:{2}'.format(avgs[0],avgs[1],avgs[2]))
if float(avgs[2]) > 5.0:
send_event("ERROR,avgs,3,7,Unexpected high average load15 for the last minutes: {}".format(avgs[2]))