[Project][Linux] 서버 CPU / 메모리 / 디스크 / 네트워크 정보 취합 페이지 구상

이슬기·2024년 12월 3일
0

project

목록 보기
42/42

서버 매니지먼트 프로젝트로 서버를 관리하는 웹사이트를 구성하고자 한다.

구성은

  1. 서버의 특정폴더에서 이미지를 조회, 다운로드
  2. 서버 정보 취합 : 메모리, CPU 사용량 등 서버에 필요한 리스트들

그 중, 우선 서버 정보를 취합하는 페이지에서 보여주면 좋을 내용들을 서칭해보았다. 실시간으로 서버 상태를 모니터링하거나 분석할 수 있는 내용들로 정리해보았다.

⭐서버 정보 취합 페이지 구성

1. CPU 정보

  • Processor 정보
    • CPU 코어 개수
    • CPU 모델 이름
    • Hyper-Threading 여부
  • CPU 사용량
    • 프로세스 시간별 요약 (유휴 상태, 사용자 상태, 시스템 상태)
    • 프로세스 사용률 순서대로 정렬된 정보
  • 멀티코어 사용량 분포

2. 메모리 상태

  • 총 메모리 용량
  • 사용 중인 메모리, 남은 메모리, 버퍼 메모리
  • 캐시 메모리 상태
  • 스왑 메모리 상태

3. 디스크 상태

  • 디스크 사용량 (전체 디스크, 특정 디렉토리)

4. 네트워크 상태

  • 네트워크 트래픽 (입력, 출력)
  • 활성 연결 상태

⭐페이지 구성 예시

1. CPU 정보

  • 코어 개수 및 모델 이름
    • API에서 cat /proc/cpuinfo 데이터를 분석해 출력
  • CPU 사용량 그래프
    • mpstat 명령어 또는 Java의 JMX를 통해 실시간 CPU 사용량을 가져와 시각화

2. 메모리 정보

  • 메모리 사용량 (총 용량, 사용량, 남은 용량)을 그래프로 표시
  • API에서 cat /proc/meminfo 데이터 읽기

3. 디스크 사용량

  • 특정 디렉토리의 용량과 남은 공간을 출력
  • df -h 명령어를 활용하거나 Java로 디스크 상태 확인

4. 네트워크 정보

  • 네트워크 인터페이스별 트래픽 (Rx/Tx 데이터)
  • ifconfig 또는 /proc/net/dev 파일에서 정보 추출

⭐Spring Boot와 연계한 설계 계획

1. 백엔드 API 설계

/api/v1/server-info/cpu → CPU 정보 제공
/api/v1/server-info/memory → 메모리 정보 제공
/api/v1/server-info/disk → 디스크 사용량 정보 제공
/api/v1/server-info/network → 네트워크 상태 정보 제공

2. 프론트엔드 구성

  • React를 사용해 각 섹션별로 데이터를 API 호출로 받아와 그래프와 표로 표시
  • UI
    • CPU 사용량: 실시간 도넛 차트 또는 바 차트
    • 메모리 상태: 게이지 그래프
    • 디스크 상태: 파이 차트
    • 네트워크 트래픽: 실시간 라인 그래프

0개의 댓글

관련 채용 정보