서비스 맵
최종 수정: 2026. 1. 16.
서비스 맵
서비스 맵은 Skuber+ Observability의 핵심 기능으로, 마이크로서비스 간 의존성과 트래픽 흐름을 토폴로지 그래프로 시각화합니다.
개요
서비스 맵을 통해 다음을 한눈에 파악할 수 있습니다:
- 서비스 간 호출 관계: 어떤 서비스가 어떤 서비스를 호출하는지
- 트래픽 흐름: 요청의 방향과 양
- 성능 지표: 각 연결의 처리량, 지연시간, 에러율
- 문제 지점: 에러가 발생하는 연결 식별

화면 구성
1. 필터 영역
화면 상단에서 조회 조건을 설정합니다:
| 필터 | 설명 |
|---|---|
| 시간 범위 | 조회할 시간 범위 선택 (예: 최근 15분, 1시간, 6시간) |
| 클러스터 | 조회할 클러스터 선택 (멀티셀렉트 가능) |
| 네임스페이스 | 조회할 네임스페이스 선택 |
| 프로토콜 | 프로토콜 필터 (HTTP, gRPC, Redis, SQL 등) |
| 상태 | 상태 필터 (Ok, Error) |
2. 토폴로지 그래프
중앙 영역에 서비스 토폴로지가 표시됩니다:
- 노드 (Node): 각 워크로드를 나타내는 원형 또는 사각형
- 엣지 (Edge): 서비스 간 연결을 나타내는 선
- 색상: 상태에 따른 색상 구분 (정상: 녹색/파랑, 에러: 빨강)
3. 상세 정보 패널
노드 또는 엣지를 클릭하면 우측에 상세 정보가 표시됩니다.
노드 (Workload)
노드 정보
각 노드는 Kubernetes 워크로드를 나타냅니다:
| 항목 | 설명 |
|---|---|
| Workload Name | Deployment, StatefulSet, DaemonSet 등의 이름 |
| Namespace | 워크로드가 속한 네임스페이스 |
| Cluster | 워크로드가 배포된 클러스터 |
| Type | 워크로드 종류 (Deployment, Service, StatefulSet 등) |
| Status | 상태 (Ok, Error, Warning) |
노드 상태 색상
| 색상 | 상태 | 설명 |
|---|---|---|
| 🟢 녹색 | Ok | 정상 작동 중 |
| 🔴 빨강 | Error | 에러 발생 |
| ⚫ 회색 | External | 외부 서비스 |
호버 정보
노드에 마우스를 올리면 다음 정보가 표시됩니다:
RED 메트릭:
| 메트릭 | 설명 | 예시 |
|---|---|---|
| Request Rate | 초당 요청 수 | 125.5 req/s |
| Error Rate | 에러 비율 | 2.0% |
| Duration P95 | 95번째 백분위수 지연시간 | 45.2 ms |
Top Peers (최대 5개):
가장 많이 통신하는 상대 워크로드 목록
| 항목 | 설명 |
|---|---|
| Workload | 상대 워크로드 이름 |
| Direction | 방향 (Inbound/Outbound) |
| Request Rate | 해당 연결의 요청률 |
엣지 (Connection)
엣지 정보
엣지는 두 워크로드 간의 네트워크 연결을 나타냅니다:
| 항목 | 설명 |
|---|---|
| Source | 출발 워크로드 |
| Destination | 도착 워크로드 |
| Protocol | 프로토콜 (HTTP, gRPC, Redis, SQL, Kafka 등) |
| Status | 에러 여부 |
지원 프로토콜
APM Agent가 자동으로 감지하는 프로토콜:
| 프로토콜 | 설명 |
|---|---|
| HTTP | HTTP/1.1, HTTP/2 요청 |
| gRPC | gRPC 원격 프로시저 호출 |
| Redis | Redis 명령 |
| SQL | MySQL, PostgreSQL 쿼리 |
| Kafka | Kafka 메시지 |
| DNS | DNS 조회 |
엣지 클릭 상세 정보
엣지를 클릭하면 다음 정보가 표시됩니다:
연결 요약:
- Source → Destination
- 프로토콜
- 총 요청 수
가장 느린 요청 (Top Slow Requests):
| 항목 | 설명 |
|---|---|
| Timestamp | 요청 시간 |
| Trace ID | 트레이스 ID (클릭 시 트레이스 상세로 이동) |
| Path | API 경로 |
| Method | HTTP 메서드 |
| Status | HTTP 상태 코드 |
| Latency | 지연시간 (ms) |
최근 에러 (Recent Errors):
에러가 발생한 최근 요청 목록
요청 목록 (Requests):
페이지네이션된 전체 요청 목록
워크로드 상세 정보
노드를 클릭하면 워크로드의 상세 메트릭을 확인할 수 있습니다.
기본 정보
| 항목 | 설명 |
|---|---|
| Workload Name | 워크로드 이름 |
| Cluster | 클러스터 이름 |
| Namespace | 네임스페이스 |
| Kind | 워크로드 종류 (Deployment, StatefulSet 등) |
| Replicas | 원하는 레플리카 수 |
| Running Pods | 실행 중인 파드 수 |
리소스 메트릭 차트
| 차트 | 설명 |
|---|---|
| CPU Usage | CPU 사용량 시계열 그래프 |
| Memory Usage | 메모리 사용량 시계열 그래프 |
| Network I/O | 네트워크 송수신량 그래프 |
| Network Errors | 네트워크 에러 그래프 |
멀티클러스터 지원
여러 Agent 클러스터의 서비스 맵을 통합하여 볼 수 있습니다:
클러스터 필터
- 상단 필터에서 특정 클러스터 또는 모든 클러스터 선택
- 클러스터 간 통신도 시각화 (외부 연결로 표시)
클러스터 간 통신
- 다른 클러스터로의 호출은 외부 노드로 표시
- IP 기반으로 내부/외부 트래픽 분류
사용 팁
1. 병목 지점 찾기
- 높은 지연시간 (빨간색 또는 두꺼운 엣지): 성능 개선 필요
- 높은 에러율: 안정성 문제 확인 필요
2. 의존성 파악
- 특정 서비스에 마우스를 올려 Top Peers 확인
- 과도하게 많은 연결이 있는 서비스 식별
3. 트레이스로 드릴다운
- 엣지 클릭 → 가장 느린 요청 → Trace ID 클릭
- 분산 트레이싱 화면에서 상세 분석
4. 시간대별 비교
- 시간 범위를 변경하여 트래픽 패턴 분석
- 배포 전후 비교
다음 단계
- 트레이스 - 분산 트레이싱 상세
- 자동 계측 - APM Agent 설정