-
<PYTHON>[임의의 특정 패턴 로그 발생기]Flower in my dev/Python 2017. 11. 16. 09:21
[임의의 특정 패턴 로그 발생기]
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899#-*- coding : utf-8 -*-"""Author : FlowerTime attack2017.10.14 ~Start Log2017.10.14 [start]2017.10.22 [M] log_cnt"""import osimport sysimport psutilimport platformfrom time import ctimefrom time import sleepfrom random import randintfile_name = 'flower_log'file_path = os.path.dirname(os.path.abspath(__file__))pattern = ['[%s] CISCO9999_L4 [loginfo:%s] cpu: %s memory: %s|%s disk: %s#\n','[%s] [GIT] [log_cnt=%s] cpu=%s memory=%s|%s disk=%s [log_end]\n','[%s] {Postgres DB} <log:%s> [cpu:%s][memory:%s|%s][disk:%s]\n','[%s|%s] %s:%s|%s:%s [syslog for linux]\n',]v_ip = '192.168.200.50'class LogMaker():def __init__(self):passdef log_maker(self):log_cnt = 0f_set = self.get_file()while True:try:res_rs = self.get_resource()for n in range(randint(5,10)):log_cnt += 1for i, f in enumerate(f_set):temp_log_cnt = str(log_cnt).zfill(8)f.write(pattern[i] % (ctime(), temp_log_cnt, res_rs['cpu'], res_rs['memory'], res_rs['swap'], res_rs['disk']))sleep(randint(1,3))except KeyboardInterrupt:for f in f_set:f.close()sys.exit()def get_file(self):f = []# Default 4 filesfor i in range(4):f.append(open(os.path.join(file_path, file_name + str(i) + '.log'), 'a'))return fdef get_resource(self):res_info = {}# CPU infotemp_str = str(platform.processor())temp_str += '#' + str(psutil.cpu_count())temp_str += '#' + str(psutil.cpu_times_percent())res_info['cpu'] = temp_str# Memory infomem = psutil.virtual_memory()temp_str = str(mem.total/1024)temp_str += '#' + str(mem.used/1024)temp_str += '#' + str(mem.free/1024)temp_str += '#' + str(mem.percent)res_info['memory'] = temp_str# Swap infoswap = psutil.swap_memory()temp_str = str(swap.total/1024)temp_str += '#' + str(swap.used/1024)temp_str += '#' + str(swap.free/1024)temp_str += '#' + str(swap.percent)res_info['swap'] = temp_str# Disk infodisk = psutil.disk_partitions()disk_info = psutil.disk_usage(disk[0].mountpoint)temp_str = str(disk_info.total/1024)temp_str += '#' + str(disk_info.used/1024)temp_str += '#' + str(disk_info.free/1024)temp_str += '#' + str(disk_info.percent)res_info['disk'] = temp_strreturn res_infodef run(self):self.log_maker()if __name__ == '__main__':LM = LogMaker()LM.run()cs 'Flower in my dev > Python' 카테고리의 다른 글
<PYTHON>[Numpy_04 ufunc 이항] (0) 2017.11.20 <PYTHON>[Numpy_04 ufunc 단항] (0) 2017.11.20 <PYTHON>[지정한 경로 안의 모든 키워드를 변경] (0) 2017.11.16 <PYTHON>[Numpy_03 불리언&팬시색인] (0) 2017.11.15 <PYTHON>[Numpy_02 배열계산과 색인&슬이싱] (0) 2017.11.14