Application Performance Monitoring

Intuitive, Simple, Dynamic and Smart.

제니퍼 (JENNIFER Features)


제니퍼(JENNIFER)는 현재 웹 애플리케이션 서버(WAS)에서 일어나는 모든 상황을 한눈에 모니터링하고, 문제 발생 시 쉽게 원인을 분석할 수 있도록 설계되어 있습니다. 애플리케이션 개발 부터, 테스트, 오픈, 운영, 안정화의 전 단계에 걸쳐 성능을 모니터링하고 분석할 수 있으며 운영 중인 다양한 플랫폼별 (Java, .Net,PHP)시스템을 최소한의 부하로 실시간 모니터링 할 수 있습니다. 주요 기능으로는 서비스 및 리소스에 대한 실시간 모니터링,성능 및 장애 분석, 통계 데이터 분석, 보고서 작성 등이 있으며, 특히 제니퍼만의 실시간 모니터링 및 개별 트랜잭션 모니터링 기능 (스마트 프로파일, 엑스 뷰)은 다양한 애플리케이 션 성능관리 업무를 빠르고 보다 효율적으로 지원할 수 있도록 돕습니다..

개별 트랜잭션 모니터링(Individual Transaction Monitoring)

X-View를 통해 수행된 모든 Transaction을 한눈에 모니터링하고, 스마트 프로파일링(Smart Profiling) 기능을 통해 누구나 쉽게 어느 지점이 느린지 분석할 수 있습니다.또한, 애플리케이션 변경 감지 기능을 통해, 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있습니다.

실시간 엑스 뷰 (X-View)

종료된 트랜잭션은 실시간으로 엑스 뷰를 통해 분석이 가능합니다. 엑스 뷰는 종료된 모든 트랜잭션의 응답 시간을 개별 점 그래프로 표현한 차트입니다. 사용자는 엑스 뷰를 통해 트랜잭션의 응답시간 분포뿐 아니라 다양한 분포 패턴을 감지하여 장애 상황의 원인을 빠르게 분석하고 대응할 수 있습니다.

x-view_3_820_12f

실시간 액티브 서비스 모니터링

제니퍼는 액티브 서비스 모니터링을 통해 모든 트랜잭션이 웹 애플리케이션 서버에 들어오는 순간부터 처리되기까지 전 과정을 실시간으로 모니터링합니다. 이 직관적인 그래프는, 직관적인 차트를 통해 트랜잭션 처리 지연이나,사용자 응답지연 및 어느 SQL 쿼리가 현시점에서 수행되고 있는지와 같은 트랜잭션 수행상태에 대한 정보를 실시간으로 보여줍니다.

Smart Profiling_JENNIFER

애플리케이션 변경 감지

다양한 고객의 요구사항과 급변하는 시장에 발맞춰 기업은 더욱 빠르게 애플리케이션을 변경하고 있습니다. MSA(Microservice Architecture)를 기반으로한 개발환경과 DevOps 환경으로 전환은 이를 더욱 가속화하고 있기도 합니다. 모니터링의 관점에서 애플리케이션 변경 시점은 성능저하나 장애가 가장 많이 일어나는 시점이기도 합니다. 제니퍼는 애플리케이션 변경 감지 기능을 통해, 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있습니다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있습니다.

애플리케이션 변경 이력


트랜잭션 분석(Transaction Analysis)

제니퍼는 누구나 쉽게 프로파일링 데이터를 분석 할 수 있는 스마트 프로파일링(Smart Profiling) 기능과 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스텍트레이스(Stacktrace)를 남겨원인을 쉽고 빠르게 분석할 수 있는 자동 스택트레이스 기능을 제공합니다.

스마트 프로파일링

