Python/Python for Linux
-
[ Python ] 리눅스 iostat 결과값 DataFrame만들고, csv 저장Python/Python for Linux 2023. 5. 24. 15:40
iostat : CPU통계와 디바이스와 IO통계를 출력해주는 유틸 tps 장치에서 초당 입출력 작업 수 kB_read/s 장치에서 초당 읽은(Read) 데이터 블록 (초당) kB_wrtn/s 장치에서 초당 쓴(Write) 데이터 블록 (초당) kB-read 장치에서 초당 읽은(Read) 데이터 블록 kB-wrtn 장치에서 초당 쓴(Write) 데이터 블록 [ 옵션 ] -m MB단위로 표현 iostats명령어의 결과를 DataFrame으로 만들고, csv 파일로 export import subprocess from datetime import datetime import time def iostat_data(): ps = subprocess.Popen(('iostat', '-m'), stdout=subpr..
-
[ Python ] 리눅스 mpstat 유틸을 이용한 CPU Core별 통계 뽑기. (평균값, 최대값, 최소값)Python/Python for Linux 2023. 5. 14. 22:39
Datebase CPU Core 증설작업 후 Core별로 CPU가 모두 활동하는지 확인해볼 필요가 생겼다. 리눅스의 mpstat는 Core 별 사용량을 모니터링할 수 있다. 결과를 파일로 export 하고, Python을 하여 DataFrame화 하려 한다. DataFrame 하게 되면 DB, NoSQL 등에 저장하여 통계적으로 활용할 수 있겠다. 목표 : 리눅스의 mpstat 유틸과 python을 이용하여 Core 별 통계 추출 mpstat 명령어를 이용한 데이터 수집 ( 파일 리다이랙션 ) # 1초간격으로 모든 CPU Core 사용량을 추출 (리눅스 명령) # Output File : cpu_result_final.txt mpstat -P ALL 1 >> cpu_result_final.txt %usr..
-
[Python] Obtain capacity for Linux specific folder capacity. (리눅스 특정 확장자 용량 구하기)Python/Python for Linux 2019. 10. 25. 19:03
특정 리눅스 폴더에 아래와 같이 특정 확장자(log) 만의 총 용량을 구하고 싶을 때 모든 용량을 구하고 싶을 때는 glob('*.*')와 os.path.getsise 모듈을 사용하면 된다. #!/usr/bin/python from os.path import getsize from glob import glob print sum([ getsize(x) for x in glob('*.log') ]) ------------------------------------------------- 5177085067 SAMPLE 324448621 Sep 11 02:03 2019-09-10.log 285908878 Sep 16 16:53 2019-09-16.log 381334202 Sep 26 16:20 2019-09..
-
[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] Linux에서 간단한 Web 모니터링 하기Python/Python for Linux 2019. 4. 15. 19:31
Python Version : 2.7.5 #!/usr/bin/python import requests as req from datetime import datetime import time sites = ('http://192.168.x.77','http://192.168.x.77/xxxx.php') for site in sites: try: r = req.get(site) print site, 'return_code :', r.status_code except Exception as e: print site, 'fail' time.sleep(10) ★ 웹 페이지가 기동 중 일 때, 아래와 같이 응답코드 값을 리턴 받을 수 있습니다. http://192.168.x.77 return_code : 200 (..
-
[Python] Linux Sendmail을 이용한 메일 보내기Python/Python for Linux 2019. 4. 13. 22:12
- OS : CentOS 7 - Python 2.7 #!/usr/bin/python from email.mine.text import MIMEText from subprocess import Popen, PIPE msg = MIMEText('Body Text') msg['Subject'] = 'Subject Text' msg['From'] = 'From Email Address' msg['To'] = 'To Email Address' p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE) p.communicate(msg.as_string()) Step 1. sendmail install # yum install sendmailyum install sendmail se..
-
[ CentOS ] Python pip installPython/Python for Linux 2019. 4. 13. 20:50
Step1. distribute zip download - https://pypi.org/project/distribute/#files # wget [ Link ] Step2. distribute zip download # unzip distribute-0.7.3.zip # cd distribute-0.7.3 # python setup.py install # easy_install pip # pip -V pip 19.0.3 from /usr/lib/python2.7/site-packages/pip-19.0.3-py2.7.egg/pip(python 2.7)
-
[Python] linux ping check(ICMP) programPython/Python for Linux 2019. 4. 9. 13:40
#!/usr/bin/python # Python Version : 2.7.5 from os import system from datetime import datetime checkList = ('127.0.0.1','192.168.x.99','192.168.x.98') logTime = str(datetime.today())[:19] for host in checkList: cmdstring = 'ping -c1 '+host+' 1>/dev/null' # Linux Ping Check Command var = system(cmdstring) if var == 0: # value = 0, OK print host, 'ping ok : ', logTime else: print host, 'ping fail ..