본문으로 건너뛰기

3.3. 토폴로지 맵

애플리케이션과 서비스 간의 의존성 및 트래픽 흐름을 실시간으로 시각화하는 화면입니다.

토폴로지 맵 화면

개요

토폴로지 맵은 모니터링 중인 모든 애플리케이션(Application)의 연결 관계를 방향 그래프 형태로 보여줍니다. 각 애플리케이션이 어떤 서비스와 통신하는지, 트래픽 양은 얼마인지, 오류가 발생하고 있는지를 한눈에 파악할 수 있습니다.

마이크로서비스 환경에서 장애가 발생했을 때 영향을 받는 서비스를 빠르게 식별하거나, 평상시 서비스 아키텍처를 파악하는 데 활용합니다. 서버와 실시간으로 연결되어 토폴로지 데이터가 자동으로 갱신됩니다.

좌측 사이드바에서 토폴로지 맵 메뉴를 클릭하면 진입할 수 있습니다.

화면 구성

토폴로지 맵은 다음 영역으로 구성됩니다.

영역위치설명
상단 헤더화면 상단페이지 제목, 전체 화면 버튼, 연결 상태 배지, 알림 버튼, 검색, 카테고리/네임스페이스 필터
맵 캔버스화면 중앙서비스 노드와 연결선이 표시되는 메인 영역
줌 컨트롤좌측 하단확대/축소 버튼, 현재 배율 표시, 화면 맞춤 버튼
범례좌측 하단 (줌 컨트롤 아래)노드 상태 색상 및 트래픽 굵기 범례
미니맵우측 하단전체 토폴로지의 축소 보기와 현재 뷰포트 위치

연결 상태 배지

헤더의 연결 상태 배지는 서버와의 실시간 연결 상태를 나타냅니다.

  • 실시간(녹색 점): 실시간으로 토폴로지 데이터가 업데이트되고 있습니다.
  • 연결 중…(회색 로딩 스피너): 서버에 연결을 시도하는 중입니다.
  • 연결 끊김(빨간색 점): 재연결 시도가 한계를 초과하여 연결이 끊긴 상태입니다. 페이지를 새로고침하세요.

연결이 끊어진 경우 상단에 오류 바가 표시되며, Reconnect 버튼을 클릭하여 연결을 복구할 수 있습니다.

주요 기능

서비스 노드 읽는 법

서비스 노드 상세

맵 캔버스에는 각 애플리케이션(Application)이 카드 형태의 노드로 표시됩니다. 하나의 노드에는 다음 정보가 포함됩니다.

항목위치설명
서비스 이름카드 상단애플리케이션의 이름
상태 배지이름 아래 좌측현재 상태 (OK, Warning, Critical)
Pod 수이름 아래 우측실행 중인 Pod 개수
CPU 게이지카드 하단CPU 사용률 (백분율)
MEM 게이지카드 하단메모리 사용률 (백분율)
좌측 상태 바카드 왼쪽 세로 바상태에 따른 색상 표시

노드의 테두리 색상과 좌측 상태 바는 서비스의 상태를 나타냅니다.

색상상태의미
녹색정상(OK)서비스가 정상적으로 동작 중
노란색경고(Warning)주의가 필요한 상태
빨간색위험(Critical)즉각 조치가 필요한 상태

경고 또는 위험 상태의 노드는 테두리가 정적 강조 링으로 표시됩니다. CPU 또는 메모리 사용률이 90%를 넘는 노드도 동일하게 강조됩니다.

게이지 바의 색상도 사용률에 따라 변합니다.

색상기준의미
녹색75% 미만정상
노란색75% 이상 90% 미만주의
빨간색90% 이상위험

외부 서비스 노드

모니터링 대상이 아닌 외부 서비스(예: 외부 API, SaaS)는 축소된 형태로 표시됩니다. 외부 서비스 노드에는 CPU/메모리 게이지가 표시되지 않으며, 서비스 이름과 상태 점만 나타납니다.

네임스페이스 영역

동일한 네임스페이스(Namespace)에 속하는 노드는 점선 테두리의 영역으로 묶여 표시됩니다.

  • 영역 상단에 네임스페이스 이름과 서비스 수가 표시됩니다.
  • 모든 네임스페이스 영역은 동일한 중성 색상의 점선 테두리로 표시됩니다.
  • 네임스페이스 이름을 클릭하면 해당 네임스페이스 필터가 빠르게 적용됩니다. 이미 적용된 상태에서 다시 클릭하면 필터가 해제됩니다.

참고: 네임스페이스(Namespace)는 Kubernetes에서 리소스를 논리적으로 구분하는 단위입니다.

연결선 읽는 법

