분류 전체보기
-
[Python] psutil을 이용한 프로세스/로컬IP/로컬Port/리모트IP/리모트Port 모니터링Python/Python for Windows 2019. 9. 8. 16:00
psutil은 실행중인 프로세스 및 시스템 자원 정보를 볼 수 있는 모듈 import psutil strings = '' stringsFormat = '%-30s\t%-20s\t%-10s\t%-20s\t%-10s\n' strings = stringsFormat % ('process', 'local ip', 'local port', 'remote ip', 'remote port') strings += '-'*30+'\t'+'-'*20+'\t'+'-'*10+'\t'+'-'*20+'\t'+'-'*10+'\n' def processinfo(): process = psutil.Process(conn.pid) return process.name() for conn in psutil.net_connections():..
-
[Python] pandas datetime 타입 시간/주/일 더하기Python/Python For Analytics 2019. 9. 6. 13:38
시스템 로그를 분석할 때, 로그시간에 UTC시간을 더해줘야 할 때가 있는데, datetime의 timedelta의 메소드를 이용하여 변환할 수 있겠다. 기준일 from datetime import datetime, timedelta ....... print(data['time']) 0 2019-08-27 00:00:00 1 2019-08-27 00:00:00 2 2019-08-27 00:00:00 3 2019-08-27 00:00:00 4 2019-08-27 00:00:00 ... 373064 2019-08-27 23:59:58 373065 2019-08-27 23:59:59 373066 2019-08-27 23:59:59 373067 2019-08-27 23:59:59 373068 2019-08-27 ..
-
[Python] pandas를 이용한 tomcat accesslog 분석 및 활용Python/Python for Linux 2019. 9. 5. 13:06
톰캣 웹 로그도 pandas를 이용하면 빠른 속도로 처리할 수 있다. 로그가 100만 ~ 1000만 이상 넘어가면 pandas를 이용하는 게 상당히 빠르며, DataFrame으로 저장하고, CSV로 파일로 만들거나 다른 DB에 import 가 가능하기 때문에 활용도도 좋다고 볼 수 있다. 엘라스틱서치, 몽고DB도 python API가 있기 때문에 역시 가능하다. 톰캣을 기본설치하게 되면, 아래와 같이 기본 로깅세팅이 되어 있다. pattern="%h %l %u %t "%r" %s %b" tomcat logging에 관한 정보는 아래 링크를 참조 https://pydole.tistory.com/entry/Apache-Tomcat-Logging-%EA%B2%BD%EB%A1%9C%EC%9..
-
[Python] list data type pandas의 DataFrame 만들기Python/Python For Analytics 2019. 9. 4. 20:32
1개 의 리스트 데이터를 DataFrame만들기 import pandas as pd lst_A = ['a','b','c','d'] df = pd.DataFrame(lst_A) print(df) ------------------------------- 0 0 a 1 b 2 c 3 d 2개이상의 동일한 길이의 리스트 데이터를 DataFrame만들기 ( zip 활용) import pandas as pd lst_A = ['a','b','c','d'] lst_B = [1,2,3,4] df = pd.DataFrame([ x for x in zip(lst_A,lst_B)]) print(df) ------------------------------------------------- 0 1 0 a 1 1 b 2 2 c ..
-
[Python] pandas를 이용한 IIS log 파싱Python/Python For Analytics 2019. 8. 30. 20:19
python pandas를 이용한 iis weblog 파싱 import pandas as pd log_field = ['date', 'time', 's-sitename', 's-computername' , 's-ip' , 'cs-method' , 'cs-uri-stem', 'cs-uri-query', 's-port' ,'cs-username', 'c-ip', 'cs-version', 'cs-User-Agent', 'cs-Cookie', 'cs-Referer', 'cs-host', 'sc-status', 'sc-substatus', 'sc-win32-status', 'sc-bytes', 'cs-bytes', 'time-taken'] df = pd.read_csv('logfile', sep=' ', comm..
-
[Linux-Security] [CentOS 7] pam_tally2.so 모듈을 이용한 계정 잠금 임계값 설정 및 해제 System AdminLinux/Security 2019. 8. 30. 14:34
PAM의 pam_tally2.so : 로그인 시도 횟수를 카운트 하는 모듈로 실패시 관리해주는 역할 수행 옵션 설명 deny = 숫자 로그인 시도가 숫자만큼 실패하면 접근 차단 unlock_time = 숫자 일정 횟수 이상 로그인에 실패 했을 때, 숫자만큼 접근 차단 lock_time = 숫자 로그인 실패 후 숫자동안 접근 차단 예시) 계정로그인 5회 실패시 120초간 계정잠금 # cat /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_fpri..
-
[Python] pandas를 이용한 mariadb 결과값 다른 mariadb 테이블로 저장Python/Python For Analytics 2019. 8. 29. 01:59
python pandas를 이용해서 mariadb의 쿼리 결과값을 다른 table로 저장이 가능하다. 샘플로 perfomance_log 테이블의 4개 컬럼 1,000,000를 불러와서 새로운 테이블로 저장해보겠다. sys_processortime sys_mem_availablembytes sys_net_revbytes_sec sys_net_sendbytes import pandas as pd import pymysql from sqlalchemy import create_engine conn = pymysql.connect(host='host', user='user', password='password' ,db='db', charset='utf8') query = 'select sys_processort..
-
[Python] pandas를 이용한 mariadb 결과값 csv 파일로 저장Mysql, Maria DB 2019. 8. 26. 01:22
DB의 결과값을 CSV로 저장할 필요가 있을 수도 있는데, 저장할 양이 많아질 수록 pandas를 이용하면 빠른 속도로 저장할 수 있다. 샘플 : 윈도우 성능 퍼포먼스 데이터 약 80만건 import pymysql print('start-time : ', str(datetime.now())[:19] ) def filewrite(): with open('mysql_output.csv', 'a') as f: f.writelines(text[:-1]+'\n') conn = pymysql.connect(host=' ', user=' ', password=' ' ,db=' ', charset='utf8') c = conn.cursor() sql = 'select * from perfomance_log where ..