애플리케이션 모니터링 서비스 가이드

제목 : 애플리케이션 모니터링 서비스 가이드
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2020-04-07
버전 : 1.1.0

설명 : 본 문서는 WhaTap 애플리케이션 모니터링 서비스 사용법에 대해 설명합니다.

1. 시작하기

와탭은 모니터링 서비스입니다. Public 클라우드에서 와탭 모니터링이 서비스되고 있습니다.
사용자는 와탭홈페이지 에 회원 가입후 프로젝트를 생성하고 에이전트를 설치하면 즉서비스를 사용할 수 있습니다.

1.1. 지원 환경

와탭 모니터링 UI는 웹브라우저와 모바일 앱을 통해 사용합니다.

지원하는 브라우저 범위는 다음과 같습니다.

Table 1. 지원 브라우저
브라우저 권장여부 지원버전

Google Chrome

O

58 이상

Mozilla FireFox

O

52 이상

Edge

X

38.14393 이상

Safari

X

Untested

브라우저 호환성과 성능을 이유로 Chrome, Firefox 최신버전 사용을 권장 합니다.
UI는 HTML5 표준기술로 구현되어 Internet Explorer 지원하지 않습니다.

모바일 앱은 앱스토어에서 다운로드 받을 수 있습니다.

1.2. 회원 가입

  • http://www.whatap.io 에 접속 후 무료로 시작하기 버튼을 클릭합니다.

  • 회사명, 이름, 이메일계정, 비밀번호, SMS 인증 create정보를 입력하여 회원가입을 진행합니다.

가입정보로 입력한 Email, 전화번호로 장애알람을 발송합니다.
create account

1.2.1. 와탭 테넌트 이해

와탭은 멀티테넌시(Multitenancy) 아키텍처 입니다.

와탭 서비스에서 사용자는 동등하고 상하 구분이 없으며 사용자는 프로젝트를 만드는 순간 생성한 프로젝트에 대해서 소유권(최고 권한)을 갖게 됩니다.

소유권을 가진 사용자는 다른 사용자에게 프로젝트를 관리 할 수 있는 Admin 권한을 부여 하거나 모니터링만 할 수 User 권한을 부여 할 수도 있습니다.

이런 방식을 테넌트 권한 관리 방식이라 합니다.

다수의 프로젝트와 다수의 사용자가 복잡하게 얽혀서 시스템을 사용해야하는 경우 한사람이 모든 권한을 원할 하게 관리할 수 없으므로 특정 수퍼관리자가 모든 권한을 관리하는 것 보다 각 업무단위로 프로젝트를 만들고 통제하는 방식이 효과적입니다.

그래서 와탭은 소유권이 있는 프로젝트를 관리하는 멀티테넌시를 제공합니다.

tenant
Figure 1. 와탭의 권한관리

1.2.2. 사용자 종류와 권한

와탭 모니터링 서비스의 사용자 권한 그룹은 Super Admin(SA) / Admin / User 로 구분되며 각 그룹별 사용자 및 고유 역할은 다음과 같습니다.

권한그룹 프로젝트 당 계정 수 모니터링 사용자 초대 사용자 권한 변경 사용자 제외 프로젝트 삭제

Super Admin

1

O

O

O

O

O

Admin

제한 없음

O

O

O

O

X

User

제한 없음

O

X

X

X

X

Super Admin (Owner)

프로젝트 당 1개 계정, 사용자 초대, 사용자 권한 변경, 사용자 제외, 프로젝트 삭제

프로젝트를 생성한 계정에 부여되는 권한으로 프로젝트 삭제를 포함한 모든 권한을 가지게 됩니다.
프로젝트에 다른 사용자를 초대하거나 권한을 부여하고 프로젝트에서 사용자를 제외 할 수 있습니다.
 - 사용자 초대는 Admin, User 권한으로 초대 할 수 있습니다.
 - 권한 변경 시 Super Admin 권한으로의 변경은 제한되어 있습니다.
 - Super Admin 이외 사용자를 프로젝트에서 제외 할 수 있습니다.
 - 다른 사용자에게 Super Admin 권한을 위임할 수 있습니다.
Admin

계정 수 제한 없음, 사용자 초대, 사용자 권한 변경, 사용자 제외

프로젝트에 다른 사용자를 초대하거나 권한을 부여하고 프로젝트에서 사용자를 제외 할 수 있습니다.
 - 사용자를 초대하고 Admin 또는 User 권한을 부여 할 수 있습니다.
 - Admin 에서 Super Admin 권한으로의 변경은 제한되어 있습니다.
 - Super Admin 계정과 본인 계정을 제외한 사용자를 제외 할 수 있습니다.
User

계정 수 제한 없음

모니터링 전용의 계정으로, 프로젝트 관리 및 사용자 관리 권한이 부여 되지 않습니다.

1.3. 프로젝트 생성

에이전트를 등록하기 위해 우선 프로젝트를 생성합니다.

프로젝트 생성 버튼을 선택하면 아래와 같이 프로젝트 생성 창이 나타납니다.

20

