def update_WaitIO(CPU0, CPU1): file_name = "/var/sys_monitoring/update_WaitIO" + "_" + datetime.datetime.now( ).strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/diskwait_" + datetime.datetime.now( ).strftime('%Y-%m-%d') + ".rrd" try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_WaitIO(str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at " + str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] + "0" + "\n") timing = str(int(time.time()))[:-1] + "0" f.write( "rrdtool update /var/sys_monitoring/diskwait_%s.rrd -t CPU0:CPU1 %s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, CPU0, CPU1)) f.close() try: subprocess.check_output( "rrdtool update /var/sys_monitoring/diskwait_%s.rrd -t CPU0:CPU1 %s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, CPU0, CPU1), shell=True) except subprocess.CalledProcessError as err: createLog( str(err.returncode) + ": " + str(err.output) + " while update CPU at " + timing)
def graph_Network_temp(kname, ip): # create graphs that track numbers of bytes sent + recent path_bytes = "/var/sys_monitoring/network_temp_" + str(kname) + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".png" def1 = "DEF:sent=/var/sys_monitoring/network_temp_" + str(kname) + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".rrd:sent:LAST" def2 = "DEF:recv=/var/sys_monitoring/network_temp_" + str(kname) + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".rrd:recv:LAST" def3 = "DEF:sent_per_sec=/var/sys_monitoring/network_temp_" + str(kname) + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".rrd:sent_per_sec:LAST" def4 = "DEF:recv_per_sec=/var/sys_monitoring/network_temp_" + str(kname) + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".rrd:recv_per_sec:LAST" cm_ip = "COMMENT:" + ip; file_path = path_bytes[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path_bytes, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'bytes', '--title', str(kname), def1, def2, def4, def4, 'AREA1:sent#004F00:sent', 'AREA1:recv#ff69b4:recv', 'LINE1:sent_per_sec#004F00:sent_per_sec', 'LINE1:recv_per_sec#ff69b4:recv_per_sec', cm_ip) createLog("Created " + path_bytes)
def create_LoadAvg(time_create): data_sources = ['DS:load_1min:GAUGE:60:0:U', 'DS:load_5min:GAUGE:60:0:U', 'DS:load_15min:GAUGE:60:0:U'] file_name = "/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "60", data_sources,"RRA:LAST:0.5:1:1440") createLog("Created " + file_name)
def graph_Memory(): path = "/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:used=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:used:LAST" def2 = "DEF:percent=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:percent:LAST" def3 = "DEF:active=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:active:LAST" def4 = "DEF:inactive=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:inactive:LAST" def5 = "DEF:buffers=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:buffers:LAST" def6 = "DEF:cached=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:cached:LAST" def7 = "DEF:available=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:available:LAST" def8 = "DEF:free=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:free:LAST" def9 = "DEF:shared=/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:shared:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'bytes', '--title', 'Memory Allocation', def1, def2, def3, def4, def5, def6, def7, def8, def9, 'AREA:used#e6194B:used', 'LINE1:percent#42d4f4:percent', 'AREA:active#3cb44b:active:STACK', 'AREA:inactive#f032e6:inactive:STACK', 'AREA:buffers#ffe119:buffers:STACK', 'AREA:cached#4363d8:cached:STACK', 'AREA:available#a9a9a9:available:STACK', 'AREA:free#ffffff:free:STACK', 'AREA:shared#911eb4:shared:STACK') createLog("Created " + path)
def graph_Swap(): path = "/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:total=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:total:LAST" def2 = "DEF:used=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:used:LAST" def3 = "DEF:free=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:free:LAST" def4 = "DEF:percent=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:percent:LAST" def5 = "DEF:sin=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:sin:LAST" def6 = "DEF:sout=/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:sout:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'bytes', '--title', 'Swap Memory Allocation', def1, def2, def3, def4, def5, def6, 'AREA:total#a9a9a9:total', 'AREA:used#e6194B:used:STACK', 'AREA:free#ffffff:free:STACK', 'LINE1:percent#000000:percent', 'AREA:sin#ffe119:sin:STACK', 'AREA:sout#4363d8:sout:STACK') createLog("Created " + path)
def graph_CPU(cpu_num): cpu_name = "CPU" + str(cpu_num) path = "/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:user=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:user:LAST" def2 = "DEF:nice=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:nice:LAST" def3 = "DEF:system=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:system:LAST" def4 = "DEF:idle=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:idle:LAST" def5 = "DEF:iowait=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:iowait:LAST" def6 = "DEF:irq=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:irq:LAST" def7 = "DEF:softirq=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:softirq:LAST" def8 = "DEF:steal=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:steal:LAST" def9 = "DEF:guest=/var/sys_monitoring/" + cpu_name + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:guest:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'percent', '--title', 'Processors Usage', def1, def2, def3, def4, def5, def6, def7, def8, def9, 'AREA:user#e6194B:user', 'AREA:nice#42d4f4:nice:STACK', 'AREA:system#3cb44b:system:STACK', 'AREA:idle#f032e6:idle:STACK', 'AREA:iowait#ffe119:iowait:STACK', 'AREA:irq#4363d8:irq:STACK', 'AREA:softirq#a9a9a9:softirq:STACK', 'AREA:steal#800000:steal:STACK', 'AREA:guest#911eb4:guest:STACK') createLog("Created " + path)
def get_Memory (): file_name = "/var/sys_monitoring/update_memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd"; try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_Memory(str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at "+ str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] +"0" + "\n") timing = str(int(time.time()))[:-1] + "0" f.write("rrdtool update /var/sys_monitoring/memory_%s.rrd -t used:percent:active:inactive:buffers:cached:available:free:shared %s:%s:%s:%s:%s:%s:%s:%s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, virtual_memory()["used"], virtual_memory()['percent'], virtual_memory()["active"], virtual_memory()["inactive"], virtual_memory()["buffers"], virtual_memory()["cached"], virtual_memory()['available'], virtual_memory()['free'], virtual_memory()['shared'])) f.close() try: subprocess.check_output("rrdtool update /var/sys_monitoring/memory_%s.rrd -t used:percent:active:inactive:buffers:cached:available:free:shared %s:%s:%s:%s:%s:%s:%s:%s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, virtual_memory()["used"], virtual_memory()["percent"], virtual_memory()["active"], virtual_memory()["inactive"], virtual_memory()["buffers"], virtual_memory()["cached"], virtual_memory()["available"], virtual_memory()["free"], virtual_memory()["shared"]), shell=True) except subprocess.CalledProcessError as err: createLog(str(err.returncode) + ": " + str(err.output) + " while update Memory at " + timing)
def create_Disk_Storage(time_create): data_sources_bytes = ['DS:used:GAUGE:600:0:U', 'DS:free:GAUGE:600:0:U', 'DS:total:GAUGE:600:0:U'] file_name_bytes = "/var/sys_monitoring/disk_storage_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name_bytes, "--start", time_create, "--step", "600", data_sources_bytes, "RRA:LAST:0.5:1:144") createLog("Created " + file_name_bytes)
def create_Status_Processes(time_create): data_sources = ['DS:running:GAUGE:60:0:U', 'DS:sleeping:GAUGE:60:0:U', 'DS:idle:GAUGE:60:0:U'] file_name = "/var/sys_monitoring/processes_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "60", data_sources, "RRA:LAST:0.5:1:1440") createLog("Created " + file_name)
def create_Swap(time_create): data_sources = ['DS:total:GAUGE:600:0:U', 'DS:used:GAUGE:600:0:U', 'DS:free:GAUGE:600:0:U', 'DS:percent:GAUGE:600:0:U', 'DS:sin:GAUGE:600:0:U', 'DS:sout:GAUGE:600:0:U'] file_name = "/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "600", data_sources, "RRA:LAST:0.5:1:144") createLog("Created " + file_name)
def create_CPU(cpu_num, time_create): data_sources = ['DS:user:GAUGE:600:0:U', 'DS:nice:GAUGE:600:0:U', 'DS:system:GAUGE:600:0:U', 'DS:idle:GAUGE:600:0:U', 'DS:iowait:GAUGE:600:0:U', 'DS:irq:GAUGE:600:0:U', 'DS:softirq:GAUGE:600:0:U', 'DS:steal:GAUGE:600:0:U', 'DS:guest:GAUGE:600:0:U'] file_name = "/var/sys_monitoring/CPU" + str(cpu_num) + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "600", data_sources, "RRA:LAST:0.5:1:144") createLog("Created " + file_name)
def create_Memory(time_create): data_sources = ['DS:used:GAUGE:600:0:U', 'DS:percent:GAUGE:600:0:U', 'DS:active:GAUGE:600:0:U', 'DS:inactive:GAUGE:600:0:U', 'DS:buffers:GAUGE:600:0:U', 'DS:cached:GAUGE:600:0:U', 'DS:available:GAUGE:600:0:U', 'DS:free:GAUGE:600:0:U', 'DS:shared:GAUGE:600:0:U'] file_name = "/var/sys_monitoring/memory_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "600", data_sources,"RRA:LAST:0.5:1:144") createLog("Created " + file_name)
def graph_WaitIO(): path = "/var/sys_monitoring/diskwaitIO" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:load_1min=/var/sys_monitoring/diskwait_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:CPU0:LAST" def2 = "DEF:load_5min=/var/sys_monitoring/diskwait_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:CPU1:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 's', '--title', 'Disk IO Wait time', def1, def2, 'LINE1:CPU0#0000FF:CPU0', 'LINE1:CPU1#ff69b4:CPU1') createLog("Created " + path)
def graph_LoadAvg(): path = "/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:load_1min=/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:load_1min:LAST" def2 = "DEF:load_5min=/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:load_5min:LAST" def3 = "DEF:load_15min=/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:load_15min:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'ms/s', '--title', 'Load Average', def1, def2, def3, 'LINE1:load_1min#0000FF:Load_1min', 'LINE1:load_5min#004F00:Load_5min', 'LINE1:load_15min#ff69b4:Load_15min') createLog("Created " + path)
def graph_Processes(): path = "/var/sys_monitoring/processes_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".png" def1 = "DEF:running=/var/sys_monitoring/processes_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:running:LAST" def2 = "DEF:sleeping=/var/sys_monitoring/processes_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:sleeping:LAST" def3 = "DEF:idle=/var/sys_monitoring/processes_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd:idle:LAST" file_path = path[:-3] + "rrd" if os.path.isfile(file_path): rrdtool.graph(path, '--imgformat', 'PNG', '--width', '1274', '--height', '346', '--start', '-1d', '--end', str(int(time.time())), '--vertical-label', 'units', '--title', 'Number of processes', def1, def2, def3, 'LINE1:running#004F00:running', 'LINE1:sleeping#ff69b4:sleeping', 'LINE1:idle#0000FF:idle') createLog("Created " + path)
def get_CPU_percent(CPU_dict, cpu_num): file_name = "/var/sys_monitoring/update_CPU" + str( cpu_num) + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/CPU" + str( cpu_num) + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_CPU(cpu_num, str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at " + str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] + "0" + "\n") timing = str(int(time.time()))[:-1] + "0" f.write( "rrdtool update /var/sys_monitoring/CPU%d_%s.rrd -t user:nice:system:idle:iowait:irq:softirq:steal:guest %s:%s:%s:%s:%s:%s:%s:%s:%s:%s\n" % (cpu_num, datetime.datetime.now().strftime('%Y-%m-%d'), timing, CPU_dict["user"], CPU_dict["nice"], CPU_dict["system"], CPU_dict["idle"], CPU_dict["iowait"], CPU_dict["irq"], CPU_dict["softirq"], CPU_dict["steal"], CPU_dict["guest"])) f.close() try: subprocess.check_output( "rrdtool update /var/sys_monitoring/CPU%d_%s.rrd -t user:nice:system:idle:iowait:irq:softirq:steal:guest %s:%s:%s:%s:%s:%s:%s:%s:%s:%s\n" % (cpu_num, datetime.datetime.now().strftime('%Y-%m-%d'), timing, CPU_dict["user"], CPU_dict["nice"], CPU_dict["system"], CPU_dict["idle"], CPU_dict["iowait"], CPU_dict["irq"], CPU_dict["softirq"], CPU_dict["steal"], CPU_dict["guest"]), shell=True) except subprocess.CalledProcessError as err: createLog( str(err.returncode) + ": " + str(err.output) + " while update CPU at " + timing)
def get_Swap(): file_name = "/var/sys_monitoring/update_swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/swap_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_Swap(str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at "+ str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] +"0" + "\n") timing = str(int(time.time()))[:-1] + "0" f.write("rrdtool update /var/sys_monitoring/swap_%s.rrd -t total:used:free:percent:sin:sout %s:%s:%s:%s:%s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, swap_memory()["total"], swap_memory()["used"], swap_memory()["free"], swap_memory()["percent"], swap_memory()["sin"], swap_memory()["sout"])) f.close() try: subprocess.check_output("rrdtool update /var/sys_monitoring/swap_%s.rrd -t total:used:free:percent:sin:sout %s:%s:%s:%s:%s:%s:%s\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, swap_memory()["total"], swap_memory()["used"], swap_memory()["free"], swap_memory()["percent"], swap_memory()["sin"], swap_memory()["sout"]), shell=True) except subprocess.CalledProcessError as err: createLog(str(err.returncode) + ": " + str(err.output) + " while update Swap at " + timing)
def update_Network(): networks = get_Network() #retrieve all the networks file_name = "/var/sys_monitoring/update_Network_" + datetime.datetime.now( ).strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") timing = str(int(time.time()))[:-1] + "0" for iface in networks: #for each nic card, system will write file_rrd = "/var/sys_monitoring/network_" + iface[ 'iface'] + "_" + datetime.datetime.now().strftime( '%Y-%m-%d') + ".rrd" try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_Network(iface['iface'], str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at " + str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] + "0" + "\n") f.write( "rrdtool update /var/sys_monitoring/network_%s_%s.rrd -t sent:recv %s:%f:%f\n" % (iface['iface'], datetime.datetime.now().strftime('%Y-%m-%d'), timing, iface["sent"], iface["recv"])) try: subprocess.check_output( "rrdtool update /var/sys_monitoring/network_%s_%s.rrd -t sent:recv %s:%f:%f\n" % (iface['iface'], datetime.datetime.now().strftime('%Y-%m-%d'), timing, iface["sent"], iface["recv"]), shell=True) except subprocess.CalledProcessError as err: createLog( str(err.returncode) + ": " + str(err.output) + " while update Network at " + timing) f.close()
def getLoadAvg(): load_avg = os.getloadavg() # this results in tuplpe of 3 values loadavg_1min loadavg_5mins loadavg_15mins file_name = "/var/sys_monitoring/update_loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/loadavg_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" try: check_file = open(file_rrd, 'r') except FileNotFoundError: create_LoadAvg(str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating f.write("TEMPORARY CREATED at "+ str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] +"0" + "\n") timing = str(int(time.time()))[:-1] + "0" f.write("rrdtool update /var/sys_monitoring/loadavg_%s.rrd -t load_1min:load_5min:load_15min %s:%.2f:%.2f:%.2f\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, load_avg[0], load_avg[1], load_avg[2])) f.close() try: subprocess.check_output("rrdtool update /var/sys_monitoring/loadavg_%s.rrd -t load_1min:load_5min:load_15min %s:%.2f:%.2f:%.2f\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, load_avg[0], load_avg[1], load_avg[2]), shell=True) except subprocess.CalledProcessError as err: createLog(str(err.returncode) + ": " + str(err.output) + " while update LoadAvg at " + timing)
def get_Running_Sleeping_Idle(running, sleeping, idle): file_name = "/var/sys_monitoring/update_processes_" + datetime.datetime.now( ).strftime('%Y-%m-%d') + ".txt" if os.path.isfile(file_name): f = open(file_name, "a+") else: f = open(file_name, "w+") file_rrd = "/var/sys_monitoring/processes_" + datetime.datetime.now( ).strftime('%Y-%m-%d') + ".rrd" try: #try IF processes_DATE.rrd file exists check_file = open(file_rrd, 'r') except FileNotFoundError: create_Status_Processes( str(int(time.time()) - 60)[:-1] + "0") # create a file 60sec before so its updating IF NOT EXIST f.write( "TEMPORARY CREATED at " + str(int(time.time()) - 60)[:-1] + "0" + " 60 seconds before " + str(int(time.time()))[:-1] + "0" + "\n" ) #create file 60secs before THIS MOMENT so can UPDATE at THIS MOMENT due to the 60 heartbeat timing = str(int(time.time()))[:-1] + "0" #get the timing of THIS MOMENT f.write( "rrdtool update /var/sys_monitoring/processes_%s.rrd -t running:sleeping:idle %s:%d:%d:%d\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, running, sleeping, idle)) #write the rrdtool update syntax to update_processes_DATE.txt try: #check terminal return of RRDTOOL UPDATE subprocess.check_output( "rrdtool update /var/sys_monitoring/processes_%s.rrd -t running:sleeping:idle %s:%d:%d:%d\n" % (datetime.datetime.now().strftime('%Y-%m-%d'), timing, running, sleeping, idle), shell=True) except subprocess.CalledProcessError as err: #write terminal return in 'logfile.txt ' createLog( str(err.returncode) + ": " + str(err.output) + " while update CPU at " + timing)
def create_Network(kname, time_create): data_sources_bytes = ['DS:sent:GAUGE:600:0:U', 'DS:recv:GAUGE:600:0:U'] file_name_bytes = "/var/sys_monitoring/network_" + str(kname) + "_" + datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name_bytes, "--start", time_create, "--step", "600", data_sources_bytes, "RRA:LAST:0.5:1:144") createLog("Created " + file_name_bytes)
def create_WaitIO(time_create): data_sources = ['DS:CPU0:GAUGE:600:0:U', 'DS:CPU1:GAUGE:600:0:U'] file_name = "/var/sys_monitoring/diskwait_"+ datetime.datetime.now().strftime('%Y-%m-%d') + ".rrd" rrdtool.create(file_name, "--start", time_create, "--step", "600", data_sources, "RRA:LAST:0.5:1:144") createLog("Created " + file_name)