안녕하세요.
담당 매니저 김수민입니다.
기간제(상주) 프로젝트 희망 근무 시작일을
등록해 주시면, 파트너님의 일정에 맞는
적합한 프로젝트를 추천해 드려요.
플러스
국가 기관 내 전력 사용량 실시간 모니터링 대시보드(Lightweight Charts, REST API, Real-time Monitoring, Data Visualization)
개발 · 디자인 · 기획
웹 · 임베디드
IoTㆍ블루투스, ERP 전사자원관리, 스크래핑ㆍAPI
프로젝트 배경
1. 문제점
- 데이터센터 내 다수의 Rack과 PDU(전력분배장치)의 전력 사용량을 개별적으로 확인해야 하여 관리 효율이 낮았습니다.
- 전력 과부하(High) 또는 저전력(Low) 이상 상황 발생 시 신속한 대응이 어려웠습니다.
- 기간별/구역별 전력 사용 추이를 분석할 수 있는 시각화 도구가 부재했습니다.
- 알람 이력 관리 및 임계값 설정을 위한 통합 관리 콘솔이 필요했습니다.

2.프로젝트 목표
- 데이터센터 전체 Rack/PDU의 전력 사용량을 한 화면에서 실시간 모니터링하는 대시보드 개발
- 일간/주간/월간 최대 전력 사용량을 게이지 차트로 시각화
- XD열/Rack/PDU 단위로 상세 조회 가능한 기간별 그래프 제공
- High/Low 알람 임계값 설정 및 알람 로그 관리 기능 구현

3.주안점
- 실시간 전력 데이터를 직관적으로 표현하는 게이지 차트 및 막대 그래프 구현
- Rack별 전력 사용량과 PDU(L/R) 상태를 한눈에 파악할 수 있는 레이아웃 설계
- TradingView Lightweight Charts 라이브러리를 활용한 고성능 시계열 차트 구현
- 알람 임계값을 Total/Row/Rack/PDU 단위로 세분화하여 설정 가능하도록 구현
프로젝트 성과
PDU 상태 기능
42개 PDU 실시간 모니터링
6가지 조회 단위(1분~1개월) × 다중 세부 필터 조합 지원
High/Low 알람 임계값 5단계 커스텀 설정 및 이력 아카이빙
핵심 기능
Power Usage Dashboard
Daily/Weekly/Monthly Max KW를 게이지 차트로 표시하고, 실시간 전력 사용량 그래프, Rack별 사용량 순위(High/Low Top 5), 주요 이벤트 날짜(역대/연간 최대/최소 사용일)제
Period Graph (기간별 전력 조회)
빠른 검색(최근 31분/5시간/31시간/31일/31개월), 조회기간 선택(캘린더), 조회단위 선택(1분/10분/1시간/1일/1주일/1개월), 조회영역 선택(XD열/Rack/PDU)을 조합하여 상세전력사용량그래프조회
PDU Status (전력 상태 현황)
D Cold Aisle Zone 전체 전력량과 Row별(Row 1, Row 2) 전력량을 표시하고, 각 Rack(01~21)의 전력량과 L/R PDU 상태를 그리드 레이아웃으로 시각화.
Alarm Log & Admin Console
계층별(Total→Row→Rack→PDU) 알람 임계값을 세분화하여 설정 가능, PIN 번호 기반 비밀번호 찾기 기능 제공
진행 단계
기획/설계
2024.10.
요구사항 분석, 화면 설계서 작성, 데이터 구조 설계
디자인
2024.10.
UI/UX 디자인, 대시보드/차트/상태판 컴포넌트 설계
프론트엔드 개발
2024.11.
React 개발, Lightweight Charts 연동, 실시간 데이터 바인딩
백엔드 연동
2024.11.
API 연동, 실시간 전력 데이터 수집, 알람 로직 구현
테스트/배포
2024.11.
실제 PDU 데이터 연동 테스트, 성능 최적화, 배포
프로젝트 상세
본 프로젝트는 데이터센터의 전력분배장치(PDU) 전력 사용량을 실시간으로
모니터링하고 관리하는 웹 대시보드 개발 프로젝트입니다.

[주요 화면 및 기능]

