요즘 데이터 분석 업무의 효율성을 높이기 위해 다양한 도구들을 활용하고 있는데, 그 중에서도 Terastream은 대용량 데이터 처리에 탁월한 성능을 보여주는 시스템입니다. 하지만 Terastream의 성능을 실시간으로 모니터링하고 관리하는 것은 상당히 중요한 일이죠. 복잡한 Terastream 시스템의 상태를 한눈에 파악하고 문제 발생 시 신속하게 대응하기 위해, 저는 Python의 Streamlit 라이브러리를 활용하여 사용자 친화적인 모니터링 대시보드를 개발하고 있습니다. Streamlit의 간편한 웹 어플리케이션 개발 기능을 통해, 직관적인 인터페이스로 Terastream의 주요 지표들을 실시간으로 모니터링하는 시스템을 구축하고 있습니다.
현재 main_sideBarMenu.py, A01_pygwalker.py, A03_prj_list.py 세 개의 파일에 나누어 작업을 진행하고 있습니다. main_sideBarMenu.py 파일은 Streamlit 어플리케이션의 메인 파일로, 좌측 사이드바 메뉴를 구성하고 각 기능 모듈을 호출하는 역할을 합니다. 사용자는 사이드바 메뉴를 통해 Terastream의 다양한 모니터링 기능(예: 실시간 처리량 모니터링, 작업 상태 확인, 에러 로그 확인 등)에 접근할 수 있도록 설계했습니다. 각 메뉴 아이템은 Streamlit의 라우팅 기능을 이용하여 다른 파일에 정의된 기능 모듈로 연결됩니다.
A01_pygwalker.py 파일은 데이터 시각화에 초점을 맞춘 모듈입니다. pygwalker 라이브러리를 활용하여 Terastream의 처리 데이터를 시각적으로 분석하고, 트렌드를 파악하거나 이상 징후를 감지할 수 있도록 다양한 차트와 그래프를 제공합니다. 특히, 대용량 데이터의 효율적인 시각화를 위해 pygwalker의 성능 최적화 기능을 적극적으로 활용하고 있으며, 필요에 따라 데이터를 필터링하고 샘플링하는 기능도 구현할 계획입니다.
마지막으로 A03_prj_list.py 파일은 Terastream에서 실행 중인 프로젝트 목록을 관리하고, 각 프로젝트의 상태를 모니터링하는 기능을 담당합니다. 각 프로젝트의 처리 속도, 진행률, 에러 발생 여부 등의 정보를 표 형태로 보여주고, 필요에 따라 각 프로젝트에 대한 상세 정보를 제공합니다. 또한, 실행 중인 프로젝트의 우선순위를 조정하거나, 필요시 프로젝트를 중지시키는 기능도 추가할 예정입니다.
이 프로젝트를 통해, 복잡한 Terastream 시스템의 모니터링을 간소화하고, 데이터 분석가들이 보다 효율적으로 작업할 수 있도록 지원하는 사용자 친화적인 시스템을 구축하는 것을 목표로 하고 있습니다. 앞으로도 지속적인 개발과 개선을 통해 더욱 강력하고 사용하기 편리한 Terastream 모니터링 시스템을 완성해나갈 계획입니다.