서비스 간의 트래픽 흐름은 연결선(화살표)으로 표시됩니다. 연결선에는 다음 정보가 시각적으로 표현됩니다.

시각 요소의미
화살표 방향트래픽의 흐름 방향 (요청을 보내는 쪽에서 받는 쪽으로)
선 굵기초당 요청 수(RPS). 트래픽이 많을수록 굵어짐
선 색상오류율. 녹색(정상) / 노란색(오류율 1% 초과) / 빨간색(오류율 5% 초과)
흐름 애니메이션트래픽이 있으면 점선이 흐르는 애니메이션이 표시됨
인라인 수치연결선 위에 초당 요청 수, 응답 시간(Latency) p50, 전송/수신 바이트가 표시됨

흐름 애니메이션의 속도는 트래픽 양에 따라 달라집니다. 초당 요청 수가 많을수록 빠르게 흐릅니다.

노드 및 연결선 툴팁

노드 상세 툴팁

노드 위에 마우스를 올리면 상세 정보 툴팁이 표시됩니다. 툴팁에는 다음 정보가 포함됩니다.

  • 서비스 이름 및 상태 배지
  • 네임스페이스(Namespace)
  • CPU 사용량 (백분율 및 게이지)
  • 메모리 사용량 (백분율 및 게이지)
  • Pod 수
  • 수신/송신 트래픽 (초당 요청 수)
  • 오류율
  • 검사(Inspection) 항목별 상태 표시 (있는 경우)

연결선 위에 마우스를 올리면 해당 연결의 상세 수치가 툴팁에 표시됩니다.

  • 요청 서비스 → 대상 서비스 방향
  • 초당 요청 수 (RPS)
  • 오류율
  • 응답 시간(Latency) p50, p95
  • 송신/수신 바이트 전송률

호버 하이라이트

노드 위에 마우스를 올리면 해당 노드와 직접 연결된 노드 및 연결선만 강조되고, 나머지는 흐리게 처리됩니다. 이를 통해 특정 서비스의 업스트림(Upstream)/다운스트림(Downstream) 의존 관계를 쉽게 파악할 수 있습니다.

연결선 위에 마우스를 올려도 해당 연결의 양쪽 노드와 연결선이 강조됩니다.

노드 클릭으로 상세 정보 확인

맵에서 특정 서비스 노드를 클릭하면 해당 애플리케이션(Application)의 상세 정보 다이얼로그가 열립니다. 다이얼로그에서 메트릭(Metric), 로그(Log), 분산추적 등의 데이터를 확인할 수 있습니다.

노드를 더블 클릭하면 해당 노드로 맵 화면이 100% 배율로 확대되어 이동합니다.

참고: 외부 서비스 노드를 클릭해도 상세 정보 다이얼로그가 열리지 않습니다.

알림 노드 확인

알림 노드 목록

헤더의 알림 버튼(경고 아이콘)을 클릭하면 현재 경고(Warning) 또는 위험(Critical) 상태인 서비스 목록이 표시됩니다.

  • 알림이 있는 경우 버튼에 빨간색 숫자 배지가 표시되어 주의를 끕니다.
  • 알림이 없으면 "No alerts" 메시지가 표시됩니다.
  • 목록은 위험(Critical) 상태가 먼저, 경고(Warning) 상태가 그 다음 순서로 정렬됩니다.
  • 각 항목에는 상태 색상 점, 서비스 이름, 네임스페이스(Namespace)가 표시됩니다.
  • 항목을 클릭하면 알림 목록이 닫히고 맵 화면이 해당 노드로 자동 이동합니다.

: 토폴로지 맵에 처음 진입할 때 위험 또는 경고 상태의 노드가 있으면 자동으로 해당 노드에 포커스가 맞춰집니다.

서비스 검색

카테고리/네임스페이스 필터

헤더 우측의 검색 입력창에서 서비스 이름을 입력하여 원하는 서비스를 빠르게 찾을 수 있습니다. 자동완성 기능이 지원됩니다.

  1. 검색창에 서비스 이름을 입력합니다.
  2. 드롭다운에서 원하는 서비스를 선택합니다.
  3. 맵 화면이 해당 서비스 노드로 자동 이동합니다.

참고: 검색 목록은 현재 적용된 카테고리(Category)/네임스페이스 필터에 의해 화면에 표시 중인 서비스만 포함합니다.

필터링

필터 적용 상태

헤더의 필터를 사용하여 맵에 표시되는 서비스를 좁힐 수 있습니다.

  • 카테고리(Category) 필터: 특정 카테고리에 속하는 서비스만 표시합니다. 여러 카테고리를 동시에 선택할 수 있습니다.
  • 네임스페이스(Namespace) 필터: 선택한 네임스페이스에 속하는 서비스만 표시합니다. 여러 네임스페이스를 동시에 선택할 수 있습니다.

