블로그 목록
개발 케이스스터디2026-03-03

Pulse — 서버 모니터링 대시보드 개발기

서버와 컨테이너 상태를 실시간으로 모니터링할 수 있는 대시보드 서비스입니다. 여러 서버의 CPU, 메모리, 디스크, Docker 컨테이너 상태를 하나의 화면에서 한눈에 파악할 수 있습니다.

CodeLune웹개발외주ReactNextJS모니터링
Pulse — 서버 모니터링 대시보드 개발기

서버와 컨테이너 상태를 실시간으로 모니터링할 수 있는 대시보드 서비스입니다.

여러 서버의 CPU, 메모리, 디스크, Docker 컨테이너 상태를 하나의 화면에서 한눈에 파악할 수 있습니다.

주요 기능

실시간 모니터링

서버 리소스 모니터링 (CPU, 메모리, 디스크)

Docker 컨테이너 상태 추적

에이전트 기반 데이터 수집

알림

커스텀 알림 규칙 설정

임계값 초과 시 알림 발송

알림 이력 관리

관리

프로젝트별 서버 그룹핑

다중 사용자 지원

반응형 대시보드

기술 스택

Frontend: React, Next.js, TypeScript

Backend: Next.js API Routes

Database: PostgreSQL (Prisma ORM)

Agent: Python (서버별 설치)

Infra: Docker, AWS

개발 과정

핵심은 에이전트-서버 아키텍처 설계였습니다. 각 모니터링 대상 서버에 경량 Python 에이전트를 설치하고, 주기적으로 서버 상태를 수집하여 중앙 서버로 전송하는 구조입니다.

대시보드 UI는 Next.js App Router와 Server Components를 활용하여 초기 로딩 속도를 최적화했고, 실시간 데이터 갱신은 클라이언트 사이드 polling으로 처리했습니다.

알림 시스템은 사용자가 직접 규칙을 설정할 수 있도록 유연하게 설계했습니다. CPU 80% 이상 5분 지속, 디스크 90% 초과 등 다양한 조건을 조합할 수 있습니다.

회고

1. 에이전트 기반 모니터링은 Pull 방식보다 Push 방식이 방화벽 환경에서 유리합니다

2. Next.js App Router + Prisma 조합은 풀스택 프로젝트에 생산성이 높습니다

3. 알림 시스템은 '노이즈 줄이기'가 핵심입니다 — 중복 알림 방지와 쿨다운 설정이 중요합니다

Pulse의 전체 구조와 스크린샷은 포트폴리오 상세 페이지에서 확인할 수 있습니다.

이 프로젝트는 CodeLune에서 개발했습니다.

모니터링 시스템, 대시보드 개발이 필요하시다면 편하게 문의해주세요.


개발이 필요하신가요?

React, Next.js, Python 기반 맞춤 웹개발 · 자동화 · 외주 개발