Java 아이콘을 선택한 뒤, 프로젝트명과 데이터 서버 지역(Region), 그룹을 선택한 뒤 프로젝트를 생성합니다

create project

이후, 생성된 프로젝트를 선택하여 화면 안내를 확인합니다.

1.3.1. 멀티리전의 이해

와탭은 데이터 수집 리전을 여러곳에 두고 서비스를 합니다. 하나의 수집리전은 N개의 수집서버가 ScaleOut 되는 형태로 구성됩니다.

모니터링 할 시스템 위치에 따라 가까운 곳의 리전을 선택할 수있습니다.

region
Figure 2. 멀티 리전

2020년 4월 기준 "Seoul", "Tokyo", "Singapore", "Mumbai", "California", "Frankfurt" 6개 지역에서 서비스하고 있습니다.

global
Figure 3. 와탭 리전

1.4. 에이전트 설치

화면내 가이드 또는 관리 | 에이전트 설치 메뉴로 이동해 에이전트를 설치 합니다.

상세 정보는 플랫폼별 에이전트 가이드를 참고 할 수 있습니다.

1.5. 프로젝트 관리

1.5.1. 프로젝트 그룹

와탭은 프로젝트 단위로 테넌트를 관리합니다. 하나의 사용자는 여러개의 프로젝트를 소유할 수 있고 여러개 프로젝트를 관리하기 위해 그룹 개념을 제공하고 있습니다.

하나의 프로젝트는 두개 이상의 그룹에 속할 수 없습니다.
프로젝트는 그룹에 속하지 않을 수 있습니다.
group

1.5.2. 사용량 확인

와탭 애플리케이션 모니터링 서비스는 에이전트가 설치된 서버의 CPU 코어 단위로 과금됩니다.

프로잭트 내 관리 | 사용량 메뉴에서 일자별 사용량을 확인 할 수 있습니다.

metering
사용량 정보

일간 최대 CPU 코어 수를 기준으로 월간 CPU 코어 추이를 차트로 표시합니다.

750
월간 테이블

일별 최대 CPU 코어 수를 기준으로 월간 테이블에 표시합니다.

  • 일자(UTC 기준) : 년월일

  • CPU 코어 수 : 전체 코어 수

  • 에이전트 수 : 전체 에이전트 수

  • 호스트 수 : 전체 호스트 수

760

확인된 사용량에 단가(25,000 KRW)를 곱하면 유상 전환시 월 최대 예상 비용을 추정 할 수 있습니다.

실제 유상 과금은 1시간 사용량 단위로 합산되어 월별 청구됩니다.
그러므로, 코어수 변화가 많은 환경에서는 예상 비용보다 실제 청구금액이 낮아집니다.

1.5.3. 유료 전환

유료 전환은 프로젝트 소유자가 진행 가능 합니다.

프로젝트 메뉴 좌측 하단의 트라이얼, 또는 사용제한 아이콘을 선택하면 결제수단 등록 메뉴로 이동하게 됩니다.

limited
Figure 4. 사용 제한
trial
Figure 5. 트라이얼

지불 수단을 등록하고 유상 전환 할 수 있습니다.

billing
Figure 6. 결제수단 등록

프로모션 정보, 견적서, 청구정책 등의 문의사항은 FAQ를 참고 하시거나 유선 문의 할 수 있습니다.

2. 실시간 모니터링

에이전트로부터 수집한 정보는 즉시 확인 할 수 있습니다.
이를 통해 즉각적인 장애 인지가 가능하고 잠재적인 문제 요소를 빠르게 식별 할 수 있습니다.

2.1. 대시보드를 통한 시스템 전체 현황 파악

수집된 정보는 대시보드를 통해 실시간으로 확인할 수 있습니다.
CPU, Memory를 제외한 일반적인 차트는 안정적인 데이터는 파란색 계열로 표현되고, 문제로 식별되는 요소들은 붉은색 계열로 표시되므로 사용자가 현황을 쉽게 인지 할 수 있습니다.

780
Figure 7. APM 대쉬보드(메인보드)

대시보드 최상단에서는 프로젝트와 사용자 계정에 대한 필수 메뉴를 배치 했습니다.

dashboard top
메뉴 명

왼쪽 끝에는 현재 화면의 메뉴명이 나타납니다.

알람

우측 종 모양 아이콘을 선택하면 최근 발생한 이벤트를 확인 할 수 있습니다.

LiveChat

사용중 문의 사항이 있으면 언제든 말풍선을 클릭해 주세요.

계정 정보

계정 정보를 관리하거나 언어를 변경할 수 있습니다. 소유자인 경우 프로젝트를 유상ㅈ전환 할 수 있습니다.

핀 모양 버튼을 사용해 에이전트를 필터링 할 수 있습니다.

agent select
Figure 8. 에이전트 선택

2.1.1. 에이전트 요약

등록된 에이전트를 요약하고 있습니다. 에이전트의 실행 상태와 수를 나타냅니다.

agent summary

2.1.2. 액티브 트랜잭션