필터를 적용하면 선택한 조건에 해당하는 서비스와 그 사이의 연결선만 맵에 표시됩니다. 필터가 적용되면 맵 레이아웃이 자동으로 재배치되어 화면에 맞춰집니다.

필터 선택 시 첫 번째 항목은 칩으로 표시되고, 추가 항목이 있으면 +N 형태의 배지로 표시됩니다. 칩의 X 버튼을 클릭하여 개별 필터를 해제하거나, 드롭다운의 X 버튼으로 전체 필터를 해제할 수 있습니다.

: 맵 캔버스에서 네임스페이스 영역의 이름을 클릭하면 해당 네임스페이스 필터가 빠르게 적용됩니다. 이미 적용된 상태에서 다시 클릭하면 필터가 해제됩니다.

맵 탐색

맵 캔버스에서 다음 방법으로 원하는 영역을 탐색할 수 있습니다.

동작방법
이동(팬)빈 영역을 드래그
확대/축소마우스 휠 스크롤 (커서 위치 기준으로 확대/축소)
빈 영역 더블 클릭커서 위치를 중심으로 100% 배율로 이동
노드 더블 클릭해당 노드를 중심으로 100% 배율로 이동

줌 컨트롤

맵 캔버스 좌측 하단의 줌 컨트롤에서 다음 기능을 사용할 수 있습니다.

버튼기능
- (축소)맵을 축소합니다
배율 표시현재 확대/축소 배율이 백분율로 표시됩니다
+ (확대)맵을 확대합니다
화면 맞춤모든 서비스 노드가 화면에 맞게 자동 조정됩니다

배율은 30%에서 150% 사이에서 조절됩니다.

범례

줌 컨트롤 아래에 범례가 표시됩니다.

  • 노드 상태 색상: 정상(OK), 경고(Warning), 위험(Critical) 각각의 색상
  • 연결선 굵기: 트래픽이 적은 경우(얇은 선) / 트래픽이 많은 경우(굵은 선)

미니맵

맵 캔버스 우측 하단에 미니맵이 표시됩니다. 미니맵은 전체 토폴로지의 축소 보기를 제공합니다.

  • 사각형 프레임은 현재 화면에 보이는 영역(뷰포트)을 나타냅니다.
  • 미니맵을 클릭하거나 드래그하면 맵 화면이 해당 위치로 이동합니다.
  • 각 노드는 상태에 따른 색상의 점으로 표시됩니다.
  • 뷰포트 밖의 영역은 어둡게 처리되어 현재 보고 있는 영역을 직관적으로 파악할 수 있습니다.

전체 화면 모드

헤더의 전체 화면 버튼을 클릭하면 토폴로지 맵이 전체 화면으로 전환됩니다. 복잡한 서비스 구조를 넓은 화면에서 한눈에 볼 수 있습니다.

전체 화면 상태에서 다시 버튼을 클릭하거나 Esc 키를 누르면 일반 화면으로 돌아옵니다.

활용 시나리오

장애 영향 범위 파악

  1. 토폴로지 맵에 진입하면 위험 또는 경고 상태의 노드에 자동으로 포커스가 맞춰집니다.
  2. 문제 노드 위에 마우스를 올려 의존 관계를 확인합니다. 해당 노드와 직접 연결된 업스트림(Upstream)/다운스트림(Downstream) 서비스만 강조됩니다.
  3. 연결선의 색상을 확인하여 오류가 전파되고 있는 경로를 파악합니다.
  4. 문제 노드를 클릭하여 상세 정보 다이얼로그에서 메트릭(Metric), 로그(Log), 분산추적 데이터를 확인합니다.

서비스 아키텍처 파악

  1. 화면 맞춤 버튼을 클릭하여 전체 토폴로지를 한눈에 봅니다.
  2. 네임스페이스(Namespace) 영역으로 묶인 서비스 그룹을 확인합니다.
  3. 연결선의 방향과 굵기로 서비스 간 트래픽 흐름과 규모를 파악합니다.
  4. 특정 서비스의 의존 관계가 궁금하면 해당 노드 위에 마우스를 올려 하이라이트로 확인합니다.

특정 네임스페이스 집중 분석

  1. 네임스페이스 필터에서 분석할 네임스페이스를 선택합니다. 또는 맵 캔버스에서 네임스페이스 이름을 클릭합니다.
  2. 선택한 네임스페이스의 서비스만 표시되고 맵이 자동으로 재배치됩니다.
  3. 서비스 간의 내부 통신 패턴과 외부 의존성을 상세히 분석합니다.

관련 문서