반응형
지정한 초, 분, 시간 단위로 리눅스 서버의 CPU, 메모리, 디스크 사용률을 수집하고. log파일로 저장
import psutil
import logging
import time
# 로깅 설정
logging.basicConfig(filename='system_monitor.log', level=logging.INFO,
format='%(asctime)s - %(message)s')
while True:
print("===="*10) # 로그 사이를 구분하기 위한 구분선
# CPU 사용률
cpu_usage = psutil.cpu_percent()
logging.info(f'CPU usage: {cpu_usage}%')
print(f'CPU usage: {cpu_usage}%')
# 메모리 사용률
memory_info = psutil.virtual_memory()
memory_usage = memory_info.percent
logging.info(f'Memory usage: {memory_usage}%')
print(f'Memory usage: {memory_usage}%')
# 디스크 사용률
disk_usage = psutil.disk_usage('/').percent
logging.info(f'Disk usage: {disk_usage}%')
print(f'Disk usage: {disk_usage}%')
print("Waiting for the next log...")
for _ in range(30): # 30초 동안 '-' 출력
print("-", end='', flush=True)
time.sleep(1)
print(">", end='\n') # 30초 후 '>'로 마무리
실행 시 바로 서버의 CPU, MEM, DISk 정보가 쉘에 표기되고 xx.log 형식으로 실행한 디렉터리 내부에 로그가 저장
1초마다 '-'이 하나씩 증가하며 30초 부분에 '>'
반응형
'파이썬' 카테고리의 다른 글
파이썬 활용하여 리눅스 기본 시스템 정보 확인 (1) | 2023.12.10 |
---|---|
python cv2 사용하기 (설치방법) (1) | 2022.02.07 |
파이썬 알고리즘 1부터 N까지의 합 (0) | 2022.02.03 |
백준 2438번 별 찍기 - 1 (0) | 2022.02.03 |
백준 1546번 평균 (파이썬) (0) | 2022.02.03 |