제니퍼의 개별 트랜잭션의 응답시간을 활용한 엑스 뷰 기반의 분석은 이미 수많은 고객사에서 검증된 트랜잭션 모니터링 기법입니다. 하지만, 프로파일링분석은 개발자 혹은 성능 튜닝의 전문가가 아니면 어려움을 겪는 것이 사실이었습니다. 이에 제니퍼는 누구나 쉽게 프로파일링 데이터를 분석 할 수 있는 스마트 프로파일링(Smart Profiling) 기능을 제공합니다. 이 기능을 통해 사용자는 Method, SQL, 외부 서비스 중 응답시간이 느린 구간을 선택하여 해당 시점의 프로파일을 쉽고 빠르게 분석할 수 있습니다.

스마트프로파일링

자동 스택트레이스

제니퍼를 포함한 대부분의 APM은 트랜잭션이 느린 원인을 분석하기 위해 매서드 프로파일링 기능을 제공합니다. 하지만 매서드 프로파일링 기능은 잘못된 설정으로 성능에 영향을 주거나 실제 느린 매서드를 찾지 못할 경우가 많습니다. 또한, 로직을 잘 알아야 하므로 성능 전문가가 아닌 이상 사용이 매우 어려운 단점이 있습니다. 제니퍼는 이런 제약사항을 없애기 위해 자동 스택트레이스 기능을 제공합니다. 이 기능은 성능 전문가가 아니더라도 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스텍트레이스(Stacktrace)를 남겨원인을 쉽고 빠르게 분석할 수 있습니다.

자동스택트레이스


분석 및 보고서(Analysis and Report)

제니퍼는 과거 데이터 모두를 초단위 분석이 가능합니다. 사용자는 샘플링된 데이터가 아닌 초 단위 분석을 통해 모니터링 시점 그대로의 실제 데이터로 분석할 수 있습니다.

초 단위 성능 모니터링 및 사후 분석

제니퍼는 대시보드와 과거 데이터 모두를 동일하게 초 단위로 분석할 수 있습니다. 실제 모니터링하면서 발생했던 상황의 표본을 샘플링(Sampling)하지 않고 초 단위로 분석할 수 있으므로, 모니터링 시점 그대로를 분석할 수 있습니다. 제니퍼의 원천기술인 제니퍼 레파지토리(JENNIFER Repository)를 통해 최적화된 초 단위 데이터 저장기능이 이를 가능하도록 했습니다.

초단위분석

보고서

​성능 분석 보고서를 만들기 위해서는 전문적인 지식, 툴을 다루기 위한 학습을 해야 하는 등의 어려움이 많습니다. 특히, 기존의 보고서는 SQL을 사용해야 하거나, Drag&Drop의 어려운 UX 때문에 사용하기 어려웠습니다.제니퍼의 보고서 기능은 텍스트 에디터 방식으로 평소에 사용하는 각종 에디팅 툴(Editing Tool)과 동일한 방식으로 쉽게 보고서를 작성할 수 있습니다. 그리고, 제니퍼를 사용하는 사용자라면 전문 지식 없이도 누구나 쉽게 클릭만으로 설정해서 원하는 보고서 차트를 추가할 수 있습니다.

보고서


Support Cloud (클라우드 환경 지원)

제니퍼는 국내 클라우드 환경에서 APM을 사용하는 가장 많은 고객과 레퍼런스를 갖고 있습니다. 메이저 클라우드 프로바이더인 AWS, AZURE에 가장 큰 규모의 서버를 운영하는 고객들에게 필요한 충분한 확장성과 안정성이 검증되었습니다.

제니퍼는 기술적인 영역에서 클라우드 환경별 설치, 에이전트/서버의 확장성과 안정성, 클라우드 환경에 맞는 모니터링 관점 그리고, 비즈니스 영역에서 라이센스 체계에 이르기까지 클라우드 환경에 대한 지원을 하고 있습니다.

클라우드 환경에서 검증된 제니퍼의 레퍼런스

