용어 사전
용어 사전은 지속적으로 업데이트됩니다.
기본 용어
모니터링
모니터링(Monitoring)이란 어떤 대상을 감시, 관찰한다는 뜻입니다. IT 서비스 분야에서는 한정된 비용과 리소스를 가지고 서비스를 제공합니다. 때문에 모니터링을 통해 예기치 못한 상황과 오류를 대비하고 극복하는 것이 매우 중요합니다.
SaaS (Software as a Service)
SaaS는 고객을 대신하여 소프트웨어와 데이터를 제공하고 관리합니다. SaaS는 개별 컴퓨터에 응용 프로그램을 다운로드하고 설치할 필요가 없습니다. 고객은 유지 보수 및 자원을 간소화하면서 비즈니스에 집중할 수 있습니다.
SaaS를 통해 서비스를 공급하는 업체는 고객을 대신해 데이터, 미들웨어, 서버 및 스토리지와 같은 모든 잠재적인 기술적 문제를 관리합니다.
애플리케이션 (Application Performance Management)
'애플리케이션 성능 관리'를 의미합니다. 보통은 APM 서비스로 불립니다.
- A는 Application을 의미합니다.
- P는 Performance, 애플리케이션의 성능을 의미합니다. 그리고 애플리케이션의 성능은 웹서비스의 응답속도를 통해 측정하게 됩니다. 웹 서비스의 응답속도를 구하기 위해 APM 서비스는 트랜잭션을 추적하고 분석하는 일을 합니다.
- M은 Management 또는 Monitoring이 사용됩니다.
자세한 내용은 다음 문서를 참조하세요.
에이전트
와탭에서 에이전트란 모니터링 대상으로부터 수집한 데이터를 와탭 수집 서버로 전달하는 애플리케이션입니다. 에이전트는 웹 서버에 설치됩니다.
에이전트는 모니터링 대상과 1 대 1 대응됩니다. 모니터링 대상이 애플리케이션이라면, 애플리케이션이 실행될 때 에이전트도 함께 실행됩니다. 모니터링 대상이 서버라면, 서버에 에이전트를 설치하고 실행합니다.
에이전트 설치에 관한 자세한 내용은 다음 문서를 참조하세요.
처리량
성능에 있어서 처리량은 '얼마나 많은 요청을 완료할 수 있는가'를 의미합니다. 이 말은 '시스템이 얼마나 많은 트랜잭션을 처리하는가'를 나타냅니다.
처리량은 초 단위 또는 분 단위로 측정합니다. 처리량은 요청량과 다릅니다. 처리량은 마무리된 요청의 양입니다. 초당 요청량(RPS)이 100이지만 초당 처리량(TPS)이 10이라면 90건 요청은 아직도 처리되지 못한 상태입니다.
자세한 내용은 다음 문서를 참조하세요.
클라우드 컴퓨팅
클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미합니다. 그리고 클라우드 컴퓨팅에서 가상화하여 서비스로 제공하는 대상은 서버, 플랫폼, 소프트웨어입니다. 사용자는 사용한 만큼만 비용을 지불하면 됩니다.
클라우드 서비스의 종류는 크게 3가지가 있습니다.
- Infrastructure as a Service(IaaS, 아이아스, 이에스)
- Platform as a Service(PaaS, 파스)
- Software as a Service(SaaS, 사스)
클라우드 서비스에 대한 자세한 내용은 다음 문서를 참조하세요.
튜닝
시스템의 성능을 개선하는 것을 의미합니다. 튜닝에는 크게 처리량 튜닝과 안정성 튜닝이 있습니다.
- 처리량 튜닝은 최대 처리량을 늘려주는 튜닝입니다.
- 안정성 튜닝은 과부하 상태에서도 시스템이 다운되지 않도록 유지하는 튜닝입니다.
평균 응답 시간
애플리케이션 서버가 사용자에게 요청 결과를 반환하는 데 걸리는 시간입니다. 와탭의 서비스는 5초 간격으로 트랜잭션의 평균 응답 시간을 계산합니다. 평균 응답 시간은 튜닝 지표로서 의미를 가집니다.
자세한 내용은 다음 문서를 참조하세요.
대시보드
대시보드
대시보드를 이용해 시스템 전체 현황을 실시간으로 파악할 수 있습니다. 대시보드에서는 진행 중 트랜잭션 현황, 종료 트랜잭션의 응답시간 분포, 사용자 수, CPU, 메모리 추이 등의 주요 지표를 보여줍니다.
자세한 내용은 다음 문서를 참조하세요.
동시 접속 사용자 (Realtime User)
실시간 브라우저 사용자 수를 보여줍니다. 5초마다 최근 5분 이내에 트랜잭션을 일으킨 사용자를 카운팅 하여 보여줍니다.
사용자는 브라우저의 IP를 기반으로 카운팅 합니다. 에이전트 설정에서 사용자를 구분하기 위해 IP를 사용하거나 쿠키를 사용할 수 있습니다.
DISK I/O
Disk I/O(%) 지표는 디스크 사용률을 보여줍니다. Disk I/O(%)가 80%를 넘으면 시스템 성능에 영향을 줄 수 있습니다.
기본 경고 값은 90%입니다. Disk I/O(%)가 100%라면 디스크가 쉬지 않고 일하고 있다는 의미입니다.
자세한 내용은 다음 문서를 참조하세요.
DISK IOPS (Input/Output Operations Per Second)
초당 입력과 출력 작업을 나타내는 측정 단위입니다. 작업은 KiB 단위로 측정됩니다.
기본 드라이브 기술에 따라 볼륨 유형이 단일 I/O로 계산하는 최대 데이터 용량이 결정됩니다. 일반적으로 HDD의 IOPS 범위는 55-180입니다. SSD의 IOPS는 3,000 ~ 40,000입니다.
리소스 보드 (Resource Board)
리소스 보드에서 하나의 프로젝트에 등록된 모든 서버를 모니터링할 수 있습니다. 프로젝트 내 모든 서버의 요약 정보와 실시간 자원 사용량의 변화를 확인할 수 있는 CPU Resource Map 맵을 제공합니다.
전체 자원의 규모, CPU, 메모리, 프로세스의 사용률 Top 5를 보여줍니다. 리소스 보드를 통해 장애 상황을 즉시 인지하고 대응할 수 있습니다.
자세한 내용은 다음 문서를 참조하세요.
리소스 이퀄라이저
CPU, Memory, Disk I/O, Disk IOPS의 항목에 대해 상위 5개의 서버 목록을 실시간으로 보여줍니다.
MSA 분석 (Microservices Architecture)
URL을 기준으로 각각의 서비스 간의 호출 관계를 비율로 보여줍니다.
메트릭스 차트 (Metrics Chart)
수집된 데이터를 시계열 차트로 보여줍니다. 시간대를 선택한 후 원하는 측정 항목을 고르면 결과를 보여줍니다.
CPU 리소스 맵 (CPU Resource Map)
전체 서버들의 CPU 사용량을 나타내는 분포도입니다. 10분 동안의 데이터를 보여주고 10초 주기로 갱신됩니다.
Apdex (Application Performance Index)
Apdex는 애플리케이션 성능 지표를 의미합니다. Apdex는 응답 시간에 기반하며 전체 요청 중 만족과 허용건 비율로 수치화합니다. Apdex는 사용자 만족도에 대한 지표로 활용할 수 있으며, 0~1 사이의 값을 갖습니다.
자세한 내용은 다음 문서를 참조하세요.
성능 추이
지정한 시간에 해당하는 성능에 영향을 끼치는 정보들을 조회할 수 있습니다. 또한 전체, 개별 애플리케이션 서버 별로 그래프를 확인할 수 있습니다. 성능에 많은 영향을 끼치는 애플리케이션 서버가 무엇인지 파악 가능합니다.
성능 추이에서 조회할 수 있는 정보는 다음과 같습니다.
- 실시간 사용자
- 트랜잭션/초(합계)
- 응답시간
- CPU
- 힙 메모리
- 액티브 TX
- 많이 처리된 트랜잭션 Top 10
- HTTP Call Top 10
- SQL Top 10
애플리케이션 토폴로지
프로젝트 범위에서 포함된 모든 애플리케이션의 관계 정보를 표현합니다.
자세한 내용은 다음 문서를 참조하세요.
액티브 스테이터스 (Active Status)
액티브 트랜잭션들을 각 상태별로 갯수를 보여줍니다.
- METHOD : 메소스 수행중인 상태
- SQL : SQL을 수행중인 상태
- HTTPC : 외부 API 호출 상태
- DBC : 트랜잭션이 Connection Pool로 부터 새로운 Connection을 획득(get)하려는 상태
- SOCKET : 외부로 TCP Socket을 연결 중인 상태
자세한 내용은 다음 문서를 참조하세요.
컴파운드 아이
와탭 에이전트가 설치된 각각의 서버를 하나의 눈(Eye)으로 표현합니다. 컴파운드 아이는 서버들을 한곳에 모아서 보여줍니다.
총 5가지의 정보를 제공합니다.
- CPU 사용량
- Memory 사용량
- Disk 사용량
- 네트워크의 Rx (수신량)
- 네트워크의 Tx (송신량)
자세한 내용은 다음 문서를 참조하세요.
큐브
5분 단위로 만든 성능 통계를 큐브라고 부릅니다. 큐브 분석은 큐브에 저장된 5분 단위 성능 데이터를 활용한 분석 기능입니다.
자세한 내용은 다음 문서를 참조하세요.
트랜잭션 맵
종료된 개별 트랜잭션의 응답 시간 분포도입니다. 히트맵과 동일하게 분포 패턴에 따른 문제점을 발견하고 분석할 수 있습니다.
히트맵은 5분 시간 단위로 트랜잭션을 그룹화해서 보여주지만, 트랜잭션 맵은 트랜잭션을 개별로 표시합니다.
플렉스 보드
사용자가 원하는 방식으로 커스터마이즈 할 수 있는 대시보드입니다. 애플리케이션, 서버, 데이터베이스, 컨테이너 등 와탭 프로젝트의 데이터를 화면에 자유자재로 배치할 수 있습니다.
자세한 내용은 다음 문서를 참조하세요.
히트맵
응답 시간 분포 차트입니다. 특정 기간의 응답 시간 분포를 한눈에 파악할 수 있습니다.
트랜잭션 발생 위치에 따라 느린 트랜잭션을 쉽게 찾아낼 수 있습니다. 색상을 통하여 에러 발생 여부에 대해서도 빠르게 찾아낼 수 있습니다.
X축은 트랜잭션의 종료 시간, Y축은 응답 시간을 의미합니다. 히트맵 상의 특정 영역을 드래그하면 트랜잭션 목록을 보여주는 화면으로 이동합니다.
자세한 내용은 다음 문서를 참조하세요.
힙 메모리 (Heap Memory)
JVM(자바 가상머신)은 프로그램을 실행하기 위해 메모리에 데이터 저장 공간을 할당합니다.
메모리 공간은 크게 3가지 영역으로 분류됩니다. Static, Stack, Heap 영역입니다. 객체(인스턴스), 배열 등 주요 데이터는 Heap 메모리 영역에 저장됩니다.
자세한 내용은 다음 문서를 참조하세요.
로그
로그(Log)
로그는 애플리케이션 실행 중 발생하는 이벤트와 메시지 등을 기록한 파일입니다.
애플리케이션 활동과 발생한 이슈의 원인을 이해하려면 반드시 로그 파일을 들여다봐야 합니다.
로그 모니터링 (Log Monitoring)
와탭의 로그 모니터링을 통해서 실시간으로 로그를 조회할 수 있습니다. 혹은 특정 시간, 카테고리, 태그 또는 필터를 적용하여 원하는 로그만 선택적으로 볼 수도 있습니다.
자세한 내용은 다음 문서를 참조하세요.
서버
수집 서버 (Repository Server)
프로젝트 생성시 모니터링 데이터를 수집하는 서버를 의미합니다. SaaS형 서비스 사용시 와탭의 수집 서버를 사용하므로 별도로 수집 서버를 구축할 필요가 없습니다.
Redis 서버
인-메모리 방식의 데이터 저장소입니다. 와탭에선 HTTP 세션을 담는 세션 저장소로 쓰고 있습니다.
스택
스레드(Thread)
프로세스 내에서의 실행 단위입니다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다.
그리고 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-thread process)라고 합니다. 각 스레드는 자신의 스택과 레지스터를 가지고 있습니다.
자세한 내용은 다음 문서를 참조하세요.
탑 스택 (Top Stack)
탑 스택은 트랜잭션의 스택 정보를 수집하여 실행중인 메소드의 사용량 통계를 제공합니다.
스택의 최상단의 사용량 통계를 통해 서비스에 가장 많은 영향을 주는 메소드를 확인합니다. 메소드의 호출 빈도를 파악하면 CPU 또는 메모리에 부하가 걸리는 원인을 분석할 수 있습니다.
자세한 내용은 다음 문서를 참조하세요.
유니크 스택 (Unique Stack)
실행된 메소드의 집합이 동일한 경우에 대한 통계 정보입니다. 유니크 스택을 통해 많이 사용되는 스택의 정보를 알 수 있습니다.
유니크 스택에 많이 노출되었다면 통계적으로 빈번한 호출 또는 오랜 시간 동작하는 메소드입니다.
자세한 내용은 다음 문서를 참조하세요.
액티브 스택 (Active Stack)
실행 중인 트랜잭션의 스택 정보를 수집하는 기능입니다. 스택 정보는 10초마다 수집됩니다. 수집된 데이터는 통계로 확인할 수 있습니다.
통계 정보는 긴 시간 실행되는 메소드, 짧은 시간 수행되지만 잦은 빈도로 실행되는 메소드 모두 비율을 통해 식별할 수 있습니다. 트랜잭션이 진행 중 메소드 레벨에서 어느 부분이 지연이 되었는지 확인 가능합니다.
자세한 내용은 다음 문서를 참조하세요.
알림
알림 (Alarm)
모니터링 프로젝트에서 문제 상황이 발생하면 다양한 채널을 통해 사용자에게 실시간으로 알림이 갑니다.
알림 서비스는 모니터링하려는 IT 시스템 특성에 맞게 사전 정의된 알림 규칙을 제공합니다. 필요 시 사용자는 구체적인 알림 조건을 설정할 수 있습니다.
트랜잭션
트랜잭션 (Transaction)
애플리케이션 모니터링에 있어 트랜잭션이란, 애플리케이션에 유입된 단일 요청(request)이 애플리케이션의 처리 과정을 거쳐 응답(response)이 반환되기까지의 과정을 일컫습니다.
TPS (Transactions Per Second)
초당 처리된 트랜잭션 건수를 의미합니다. 서비스 성능지표 중 기준이 됩니다. 와탭은 프로젝트 전체 TPS를 실시간으로 보여줍니다.
자세한 내용은 다음 문서를 참조하세요.
트랜잭션 트레이스
단일 트랜잭션의 수행과정에서의 일련의 처리 과정을 의미합니다.
자세한 내용은 다음 문서를 참조하세요.
액티브 트랜잭션 (Active Transaction)
진행 중인 트랜잭션을 의미합니다.
자세한 내용은 다음 문서를 참조하세요.
멀티 트랜잭션
MSA와 같이 여러 애플리케이션의 호출 관계를 추적해야할 경우에 어느 부분에서 문제가 발생했고, 개선이 필요한지 식별할 수 있는 기능입니다.
자세한 내용은 다음 문서를 참조하세요.
Caller와 Callee
- Caller: 서비스를 호출한 트랜잭션(호출자)을 의미합니다.
- Callee: 서비스를 호출 당한 트랜잭션(피호출자)을 의미합니다.
기타
Okind
에이전트가 어떤 용도로 쓰이는지 종류를 구분하는데 쓰입니다. 예를 들어 다음과 같은 경우 해당 에이전트가 mobile_ui 용이라는 의미입니다.
-Dwhatap.okind=mobile_ui
CPU Steal Time
CPU Steal Time은 하이퍼바이저가 다른 가상 프로세서를 서비스하는 동안 가상 CPU가 실제 CPU를 기다리는 시간을 백분율로 표시한 값입니다.
가상 환경에서 동작하는 VM(Virtual Machine)은 단일 호스트에 있는 다른 인스턴스와 리소스를 공유합니다.
CPU Steal Time을 통해 VM에서 동작하는 CPU가 물리 머신으로부터 자원을 할당받기 위해 얼마나 대기하고 있는지 알 수 있습니다.
자세한 내용은 다음 문서를 참조하세요.