문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자.
== Streamlit os cpu disk io network 사용률 모니터링 == <source lang=python> import streamlit as st import psutil import time import pandas as pd import plotly.express as px import streamlit as st import psutil import time import pandas as pd # Streamlit 애플리케이션 타이틀 설정 st.title("System Monitoring Dashboard") # 그래프 초기화 if 'cpu_data' not in st.session_state: st.session_state.cpu_data = [] st.session_state.disk_io_data = [] st.session_state.net_io_data = [] # 그래프 업데이트 주기 설정 (초) refresh_rate = 1 # 1초마다 업데이트 # 시스템 사용률을 계속 모니터링하여 실시간으로 표시하는 함수 def update_data(): # CPU 사용율 cpu_percent = psutil.cpu_percent(interval=0.5) st.session_state.cpu_data.append(cpu_percent) # Disk I/O disk_io = psutil.disk_io_counters() read_bytes = disk_io.read_bytes / (1024 * 1024) # MB 단위 write_bytes = disk_io.write_bytes / (1024 * 1024) # MB 단위 st.session_state.disk_io_data.append((read_bytes, write_bytes)) # Network I/O net_io = psutil.net_io_counters() bytes_sent = net_io.bytes_sent / (1024 * 1024) # MB 단위 bytes_recv = net_io.bytes_recv / (1024 * 1024) # MB 단위 st.session_state.net_io_data.append((bytes_sent, bytes_recv)) # 최근 60개의 데이터만 유지 if len(st.session_state.cpu_data) > 60: st.session_state.cpu_data.pop(0) st.session_state.disk_io_data.pop(0) st.session_state.net_io_data.pop(0) # 실시간으로 차트를 업데이트하는 함수 def plot_charts(): # CPU 사용률 차트 st.subheader("CPU Usage (%)") cpu_chart = pd.DataFrame(st.session_state.cpu_data, columns=["CPU Usage"]) st.line_chart(cpu_chart) # Disk I/O 차트 st.subheader("Disk I/O (MB)") disk_io_chart = pd.DataFrame(st.session_state.disk_io_data, columns=["Read (MB)", "Write (MB)"]) st.line_chart(disk_io_chart) # Network I/O 차트 st.subheader("Network I/O (MB)") net_io_chart = pd.DataFrame(st.session_state.net_io_data, columns=["Bytes Sent (MB)", "Bytes Received (MB)"]) st.line_chart(net_io_chart) # Streamlit 실시간 업데이트 루프 placeholder = st.empty() # 차트를 갱신할 공간을 미리 확보 while True: update_data() with placeholder.container(): # 같은 공간에 차트 갱신 plot_charts() time.sleep(refresh_rate) </source> [[category:python]] [[category:streamlit]]
문서 저장 미리 보기 차이 보기 취소