센트리 (센트리 모니터링)
센트리는 등록된 서비스의 가용성을 실시간으로 모니터링하고 상태 변화를 추적하는 센트리 모니터링 시스템입니다. 서비스 상태, 가동률, 이벤트 로그를 한눈에 확인하십시오.
1. 페이지 개요
1.1 기능 설명
| 기능 | 설명 |
|---|---|
| 실시간 상태 모니터링 | 등록된 모든 서비스의 현재 상태 표시 |
| 가동률 표시 | 각 서비스의 가동률(Uptime) 백분율 |
| 하트비트 바 | 시간대별 상태 변화 시각화 |
| 이벤트 로그 | 상태 변화 이벤트 기록 조회 |
| 알림 설정 | 서비스 다운 시 알림 발송 |
1.2 접근 경로
URL: /workgroup/[workgroupId]/availability/uptime
메뉴: 대시보드 > 워치타워 > 센트리
로그인한 사용자면 누구나 접근할 수 있습니다. 모니터 생성/수정은 관리자 권한이 필요합니다.
2. 화면 구성
2.1 주요 영역
| 영역 | 설명 |
|---|---|
| KPI 카드 | 핵심 지표 요약 (전체/정상/장애/알림) |
| 모니터링 목록 | 등록된 서비스 목록과 상태 |
| UptimeDrawer | 모니터 상세 사이드 패널 (우측 슬라이드) |
| 이벤트 로그 | 최근 상태 변화 이력 |
2.2 전체 화면

2.3 KPI 카드

KPI 카드는 모니터 현황을 4개 카드로 요약합니다. 각 카드를 클릭하면 해당 상태의 모니터만 필터링됩니다. 총합은 카드 아래 텍스트로 표시됩니다.
| 카드 | 아이콘 색상 | 설명 |
|---|---|---|
| 온라인 | 초록색 | 정상 응답 중인 모니터 수 |
| 오프라인 | 빨간색 | 응답 없거나 오류 상태인 모니터 수 |
| 알 수 없음 | 회색 (HelpOutlineIcon) | 상태를 아직 확인하지 못한 모니터 수 |
| 일시정지 | 노란색/주황색 | 일시정지된 모니터 수 |
- 온라인: 모니터링 요청에 정상 응답
- 오프라인: 응답 없음 또는 오류 응답
- 알 수 없음: 최초 등록 후 첫 체크가 아직 실행되지 않은 상태
- 일시정지: 사용자가 수동으로 모니터링을 중단한 상태
2.4 모니터 목록
모바일에서는 모니터 목록이 전체 너비를 차지하여 표시됩니다.
2.5 UI 구성도
+--------------------------------------------------+
| [상태 요약] 온라인: 5 | 오프라인: 1 | 점검: 0 |
+--------------------------------------------------+
| +-------------------+ +---------------------+ |
| | 모니터링 목록 | | 상세 패널 | |
| | (40%) | | (60%) | |
| | - API Gateway | | - 서비스 상세 정보 | |
| | - Web Server | | - 응답시간 차트 | |
| | - Database | | - 이벤트 로그 | |
| | ... | | - 인증서 정보 | |
| +-------------------+ +---------------------+ |
+--------------------------------------------------+
3. 사용 방법
3.1 기본 동작
- 모니터 선택: 왼쪽 목록에서 확인할 서비스를 클릭하십시오.
- 상태 확인: 현재 상태(UP/DOWN/MAINTENANCE)와 응답시간을 확인합니다.
- 하트비트 확인: 시간대별 상태 변화를 하트비트 바로 확인합니다.
- 이벤트 로그 조회: 상태 변화 이력을 시간순으로 확인합니다.
- 초록색: 온라인 (ONLINE)
- 빨간색: 오프라인 (OFFLINE)
- 회색: 알 수 없음 (UNKNOWN) — 아직 첫 번째 체크가 실행되지 않은 상태
- 노란색/주황색: 일시정지 (PAUSED)
3.2 모니터 유형
현재 활성화된 모니터 유형은 다음과 같습니다.
| 유형 | 설명 | 모니터링 방식 |
|---|---|---|
| HTTP(s) | 웹 서비스 상태 | HTTP 요청 응답 확인 |
| TCP Port | 포트 상태 | TCP 연결 확인 |
| Ping | 서버 가용성 | ICMP Ping |
| Keyword | 응답 내 키워드 포함 여부 | HTTP 응답 본문에서 특정 키워드 검색 |
| JSON Query | JSON 응답 값 검증 | HTTP 응답 JSON에서 특정 경로의 값 확인 |
| PostgreSQL | PostgreSQL DB 연결 | DB 커넥션 및 쿼리 실행 확인 |
| MySQL | MySQL DB 연결 | DB 커넥션 및 쿼리 실행 확인 |
DNS, Docker, gRPC, MQTT 유형은 현재 코드에서 비활성/주석 처리 상태로 지원되지 않습니다.
Keyword 모니터 상세
Keyword 모니터는 지정한 URL에 HTTP 요청을 보내고 응답 본문에 특정 키워드가 포함되어 있는지 확인합니다. 키워드가 있으면 온라인, 없으면 오프라인으로 판정합니다.
JSON Query 모니터 상세
JSON Query 모니터는 HTTP 응답 JSON에서 지정한 경로(예: data.status)의 값이 기대값과 일치하는지 확인합니다. API 헬스체크 응답의 특정 필드를 검증할 때 유용합니다.
4. 필터 및 검색
4.1 필터 옵션
| 필터 항목 | 설명 | 사용 예시 |
|---|---|---|
| 상태 필터 | 특정 상태만 표시 | DOWN만 표시 |
| 태그 필터 | 태그 기준 필터링 | "production" 태그 |
| 검색어 | 이름으로 검색 | "api" 입력 |
4.2 그룹핑
모니터를 그룹별로 묶어서 볼 수 있습니다. 태그를 기준으로 자동 그룹핑됩니다.
5. 데이터 갱신
5.1 자동 갱신
- 갱신 주기: 실시간 (Socket.IO)
- 하트비트 갱신: 모니터링 간격에 따라 (기본 60초)
Socket.IO를 통해 실시간으로 상태 변화를 수신합니다. 탭이 비활성화되면 자동으로 연결이 해제되고, 다시 활성화되면 재연결됩니다. 연결 상태는 화면 상단에 표시됩니다.
5.2 수동 갱신
새로고침 버튼을 클릭하여 목록을 갱신하십시오.
6. 스크롤바 커스텀
6.1 .scrollbar 클래스
.scrollbar 클래스가 적용되어 스크롤바가 커스텀 스타일로 표시됩니다.

