Alibaba Cloud Application Real-time Monitoring Service
Introduction
최근 IT의 트렌드에서 애플리케이션은 단순히 기업 비즈니즈를 용이하게 하는 사업의 일부가 아닌 대부분의 경우 기업의 비즈니스 그 자체가 되었다. 따라서, 애플리케이션의 성능 문제는 기업의 비즈니스 성장 및 수익성에 크게 연관되어 있다. 기업들뿐만 아니라, 애플리케이션 성능에 대한 소비자의 기대 마찬가지로 크게 변화하고 있다. 최근 소비자들은 자신들이 찾는 물건 및 문제에 대해 실시간으로 해소 할 수 있는 on-demand 방식의 디지털 경험을 선호하고 있으며 애플리케이션이 이 모든 것을 가능하게 한다. 다행히 오늘날의 최신 기술은 소비자의 기대만큼이나 빠르게 진화하고 있으며 APM (application performance monitoring) 분야 마찬가지로 빠르게 진화하고 있다. APM은 기업의 IT환경이 표준 성능을 충족하는지 여부를 모니터링하고 버그 및 잠재적 문제를 파악하며 IT 자원에 대한 면밀한 모니터링을 통해 소비자에게 결점 없는 애플리케이션 환경을 제공 할 수 있다. APM 솔루션은 IT팀에게 애플리케이션 성능을 진단 및 분석하여 비즈니즈 성장에 큰 기여를 하고 IT자원의 문제점을 빠르게 해결 할 수 있도록 한다.
알리바바 클라우드 마찬가지로 Application Real-Time Monitoring Service (ARMS)라는 알리바바 클라우드 APM 제품이 존재하며 브라우저, 애플리케이션 등 기업의 맞춤 설정에 따라 빠르고 편리하게 비즈니스 모니터링 기능을 구축 할 수 있다.
Workflow
- 데이터 수집: ARMS는 configuration을 통하여 ECS (Elastic Compute Service) 인스턴스, MQ (Message Queue), 및 LogHub에서 로그 캡쳐를 지원한다.
- ARMS 통한 작업 정의:
– ARMS는 real-time processing (실시간 처리), 데이터 스토리지, 프레젠테이션 및 분석, 데이터 API, 알림 등의 작업을 환경설정을 통해 설정하여 자신만의 애플리케이션 시나리오를 수행 할 수 있다.
– ARMS는 브라우저 모니터링, 애플리케이션 모니터링 등 사전에 설정된 시나리오로 비즈니스 모니터링을 직접 수행한다.
Scenario
- 고도의 맞춤형 비즈니스 모니터링: 전자상거래, 물류 시스템, 항공사 및 관광 등 다양한 비즈니스 특성 및 요구사항에 따라 실시간 모니터링 알림 및 대시보드를 만들 수 있다.
- 브라우저 모니터링: ARMS는 리전, 채널, 링크 별로 방문한 페이지의 성능과 오류를 보여준다.
- 애플리케이션 performance and exception monitoring: ARMS performance exception을 모니터링하고 분산 애플리케이션에 대한 추적을 query 할 수 있는 APM 기능을 제공한다.
- 통합된 알림 및 보고서 플랫폼: 사용자 정의(custom) 모니터링, 브라우저 모니터링 및 애플리케이션 모니터링의 알림 및 보고서 플랫폼에 통합되어 한눈에 쉽게 볼 수 있다.
ARMS를 이용하여 IT 엔지니어는 빅데이터 플랫폼 기반의 실시간 애플리케이션 모니터링 시스템을 몇 분만에 구축 및 시작할 수 있어 데이터 모니터링의 신속함을 극대화하고 IT 엔지니어의 효율성을 높일 수 있다.
Functions
ARMS은 데이터 액세스, 데이터 컴퓨팅, 데이터 스토리지, 대시보드 프레젠테이션, 알림 등 일련의 맞춤형 모니터링을 제공한다. 또한, 다운스트림 (downstream) 서비스의 API에 의해 호출되고 호출 할 수도 있다. 전체적인 기능은 아래 그림과 같다.
- 다차원 브라우저 모니터링
– 실시간 모니터링: 이용자가 실시간으로 접속하는 웹사이트의 응답시간 및 에러율을 검출한다.
– 다차원 모니터링 및 분석: 사용자 액세스 속도 및 오류를 리전, 오퍼레이터 (operator), 브라우저와 같은 다양한 차원 별로 분석한다.
– 페이지 예외 모니터링 (page exception monitoring): 애플리케이션의 많은 비동기 (asynchronous) 데이터 호출의 성능 및 성공률을 모니터링 및 분석한다.
- 효율적이고 간편한 애플리케이션 모니터링
– 애플리케이션 Topology 자체 검색 (self-discovery): RPC 정보의 동적 분석과 지능형 컴퓨팅을 기반으로 분산된 애플리케이션의 call relationship graph를 자동으로 생성한다.
– Metrics 분석: 애플리케이션 응답 시간, 리퀘스트 (request) 수, 오류 등의 metrics를 분석하고, 애플리케이션, 트랜잭션 (transaction) 또는 데이터베이스 별로 분석한 데이터를 표시한다.
– 비정상적이고 느린 트랜잭션 (transaction) 캡쳐: 시간 초과 (timeout) 및 예외 (exceptions)를 분석하고 특정 SQL statement 및 message queue와 같은 API 호출과 트랜잭션을 효과적으로 연결한다.
– 트랜잭션 스냅샷 쿼리: trance 기반 문제적인 트랜잭션 (problem transactions)을 스마트하게 수집하고 상세 데이터를 확인하여 예외 또는 오류의 원인을 파악한다.
- 강력한 맞춤형 모니터링
– 풍부한 데이터 소스 (source): 로그, SDK, Message Queue, LogHub 등 다양한 유형의 실시간 데이터 소스를 지원한다.
– 유연한 실시간 컴퓨팅 및 스토리지 오케스트레이션 (orchestration): 지정된 컴퓨팅 모드에 따라 실시간 컴퓨팅 및 스토리지 모드를 조정할 수 있다.
– 알림 및 대시보드의 연동: 모니터링 데이터셋 (datasets)을 ARMS 알림 및 대시보드와 신속하게 연동하여 다양한 모니터링 기능을 제공한다.
[출처]