본 포스팅에서는 알리바바 클라우드의 APM 서비스, ARMS에 대해 다룬다.
APM (Application Performance Monitoring)이란?
APM은 어플리케이션 성능 관리 및 모니터링을 뜻한다. 기업의 웹 서비스 성능을 관리하는 서비스이다.
APM 서비스를 통해 웹 페이지의 동작 상태 및 성능을 분석하며 미들웨어에서 일어나는 트렌젝션 시간을 분석하여 각 단계별 성능에 영향을 미치는 원인을 분석할 수 있다.
즉, 운영 중인 시스템에 대한 응답시간과 같은 성능이나 처리량, 가용성 및 기능적 무결성, 신뢰성을 확보하고 다운타임의 최소화 등을 통해 안정적인 시스템 운영을 위한 도구로써 부하량, 접속자 파악, 장애진단, 통계, 분석 등을 목적으로 하는 성능 모니터링 제품으로 정의할 수 있다.
구체적으로 응용 프로그램의 성능은 중도에 얼마나 처리를 빨리 마치는지, 또 특정 네트워크, 응용 프로그램 및 웹 서비스 인프라를 거친 응용프로그램을 통해 정보가 최종 사용자에게 전달되는지와 관련이 있다.
이렇듯 운영 환경에서 인프라의 자원을 모니터링하는 것과 어플리케이션을 모니터링하는 것은 굉장히 중요한 운영관점이다.
자 그럼 자원의 모니터링과 어플리케이션의 모니터링 중 앞전에 말씀드린 알리바바에서 제공하는 어플리케이션 모니터링 서비스, ARMS에 대해 알아보자.
알리바바 클라우드의 Application Real-Time Monitoring Service, ARMS
ARMS (Application Real-Time Monitoring Service)는 APM (Application Performance Management)을 위한 엔드-투-엔드 알리바바 클라우드 모니터링 서비스이다. ARMS에서 제공하는 어플리케이션 모니터링, 프런트엔드 모니터링 및 사용자 지정 맞춤형 모니터링 기능을 사용하여 실시간 비즈니스 모니터링 기능을 빠르게 개발할 수 있다.
각 모니터링 별 특징
- 어플리케이션 모니터링
(1) 어플리케이션 토폴로지 검색
추적 정보의 동적 분석 및 지능형 컴퓨팅을 통해 호출 참조를 기반으로 분산 응용 프로그램의 토폴로지를 자동으로 생성한다.
(2) 일반적인 진단 시나리오에 대한 메트릭 드릴 다운
어플리케이션 응답 시간, 요청 수 및 오류율과 같은 메트릭 드릴다운 분석을 수행한다. 애플리케이션별, 이벤트별,데이터베이스별 분석 결과를 확인할 수 있다.
(3) 비정상적이고 느린 트랜잭션 캡쳐
추적을 기반으로 제한 시간 및 예외를 분석하고 SQL statement 또는 MQ API작업과 같은 관련 호출 작업에서 자동으로 식별한다.
(4) 트랜잭션 스냅샷 쿼리
추적 기반의 비정상적인 트랜잭션을 지능적으로 수집하고 세부 데이터 문제를 해결하여 예외 또는 오류의 원인을 식별한다. - 프런트엔드 모니터링
(1) 높은 시간 효율성
사용자가 접속하는 웹사이트의 실시간 응답시간 및 오류율을 감지한다.
(2) 다차원을 이용한 모니터링 분석
지리적 지역, ISP 또는 브라우저별로 사용자 액세스 비율 및 오류를 분석한다.
(3) 페이지 예외 모니터링
비동기 API 작업 호출의 성능 및 성공률을 모니터링하고 진단한다. - 맞춤형 모니터링
(1) 다양한 데이터 소스
로그, SDK, Message Queue 및 Loghub와 같은 다양한 유형의 실시간 데이터 소스를 지원한다.
(2) 컴퓨팅 및 스토리지 리소스의 실시간 오케스트레이션
지정된 차원 및 계산을 기반으로 실시간 컴퓨팅 및 스토리지 모드를 오케스트레이션할 수 있다. 모니터링된 데이터세트를 ARMS 경보 및 대시보드를 플랫폼과 빠르게 통합하여 여러 시나리오에서 모니터링 기능을 제공한다.
이 외에 알리바바 클라우드의 ARMS는 어떤 환경을 지원하는지, 알리바바 클라우드 ARMS의 다양한 기능,그리고 데모를 통한 어플리케이션 모니터링 방법을 담은 내용은 다음 영상에서 확인이 가능하다.