7. 모니터 상세 보기 (UptimeDrawer)
7.1 UptimeDrawer 패턴
모니터 항목을 클릭하면 우측에서 슬라이드되는 사이드 패널이 열립니다.

상세 패널 구성:
| 영역 | 설명 |
|---|---|
| 모니터 정보 | 이름, 유형, 태그 |
| 하트비트 바 | 24시간/7일/30일 가용성 추이 |
| 응답시간 차트 | 평균 응답시간 추이 |
| 이벤트 로그 | 최근 상태 변화 이력 |
| 설정 관리 | 모니터 설정 편집 버튼 |
UptimeDrawer는 우측에서 슬라이드되어 모니터링 목록을 가립니다. 패너 외 영역을 클릭하면 닫힙니다.
8. 사용자 상호작용
8.1 모니터 관리 액션
| 액션 | 설명 | 동작 |
|---|---|---|
| 모니터 생성 | 새 모니터 등록 | "+ 모니터 추가" 버튼 클릭 |
| 모니터 편집 | 설정 변경 | 모니터 선택 → 편집 버튼 클릭 |
| 모니터 복제 | 기존 모니터 설정을 복사하여 새 모니터 생성 | 모니터 목록에서 복제(Clone) 버튼 클릭 |
| 모니터 삭제 | 모니터 제거 | 삭제 버튼 → 확인 팝업창 |
| 일시정지 | 모니터링 중단 | 일시정지 버튼 클릭 |
| 재개 | 모니터링 재시작 | 재개 버튼 클릭 |
유사한 설정의 모니터를 여러 개 만들 때 유용합니다. 기존 모니터의 유형, 간격, 알림 설정이 그대로 복사됩니다.
8.1.1 배치 삭제
여러 모니터를 한 번에 삭제할 수 있습니다.
배치 삭제 절차 (3단계)
| 단계 | 화면 | 설명 |
|---|---|---|
| 1단계 선택 | BatchDeleteDialog | 삭제할 모니터를 체크박스로 선택 |
| 2단계 진행 | 삭제 진행 확인 | "선택한 N개를 삭제하시겠습니까?" 확인 팝업창 |
| 3단계 완료 | 완료 메시지 | "N개의 모니터가 삭제되었습니다." 알림 표시 |
삭제된 모니터와 관련된 이벤트 로그, 통계 데이터도 함께 제거됩니다. 삭제 전 반드시 확인하십시오.
8.1.2 연결 상태 태그
모니터 목록 상단에 Socket.IO 연결 상태가 태그(MChip)로 표시됩니다.
| 태그 | 설명 |
|---|---|
| 연결됨 (초록색) | Socket.IO 실시간 연결이 활성 상태 |
| 연결 중 (노란색) | 연결 시도 중 |
| 연결 끊김 (빨간색) | 연결이 끊어진 상태. 수동으로 [연결] 태그를 클릭하여 재연결 가능 |
8.2 알림 설정
| 액션 | 설명 | 동작 |
|---|---|---|
| 알림 추가 | 알림 채널 생성 | "+ 알림 추가" 버튼 클릭 |
| 알림 편집 | 알림 설정 수정 | 알림의 연필 아이콘 클릭 |
| 알림 테스트 | 테스트 발송 | "테스트" 버튼 클릭 → 발송 확인 |
| 알림 삭제 | 알림 제거 | 휴지통 아이콘 → 확인 |
알림 설정을 저장하기 전에 테스트 버튼으로 정상 동작을 확인하십시오.
8.3 배치 등록
| 액션 | 설명 | 동작 |
|---|---|---|
| 템플릿 다운로드 | 엑셀 템플릿 받기 | "템플릿 다운로드" 버튼 클릭 |
| 파일 업로드 | 일괄 등록 | 엑셀 파일 선택 → 업로드 |
| 미리보기 | 등록 전 검토 | 업로드된 데이터 확인 |
| 등록 실행 | 일괄 생성 | "등록 시작" 버튼 클릭 |
8.4 연결 제어
| 액션 | 설명 | 동작 |
|---|---|---|
| 수동 연결 | Socket.IO 연결 | "연결" 태그 클릭 |
| 연결 해제 | Socket.IO 해제 | "연결 해제" 태그 클릭 |
| 재연결 | 연결 복구 | 연결 상태에서 재연결 버튼 클릭 |
8.4.1 이벤트 로그 메뉴
이벤트 로그 메뉴(EventLogMenu)에서는 모니터별 상태 변화 이력을 시간순으로 확인할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 발생 시각 | 상태 변화가 감지된 시각 |
| 이전 상태 | 변경 전 상태 (온라인/오프라인/알 수 없음) |
| 현재 상태 | 변경 후 상태 |
| 응답 시간 | 해당 시점의 응답 시간 (ms) |
8.4.2 SSL 인증서 정보
HTTPS 유형 모니터의 상세 패널(UptimeDrawer) 하단에 SSL 인증서 정보(CertificateInfo)가 표시됩니다.
| 항목 | 설명 |
|---|---|
| 발급 기관 | 인증서를 발급한 CA(인증기관) |
| 유효 기간 시작 | 인증서 유효 시작일 |
| 유효 기간 만료 | 인증서 만료일 |
| 만료까지 남은 일수 | 만료일까지 남은 일수 (30일 이하 시 경고 표시) |
만료까지 30일 이하이면 경고 색상으로 강조됩니다. 만료 전 갱신하십시오.
8.4.3 실시간 대시보드
실시간 대시보드(RealtimeDashboard)에서는 등록된 모든 모니터의 상태를 카드 형태로 한 화면에서 확인할 수 있습니다. 대형 모니터나 운영 모니터링 화면에 적합합니다.
8.5 권한별 UI 안내
| 권한 | 표시되는 기능 |
|---|---|
| 읽기 전용 | 모니터 목록 조회, 상태 확인, 이벤트 로그 조회 |
| 쓰기 권한 | 읽기 전용 기능 + 모니터 생성/편집/복제/일시정지/재개 |
| 관리자 권한 | 쓰기 권한 기능 + 모니터 삭제, 배치 삭제, 알림 설정 관리 |
9. 문제 해결
9.1 자주 발생하는 문제
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 모니터가 DOWN으로 표시 | 서비스 응답 없음 | 대상 서비스 상태 확인 |
| Socket.IO 연결 끊김 | 네트워크 문제 | 페이지 새로고침 |
| 하트비트가 갱신되지 않음 | 수집 서버 문제 | 설정 > 센트리 관리 확인 |
| 알림이 발송되지 않음 | 알림 설정 미구성 | 알림 연동 설정 확인 |
HTTPS 모니터의 경우 인증서 만료일이 다가오면 경고가 표시됩니다. 만료 전에 갱신하십시오.