서비스 맵

최종 수정: 2026. 1. 16.

서비스 맵

서비스 맵은 Skuber+ Observability의 핵심 기능으로, 마이크로서비스 간 의존성과 트래픽 흐름을 토폴로지 그래프로 시각화합니다.


개요

서비스 맵을 통해 다음을 한눈에 파악할 수 있습니다:

  • 서비스 간 호출 관계: 어떤 서비스가 어떤 서비스를 호출하는지
  • 트래픽 흐름: 요청의 방향과 양
  • 성능 지표: 각 연결의 처리량, 지연시간, 에러율
  • 문제 지점: 에러가 발생하는 연결 식별

service-map-01.png


화면 구성

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 설정