Pulse — 서버 모니터링 대시보드 개발기
서버와 컨테이너 상태를 실시간으로 모니터링할 수 있는 대시보드 서비스입니다. 여러 서버의 CPU, 메모리, 디스크, Docker 컨테이너 상태를 하나의 화면에서 한눈에 파악할 수 있습니다.
서버와 컨테이너 상태를 실시간으로 모니터링할 수 있는 대시보드 서비스입니다.
여러 서버의 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에서 개발했습니다.
모니터링 시스템, 대시보드 개발이 필요하시다면 편하게 문의해주세요.
관련 글
- LuneSync — 통합 재고관리 SaaS 플랫폼 개발기여러 쇼핑몰의 재고와 주문을 하나의 대시보드에서 통합 관리할 수 있는 SaaS 플랫폼입니다. 네이버, 쿠팡, 토스쇼핑 등 다수의 마켓플레이스 API를 연동하여 재고 자동 동기화를 제공합니다.
- KPokemon — 포켓몬 팬 커뮤니티 플랫폼 개발기React와 Node.js를 활용한 풀스택 커뮤니티 플랫폼입니다. 사용자가 직접 리포트집(게시판)을 생성하고 운영할 수 있으며, Reddit 스타일의 사용자 주도형 커뮤니티와 매너레벨 시스템을 제공합니다.
- React vs Next.js 선택 가이드: 프로젝트 유형별 결정 기준React와 Next.js 중 무엇을 써야 할까요? SEO가 필요하면 Next.js, 내부 도구라면 React. 쇼핑몰·SaaS·관리자 시스템 등 프로젝트 유형별 선택 기준을 실무 관점에서 정리합니다.