​클라우드 환경에서 제니퍼를 사용하는 수많은 레퍼런스를 가지고 있고, 삼성전자나 이베이와 같이 최대의 트래픽과 규모를 자랑하는 고객 환경에서고 안정적으로 모니터링 할 수 있음이 검증되었습니다.또한, 다음과 같은 스타트업의 사례에서 고객이 순간적으로 몰리는 피크 상황에서 실시간으로 확장하여 빠른 대응을 할 수 있습니다.

  • 팬마음 서비스 운영자

“제니퍼를 사용하는 방법은 아주 간단했다. 원격 에이전트를 설치하고 AMI 를 생성한 후 Auto Scale 그룹에 추가했으며, 이후 모니터링은 머신이 런칭되면 자동으로 연결되어 서비스 이용이 가능했으니 매우 심플하고 편리했다. (여러 가지 로그 분석툴을 사용해 봤으나 제니퍼의 간편한 설치와 사용은 최고라고 말할수 있다. 또한, 실시간으로 발생하는 장애 지점의 확인, 자주 호출하는 파일의 확인, 트랜잭션당 소요 시간을 기준으로 정렬해서 볼 수 있는 방법은 우리에게 정말 많은 도움이 되었다.”

  • 클래스팅 서비스 운영자

“클래스팅은 AWS에서 Auto scaling 기능을 사용하여 사용량에 따라 서버의 개수가 조절이 되고 있으며 이와 관련하여 AWS CloudWatch로 정상적인 동작 여부를 모니터링 하고 있다. 그러나, 서비스의 특성상 순간적인 트래픽이 매우 많이 발생하는데, AWS CloudWatch는 이를 실시간이 아닌 1~2분 정도 늦게 리포팅해 주기 때문에 트래픽을 관리하는 것이 매우 어려웠다. 그러나 제니퍼는 실시간으로 리포팅할 수 있어서 장애를 빠르게 대응할 수 있었다.”

에이전트 설치 및 통합 관리

클라우드 환경의 큰 특징 중 하나는 확장성으로, 서비스의 수요 즉, 트랜잭션의 양에 따라 하드웨어의 제약을 받지 않고 필요에 따라 서버수를 조절하며, 운영할 수 있어야 한다는 것입니다

Support-Cloud_JENNIFER_APM

이러한 환경에서 매번 서버의 Scale In/Out 시기마다 에이전트를 설치하고 설정해야 한다면 모니터링을 위한 관리비용이 너무 커지게 됩니다. 이를 위해 제니퍼는 다음과 같은 기능을 제공합니다.

  • Scale In/Out Instance에 대한 자동 인식 (Auto Detection)
    • 동일 ID의 instance 접속 시 ID 자동 갱신
    • 사용하지 않는 instance의 모니터링 대상 자동 삭제
  • 통합 에이전트/서버 관리 (일괄 배포 및 업그레이드)

서버의 대용량 처리 및 데이터 저장

제니퍼 레파지토리(JENNIFER Repository)는 유연한 확장성을 가진 아키텍처로 설계되었습니다. 이를 통해 사용자는 대용량 성능 데이터를 저장하고 빠르게 비교 분석할 수 있으며, 늘어나는 시스템에 대한 데이터 베이스 구축에 들어가는 추가 비용을 절감할 수 있습니다.

Repository_JENNIFER_APM

업무 관점의 통합 모니터링

multi-domain-dashboard_960_ko

<멀티도메인 통합 대시보드 화면>

Scale In/Out이 빈번하게 일어나는 클라우드 환경에서는 기존의 개별 Instance단위의 모니터링 보다 전체 업무 단위 관점에서(제니퍼는 이를 Domain이라고 합니다.) 모니터링이 더 효과적입니다. Instance는 성능의 관점보다 현재 운영되는 개수의 변화를 실시간으로 모니터링하여 Scale In/Out이 어떻게 일어나고 있는지를 보는 것으로 충분합니다. 제니퍼의 Multi Domain Dashboard를 통해 이를 한눈에 모니터링 할 수 있습니다.