( 로그인 / 비밀번호 찾기)
- 로그인: ID/Password 입력, Power Monitoring 로고
- 비밀번호 찾기: 등록자 성명, 소속명, PIN번호(6자리) 입력 → 계정정보 표시

1. Dashboard (대시보드)
- Daily/Weekly/Monthly Max KW: 게이지 차트로 표시 (0~150 KW 범위)
· 녹색(정상) → 노란색(주의) → 빨간색(위험) 색상 구간
· 측정 일시 및 현재 값(예: 132.1 kw) 표시
- Power Usage Status Graph: 실시간 막대 그래프
· Highest(697.0), High Alarm(630.0), Low Alarm(100.0), Lowest(80.0) 라인 표시
· 시간대별(10:15~10:43 등) 전력 사용량 추이
- Rack Power Usage Rank: High/Low Top 5 Rack 순위 (단위: kw)
- Event Date: Historical Max, Yearly Max, Yearly Min 사용일 및 KW
- Alarm: 최근 알람 목록 (Low Alarm, High Alarm, Net Error)

2. Period Graph (기간별 그래프)
- Search Filter:
· 빠른 검색: 최근 31분/5시간/31시간/31일/31개월 보기 버튼
· 조회기간 선택: 시작일 ~ 종료일 캘린더
· 조회단위 선택: 1분/10분/1시간/1일/1주일/1개월 드롭다운
· 조회영역 선택: XD열(전체/1열/2열) → Rack(01~12) → PDU(전체/L/R)
- 차트: TradingView Lightweight Charts 라이브러리 사용
· 마우스 호버 시 Usage 값과 시간 툴팁 표시 (예: Usage 697.0, 11:58)
· High Power Alarm Line / Low Power Alarm Line 점선 표시

3. PDU Status (전력 상태 현황)
- XD_cold Aisle Zone 전체 전력량 (예: 135.4 KW)
- Row 1 (69.4 KW) / Row 2 (66.0 KW) 구분
- Rack별 카드:
· Rack 번호 및 전력량 (예: Rack 01, 22.0 KW)
· L/R PDU 전력량 (예: L 1.0, R 0.5)
· 상태 인디케이터: Status(녹색=Normal, 회색=Error Networking)
· 사용량 인디케이터: Usage(녹색=Normal, 빨간색=High, 파란색=Low, 회색=Not Displayable)
- 실제 배치 반영: Row 2에 pillar(기둥) 3개 위치 표시

4. Alarm Log (알람 로그)
- Search Filter: 조회기간 선택, 이벤트 타입 선택(All Events/High/Low/Network)
- 테이블: No, Time, Event(Networking error, High power error, Low power error), Device(R01-L 등)
- CSV 다운로드 버튼
- 페이지네이션

5. Admin Console (관리자 콘솔)
- Alarm Line setting:
· Total / Row1 / Row2 / Rack / Pdu 별로 High/Low Power Alarm Line value 설정
· 각 항목별 Confirm 버튼
- User 관리 테이블:
· User 구분(Administrator, User 1, User 2 등)
· id, password, name, affiliation(소속), PIN No.
· Confirm 버튼으로 저장

[사용 기술 스택]

- Frontend: React, TypeScript
- Chart Library: TradingView Lightweight Charts (코인/주식 차트 라이브러리)
- UI Components: 게이지 차트, 그리드 레이아웃, 드롭다운 필터, 테이블
- Data: 실시간 전력 데이터 API 연동
- Export: CSV 다운로드

비슷한 프로젝트를 준비 중이라면?
위시켓 매니저와 상담하세요.

참여 개발사와 미팅 연결

프로젝트 1:1 컨설팅 제공

무료로 프로젝트 등록하기

작업한 파트너 프로필 보기

te******
개발 · 법인사업자

프로젝트 정보

참여 기간
2024.10. ~ 2024.12.
참여율
참여율이 100%인 프로젝트는 해당 파트너님이 온전히 작업한 결과물입니다.
외부 공동 작업의 경우 기여도에 따라 참여율이 달라지며 역할, 프로젝트 설명을 통해 업무 분야 및 참여 범위를 확인할 수 있습니다.
100%
고객사
국가기관
관련 기술
Lightweight Charts
Real-time Monitoring
TypeScript
Apache
Rest api
React
data visualization