액티브 트랜잭션은 Arc Equalizer차트입니다. 모니터링 대상 애플리케이션에 실행 중 트랜잭션을 시각화하여 아크이퀄라이저로 보여줍니다. 인스턴스(에이전트) 수만큼 아크가 분할됩니다.

5초마다 현재 서버에서 처리 중인 요청의 수를 표현해서 해당 요청이 각각 어느 정도의 시간동안 처리 중인지 알 수 있습니다. 5초 간격의 시간에 감지된 요청들은 위험 여부를 파악할 수 있도록 다음과 같이 색으로 분류됩니다.

수행 시간에 따른 이퀄라이저 색 변화
  • 0초 ~ 3초: 파란색

  • 3초 ~ 8초: 주황색

  • 8초 이상: 빨간색

파란색이 많이 표현되는 상황은 문제 되지 않지만 이중 일부가 보라색이나 빨간색으로 바뀌어 표현되지 않는지 추이를 지켜봐야 합니다.

장애 상황에는 액티브 트랜잭션 수가 증가하고 빨간색 비율이 높아지는 반면 매우 응답이 빠른 시스템의 경우 처리되는 트랜잭션 수(TPS)는 높아도 액티브 트랜잭션 수는 낮을 수 있습니다.

act tx
Figure 9. 액티브 트랜잭션(아크 이퀄라이저)
현재 진행중인 트랜잭션 수를 표시합니다.
- 좌측 상단에는 진행중인 트랜잭션 수가 가장 많은 에이전트 이름이 표시됩니다.
- 우측 상단의 아이콘을 통해 뷰를 전환하거나 상세보기 메뉴로 이동 할 수 있습니다.
- 가운데 숫자는 선택된 에이전트의 액티브 트랜잭션 수 합계입니다.
- 액티브 트랜잭션 둘레에 두 개의 바 는 처리량(TPS)에 따라 3단계 속도로 차트 주변을 회전합니다.

2.1.3. 응답 시간 분포도 (히트맵)

히트맵 차트는 종료된 트랜잭션 응답시간을 분포도로 표현합니다. 가로축은 트랜잭션 종료 시간을 나타내며 세로축은 수행 시간을 나타내므로 수행 시간이 긴 트랜잭션은 분포도 상단에 위치하게 됩니다.

히트맵 내 영역을 드래그 하면 세부 트랜잭션 정보를 확인 할 수 있습니다.

오류가 발생하지 않았고 수행시간 500ms이하 트랜잭션의 세부 정보는 url당 5분에 1건만 수집됩니다.
TPS나 평균응답시간 같은 통계정보에는 영향을 미치지 않으며, 에이전트 설정을 통해 정책 조정 가능 합니다.

히트맵 점 색상의 진하기는 밀도를 표현 합니다.

  • 정상TR : 하늘색 → 파란색 → 남색

  • 에러TR : 노란색 → 주황색 → 빨강색

hitmap
Figure 10. 히트맵
히트맵 차트는 편의 기능들을 제공합니다.
- 상단의 숫자는 차트 내 트랜잭션 건 수 / 에러 건 수 를 의미합니다.
- 수행 시간을 나타내는 Y축은 자동으로 조정할 수 있습니다.
- 에러 트랜잭션만 필터 할 수 있습닏다.
- 차트는 상하 5초 ~ 80초 까지 확대/축소 할 수 있습니다.

2.1.4. 액티브 스테이터스

액티브 트랜잭션을 수행 구간별로 분류하여 이퀄라이저로 보여줍니다. 프로젝트내의 모든 에이전트는 5초마다 액티브트랜잭션 수를 수집함과 동시에 진행 상태를 수집합니다.

act stat
Figure 11. 액티브 스테이터스

액티브 스테이터스 상태는 5가지로 구분됩니다.

METHOD

아래 4가지 상태가 아닌 경우

SQL

Sql을 수행중인 상태

HTTPC

Http 외부 호출 중인 상태

DBC

Db Pool 에서 getConnection을 하고 있는 상태

SOCKET

Socket의 connect()를 호출하고 있는 상태

이퀄라이저 색깔의 의미는 중요도를 나타내고 있습니다.
DBC와 SOCKET 은 한두개가 지속적으로 나타난 것까지 문제로 인식되어야합니다.
반면 SQL과 HTTPC는 갯수가 상대적으로 많은 경우 분석이 필요하고 METHOD는 일반적인 상황이므로 파란색입니다.

2.1.5. 평균 응답시간

모니터링 대상 서버가 평균 응답시간이 얼마인지를 실시간 모니터링 할수있습니다.

rtime 1
Figure 12. 응답시간 전체

개별 응답시간을 모니터링 하고자 할때는 차트 상단의 전환 버튼을 클릭합니다. 다만 프로젝트에 애플리케이션 수가 너무 많으면(수십개 이상) 효과적이지 않습니다.

rtime 2
Figure 13. 응답시간 개별

각 헤더를 클릭하면 서버당 데이터를 보여주는 차트를 확인할 수 있습니다. 좌측의 애플리케이션리스트를 선택하여 원하는 애플리케이션에 대해서만 볼 수 있습니다.