1단원: APM 기초와 대시보드
학습 목표
이 단원을 마치면 다음을 할 수 있습니다.
- APM(Application Performance Monitoring)이 무엇인지 설명할 수 있습니다
- FlowKat의 모니터링 구조(에이전트 → 수집 서버 → 대시보드)를 이해합니다
- 통합 대시보드와 시스템 대시보드에서 핵심 지표를 확인할 수 있습니다
1. APM이란?
1.1 왜 APM이 필요한가요?
웹 서비스를 운영하다 보면 "왜 갑자기 느려졌지?", "에러가 언제부터 발생한 거지?" 같은 질문이 생깁니다. 서버 로그를 하나씩 뒤지면 시간이 오래 걸리고, 문제가 발생한 뒤에야 알게 되는 경우가 많습니다.
APM(Application Performance Monitoring) 은 애플리케이션의 성능을 실시간으로 모니터링하고, 문제를 빠르게 찾아내는 도구입니다.
| 상황 | APM 없이 | APM 사용 시 |
|---|---|---|
| 응답 느려짐 | 로그 파일을 수동으로 검색 | 대시보드에서 즉시 확인 |
| 에러 발생 | 사용자 신고 후 인지 | 이벤트 알람으로 즉시 감지 |
| 원인 분석 | 코드 추적에 수 시간 | 프로파일로 병목 구간 특정 |
1.2 핵심 지표 3가지
APM에서 가장 중요한 지표 세 가지를 알아봅시다.
| 지표 | 설명 | 예시 |
|---|---|---|
| 응답 시간 (Response Time) | 요청을 받고 응답을 보내기까지 걸린 시간 | 평균 200ms, 최대 3초 |
| 처리량 (TPS, Transactions Per Second) | 초당 처리하는 트랜잭션 수 | 150 TPS |
| 에러율 (Error Rate) | 전체 요청 중 에러가 발생한 비율 | 0.5% |
- 응답 시간이 갑자기 높아지면 → 성능 저하 의심
- TPS가 급격히 떨어지면 → 서비스 장애 의심
- 에러율이 높아지면 → 애플리케이션 오류 의심
1.3 FlowKat의 모니터링 구조
FlowKat은 3단계 구조로 성능 데이터를 수집하고 시각화합니다.
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ Java Agent │────▶│ 수집 서버 │────▶│ 대시보드 │
│ (애플리케이션)│ │ (Collect Server)│ │ (웹 브라우저) │
└─────────────┘ └──────────────┘ └──────────────┘
| 구성 요소 | 역할 |
|---|---|
| Java Agent | 애플리케이션 서버에 설치되어 성능 데이터를 수집합니다 |
| 수집 서버 (Collect Server) | 에이전트가 보낸 데이터를 저장하고 집계합니다 |
| 대시보드 | 웹 브라우저에서 수집된 데이터를 차트와 표로 확인합니다 |
2. FlowKat 대시보드 둘러보기
2.1 통합 대시보드
통합 대시보드는 로그인 후 가장 먼저 보이는 화면입니다. 시스템 전체의 상태를 한눈에 파악할 수 있습니다.
접근 경로:
메뉴: 대시보드 > 모니터링 > 통합 대시보드
URL: /workgroup/[workgroupId]/monitoring/main
통합 대시보드에서 확인할 수 있는 주요 정보입니다.
| 영역 | 내용 |
|---|---|
| 상단 헤더 | 현재 선택된 오브젝트, 서버 정보, 새로고침 버튼 |
| 위젯 영역 | 드래그 앤 드롭으로 자유롭게 배치할 수 있는 위젯 모음 |
위젯(Widget)은 대시보드 위에 배치하는 작은 정보 카드입니다. 응답시간 차트, TPS 차트, 에러율 표시 등 다양한 위젯을 원하는 위치에 배치할 수 있습니다.
2.2 시스템 대시보드
시스템 대시보드는 서버 리소스(CPU, 메모리, JVM, 스레드) 중심의 모니터링 화면입니다.
접근 경로:
메뉴: 대시보드 > 모니터링 > 시스템 대시보드
URL: /workgroup/[workgroupId]/monitoring/system
시스템 대시보드에서 확인할 수 있는 주요 정보입니다.
| 기능 | 설명 |
|---|---|
| 액티브 서비스 | 현재 처리 중인 서비스 수와 TPS를 뱃지로 표시합니다 |
| 시계열 카운터 | 최근 사용자 수, TPS, CPU 사용률을 라인 차트로 보여줍니다 |
| XLOG | 트랜잭션 응답시간 분포를 산점도(점 그래프)로 표시합니다 |
| 이벤트(알람) | 발생한 이벤트와 알람 목록을 표시합니다 |
3. 실습: 대시보드 확인하기
아래 순서대로 FlowKat 대시보드를 직접 확인해 봅시다.
단계 1: FlowKat에 로그인합니다
브라우저에서 FlowKat 주소에 접속하고, 계정으로 로그인합니다. 로그인 후 통합 대시보드가 자동으로 표시됩니다.
단계 2: 통합 대시보드를 확인합니다
- 위젯 영역에 어떤 차트가 배치되어 있는지 살펴봅니다
- 응답시간, TPS, 에러 관련 위젯이 있는지 확인합니다
- 숫자가 실시간으로 변하는 것을 관찰합니다
단계 3: 시스템 대시보드로 이동합니다
- 좌측 메뉴에서 대시보드 > 모니터링 > 시스템 대시보드를 클릭합니다
- 액티브 서비스 뱃지에서 현재 TPS를 확인합니다
- XLOG 차트에 점(트랜잭션)이 표시되는 것을 확인합니다
단계 4: 위젯의 의미를 파악합니다
아래 표를 참고하여 각 위젯이 보여주는 정보를 이해합니다.
| 위젯 | 표시 내용 | 정상 상태 기준 |
|---|---|---|
| 응답시간 차트 | 평균/최대 응답시간 추이 | 안정적인 수평선 유지 |
| TPS 차트 | 초당 처리 건수 | 일정한 범위 내 변동 |
| CPU 사용률 | 서버 CPU 사용 비율 | 80% 이하 |
| 에러 표시 | 에러 발생 건수 | 0건 또는 극소수 |
학습 완료 체크리스트
이 단원을 마쳤다면 아래 항목을 확인해 보세요.
- APM이 무엇이고, 왜 필요한지 설명할 수 있다
- FlowKat의 3단계 구조(에이전트 → 수집 서버 → 대시보드)를 이해했다
- 통합 대시보드에 접속하여 위젯을 확인했다
- 시스템 대시보드에서 XLOG 차트와 액티브 서비스 뱃지를 확인했다
- 응답 시간, TPS, 에러율 세 가지 지표의 의미를 알고 있다
다음 단원으로 넘어가기 전에 확인해 보세요.
- APM의 핵심 지표 3가지는 무엇인가요?
- FlowKat에서 Java Agent의 역할은 무엇인가요?
- 시스템 대시보드의 XLOG 차트는 어떤 정보를 보여주나요?
정답 확인
- 응답 시간(Response Time), 처리량(TPS), 에러율(Error Rate)입니다.
- 애플리케이션 서버에 설치되어 성능 데이터를 수집하고 수집 서버로 전송하는 역할을 합니다.
- 트랜잭션 응답시간 분포를 산점도(점 그래프)로 보여줍니다. 각 점이 하나의 트랜잭션을 나타내며, 높이가 응답시간을 의미합니다.
2단원: 트랜잭션과 XLOG에서는 트랜잭션이 무엇인지 배우고, XLOG를 사용해 느린 트랜잭션을 추적하는 방법을 실습합니다.