"제니퍼"의 두 판 사이의 차이
(→기능) |
|||
6번째 줄: | 6번째 줄: | ||
== 기능 == | == 기능 == | ||
=== 실시간 모니터링 === | === 실시간 모니터링 === | ||
− | * '''웹 서비스 중심 토폴로지 뷰''' | + | * '''웹 서비스 중심 토폴로지 뷰''' : 제니퍼 토폴로지 뷰는 기업의 웹 서비스를 중심으로 연결된 서비스에 대한 가시성을 확보하는 것이 핵심 기능이다. WAS를 중심으로 연결된 서비스(데이터베이스, 외부 연계 서비스, HTTP 등) 사이에 발생하는 트랜잭션, 즉, 구간에서 처리되는 트랜잭션까지 실시간으로 모니터링할 수 있다. |
− | : 제니퍼 토폴로지 뷰는 기업의 웹 서비스를 중심으로 연결된 서비스에 대한 가시성을 확보하는 것이 핵심 기능이다. WAS를 중심으로 연결된 서비스(데이터베이스, 외부 연계 서비스, HTTP 등) 사이에 발생하는 트랜잭션, 즉, 구간에서 처리되는 트랜잭션까지 실시간으로 모니터링할 수 있다. | + | * '''웹 서비스 사용자 응답시간 모니터링(RUM)''' : 클라이언트 구현 기술의 발전과 모바일 기기의 대중화로 인해 기업의 서비스는 복잡해졌다. 사용자는 모바일을 통해 언제, 어디서든 기업의 서비스를 이용할 수 있게 되었고, APM은 이제 서버사이드 영역의 모니터링뿐만 아니라, 실제 사용자의 만족도를 높일 수 있는 사용자 중심의 성능 모니터링 기능을 요구하고 있다. 이러한 변화에 따라 제니퍼는 프론트엔드 영역의 모니터링을 위한 실제 사용자 모니터링, Real User Monitoring을 지원한다. 이 기능은 웹 표준 조직 기구인 W3G의 Timing Navigation API를 사용하여 별도의 모듈 설치 없이 브라우저에서부터 서버사이드까지 전 영역에 대한 응답시간 측정이 가능하며, 서버와 네트워크로 이어지는 애플리케이션 수행 경로를 시각적으로 표시하여 애플리케이션 성능에 대한 깊이 있는 분석이 가능하다. |
− | * '''웹 서비스 사용자 응답시간 모니터링(RUM)''' | + | * '''실시간 커넥션 풀 모니터링''' : 실시간 커넥션 풀 모니터링은 인스턴스별 커넥션 풀을 실시간으로 모니터링하는 기능이다. 이 기능은 액티브 서비스 차트와 함께 모니터링하며 액티브 서비스 점유가 주로 데이터베이스 커넥션에 있을 경우 커넥션 풀 설정을 조정할 수 있어 서비스 성능을 개선할 수 있다. 다른 측면에서 데이터베이스 커넥션을 특정 애플리케이션에서 많이 사용할 경우 현재 커넥션을 사용하고 있는 액티브 서비스를 찾아내어 원인을 분석할 수 있다. |
− | : 클라이언트 구현 기술의 발전과 모바일 기기의 대중화로 인해 기업의 서비스는 복잡해졌다. 사용자는 모바일을 통해 언제, 어디서든 기업의 서비스를 이용할 수 있게 되었고, APM은 이제 서버사이드 영역의 모니터링뿐만 아니라, 실제 사용자의 만족도를 높일 수 있는 사용자 중심의 성능 모니터링 기능을 요구하고 있다. 이러한 변화에 따라 제니퍼는 프론트엔드 영역의 모니터링을 위한 실제 사용자 모니터링, Real User Monitoring을 지원한다. 이 기능은 웹 표준 조직 기구인 W3G의 Timing Navigation API를 사용하여 별도의 모듈 설치 없이 브라우저에서부터 서버사이드까지 전 영역에 대한 응답시간 측정이 가능하며, 서버와 네트워크로 이어지는 애플리케이션 수행 경로를 시각적으로 표시하여 애플리케이션 성능에 대한 깊이 있는 분석이 가능하다. | + | * '''실시간 애플리케이션 변경 이력 모니터링''' : 기업에서 운영하는 서비스는 수많은 고객의 요구사항을 반영하고 서비스 개선을 위해 하루에도 여러 번 애플리케이션을 변경한다. 모니터링 관점에서 애플리케이션 변경 시점은 곧 서비스 장애가 일어날 가능성이 가장 많은 시점이다. 그렇기에 모니터링이 가장 필요한 시점이기도 하다. 애플리케이션 변경 감지 기능은 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있는 장점이 있다. |
− | * '''실시간 커넥션 풀 모니터링''' | + | * '''실시간 액티브 서비스 모니터링''' : 제니퍼는 액티브 서비스 모니터링을 통해 모든 트랜잭션이 웹 애플리케이션 서버에 들어오는 순간부터 처리되기까지 전 과정을 실시간으로 모니터링한다. 이 직관적인 그래프는, 트랜잭션 처리 지연이나, 사용자 응답지연 및 어느 에스큐엘 쿼리가 현 시점에서 수행되고 있는지와 같은 트랜잭션 수행상태에 대한 정보를 실시간으로 보여준다. |
− | : 실시간 커넥션 풀 모니터링은 인스턴스별 커넥션 풀을 실시간으로 모니터링하는 기능이다. 이 기능은 액티브 서비스 차트와 함께 모니터링하며 액티브 서비스 점유가 주로 데이터베이스 커넥션에 있을 경우 커넥션 풀 설정을 조정할 수 있어 서비스 성능을 개선할 수 있다. 다른 측면에서 데이터베이스 커넥션을 특정 애플리케이션에서 많이 사용할 경우 현재 커넥션을 사용하고 있는 액티브 서비스를 찾아내어 원인을 분석할 수 있다. | + | * '''실시간 엑스 뷰''' : 종료된 트랜잭션은 실시간으로 엑스 뷰를 통해 분석이 가능하다. 엑스 뷰는 종료된 모든 트랜잭션의 응답 시간을 개별 점 그래프로 표현한 차트이다. 사용자는 엑스 뷰를 통해 트랜잭션의 응답시간 분포뿐 아니라 다양한 분포 패턴을 감지하여 장애 상황의 원인을 빠르게 분석하고 대응할 수 있다. |
− | * '''실시간 애플리케이션 변경 이력 모니터링''' | + | * '''애플리케이션 변경 감지''' : 제니퍼는 애플리케이션 변경 감지 기능을 통해, 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있다. |
− | : 기업에서 운영하는 서비스는 수많은 고객의 요구사항을 반영하고 서비스 개선을 위해 하루에도 여러 번 애플리케이션을 변경한다. 모니터링 관점에서 애플리케이션 변경 시점은 곧 서비스 장애가 일어날 가능성이 가장 많은 시점이다. 그렇기에 모니터링이 가장 필요한 시점이기도 하다. 애플리케이션 변경 감지 기능은 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있는 장점이 있다. | ||
− | * '''실시간 액티브 서비스 모니터링''' | ||
− | : 제니퍼는 액티브 서비스 모니터링을 통해 모든 트랜잭션이 웹 애플리케이션 서버에 들어오는 순간부터 처리되기까지 전 과정을 실시간으로 모니터링한다. 이 직관적인 그래프는, 트랜잭션 처리 지연이나, 사용자 응답지연 및 어느 에스큐엘 쿼리가 현 시점에서 수행되고 있는지와 같은 트랜잭션 수행상태에 대한 정보를 실시간으로 보여준다. | ||
− | * '''실시간 엑스 뷰''' | ||
− | : 종료된 트랜잭션은 실시간으로 엑스 뷰를 통해 분석이 가능하다. 엑스 뷰는 종료된 모든 트랜잭션의 응답 시간을 개별 점 그래프로 표현한 차트이다. 사용자는 엑스 뷰를 통해 트랜잭션의 응답시간 분포뿐 아니라 다양한 분포 패턴을 감지하여 장애 상황의 원인을 빠르게 분석하고 대응할 수 있다. | ||
− | * '''애플리케이션 변경 감지''' | ||
− | : 제니퍼는 애플리케이션 변경 감지 기능을 통해, 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있다. | ||
=== 개별 트랜잭션 분석 === | === 개별 트랜잭션 분석 === | ||
− | * '''스마트 프로파일링''' | + | * '''스마트 프로파일링''' : 제니퍼의 개별 트랜잭션의 응답시간을 활용한 엑스 뷰 기반의 분석은 이미 수많은 고객사에서 검증된 트랜잭션 모니터링 기법이다. 하지만, 프로파일링 분석은 개발자 혹은 성능 튜닝의 전문가가 아니면 어려움을 겪는 것이 사실이었다. 이에 제니퍼는 누구나 쉽게 프로파일링 데이터를 분석할 수 있는 스마트 프로파일링 기능을 제공한다. 이 기능을 통해 사용자는 메소드, 에스큐엘, 외부 서비스 중 응답시간이 느린 구간을 선택하여 해당 시점의 프로파일을 쉽고 빠르게 분석할 수 있다. |
− | : 제니퍼의 개별 트랜잭션의 응답시간을 활용한 엑스 뷰 기반의 분석은 이미 수많은 고객사에서 검증된 트랜잭션 모니터링 기법이다. 하지만, 프로파일링 분석은 개발자 혹은 성능 튜닝의 전문가가 아니면 어려움을 겪는 것이 사실이었다. 이에 제니퍼는 누구나 쉽게 프로파일링 데이터를 분석할 수 있는 스마트 프로파일링 기능을 제공한다. 이 기능을 통해 사용자는 메소드, 에스큐엘, 외부 서비스 중 응답시간이 느린 구간을 선택하여 해당 시점의 프로파일을 쉽고 빠르게 분석할 수 있다. | + | * '''자동 스택트레이스''' : 제니퍼를 포함한 대부분의 APM은 트랜잭션이 느린 원인을 분석하기 위해 메소드 프로파일링 기능을 제공한다. 하지만 메소드 프로파일링 기능은 잘못된 설정으로 성능에 영향을 주거나 실제 느린 메소드를 찾지 못할 경우가 많다. 또한, 로직을 잘 알아야 하므로 성능 전문가가 아닌 이상 사용이 매우 어려운 단점이 있다. 제니퍼는 이런 제약사항을 없애기 위해 자동 스택트레이스 기능을 제공한다. 이 기능은 성능 전문가가 아니더라도 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스택트레이스를 남겨 원인을 쉽고 빠르게 분석할 수 있다. |
− | * '''자동 스택트레이스''' | + | * '''애플리케이션 연계 분석''' : 애플리케이션 연계 분석은 검색한 엑스뷰의 개별 트랜잭션을 기반으로 애플리케이션 단위 호출건수, 평균 응답 시간, 최대 응답 시간, 평균 에스큐엘 시간, 평균 씨피유 시간을 함께 분석할 수 있는 기능이다. 또한, 이러한 성능 수치들이 높은 애플리케이션의 개별 트랜잭션을 분석하여 성능에 영향을 끼치는 애플리케이션을 튜닝할 수 있다. |
− | : 제니퍼를 포함한 대부분의 APM은 트랜잭션이 느린 원인을 분석하기 위해 메소드 프로파일링 기능을 제공한다. 하지만 메소드 프로파일링 기능은 잘못된 설정으로 성능에 영향을 주거나 실제 느린 메소드를 찾지 못할 경우가 많다. 또한, 로직을 잘 알아야 하므로 성능 전문가가 아닌 이상 사용이 매우 어려운 단점이 있다. 제니퍼는 이런 제약사항을 없애기 위해 자동 스택트레이스 기능을 제공한다. 이 기능은 성능 전문가가 아니더라도 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스택트레이스를 남겨 원인을 쉽고 빠르게 분석할 수 있다. | + | * '''연계 트랜잭션 분석''' : 제니퍼는 하나의 요청으로부터 시작된 다수의 트랜잭션 간의 상관 관계를 모니터링하거나 분석할 수 있다. 하나의 서버에서 처리된 서로 다른 업무 트랜잭션들을 연계할 수 있으며, 다른 서버에서 발생된 트랜잭션을 연계할 수 있따. 프로토콜 후킹 방식(HTTP, RMI)과 GUID를 활용한 연계 방식을 지원한다. |
− | * '''애플리케이션 연계 분석''' | ||
− | : 애플리케이션 연계 분석은 검색한 엑스뷰의 개별 트랜잭션을 기반으로 애플리케이션 단위 호출건수, 평균 응답 시간, 최대 응답 시간, 평균 에스큐엘 시간, 평균 씨피유 시간을 함께 분석할 수 있는 기능이다. 또한, 이러한 성능 수치들이 높은 애플리케이션의 개별 트랜잭션을 분석하여 성능에 영향을 끼치는 애플리케이션을 튜닝할 수 있다. | ||
− | * '''연계 트랜잭션 분석''' | ||
− | : 제니퍼는 하나의 요청으로부터 시작된 다수의 트랜잭션 간의 상관 관계를 모니터링하거나 분석할 수 있다. 하나의 서버에서 처리된 서로 다른 업무 트랜잭션들을 연계할 수 있으며, 다른 서버에서 발생된 트랜잭션을 연계할 수 있따. 프로토콜 후킹 방식(HTTP, RMI)과 GUID를 활용한 연계 방식을 지원한다. | ||
=== 분석과 보고서 === | === 분석과 보고서 === | ||
− | * '''초 단위 성능 모니터링 및 사후 분석''' | + | * '''초 단위 성능 모니터링 및 사후 분석''' : 제니퍼는 대시보드와 과거 데이터 모두를 동일하게 초 단위로 분석할 수 있다. 실제 모니터링하면서 발생했던 상황의 표본을 샘플링하지 않고 초 단위로 분석할 수 있으므로, 모니터링 시점 그대로를 분석할 수 있다. 제니퍼의 원천기술인 제니퍼 리포지토리를 통해 최적화된 초 단위 데이터 저장기능이 이를 가능하도록 하였다. |
− | : 제니퍼는 대시보드와 과거 데이터 모두를 동일하게 초 단위로 분석할 수 있다. 실제 모니터링하면서 발생했던 상황의 표본을 샘플링하지 않고 초 단위로 분석할 수 있으므로, 모니터링 시점 그대로를 분석할 수 있다. 제니퍼의 원천기술인 제니퍼 리포지토리를 통해 최적화된 초 단위 데이터 저장기능이 이를 가능하도록 하였다. | + | * '''보고서''' : 성능 분석 보고서를 만들기 위해서는 전문적인 지식, 툴을 다루기 위한 학습을 해야 하는 등의 어려움이 많았다. 특히, 기존의 보고서는 에스큐엘을 사용해야 하거나, 드래그앤드롭의 어려운 UX 때문에 사용하기 어려웠다. 제니퍼의 보고서 기능은 텍스트 에디터 방식으로 평소에 사용하는 가종 에디팅 툴과 동일한 방식으로 쉽게 보고서를 작성할 수 있다. 그리고, 제니퍼를 사용하는 사용자라면 전문 지식 없이도 누구나 쉽게 클릭만으로 설정해서 원하는 보고서 차트를 추가할 수 있다. |
− | * '''보고서''' | ||
− | : 성능 분석 보고서를 만들기 위해서는 전문적인 지식, 툴을 다루기 위한 학습을 해야 하는 등의 어려움이 많았다. 특히, 기존의 보고서는 에스큐엘을 사용해야 하거나, 드래그앤드롭의 어려운 UX 때문에 사용하기 어려웠다. 제니퍼의 보고서 기능은 텍스트 에디터 방식으로 평소에 사용하는 가종 에디팅 툴과 동일한 방식으로 쉽게 보고서를 작성할 수 있다. 그리고, 제니퍼를 사용하는 사용자라면 전문 지식 없이도 누구나 쉽게 클릭만으로 설정해서 원하는 보고서 차트를 추가할 수 있다. | ||
=== 제니퍼 for CLOUD === | === 제니퍼 for CLOUD === | ||
− | * '''클라우드 환경에서 검증된 레퍼런스''' | + | * '''클라우드 환경에서 검증된 레퍼런스''' : 클라우드 환경에서 제니퍼를 사용하는 수많은 레퍼런스를 가지고 있고, 최대의 트래픽과 규모를 자랑하는 고객 환경에서도 안정적으로 모니터링할 수 있다. 고객이 순간적으로 몰리는 피크 상황에서 실시간으로 확장하여 빠른 대응이 가능하다. |
− | : 클라우드 환경에서 제니퍼를 사용하는 수많은 레퍼런스를 가지고 있고, 최대의 트래픽과 규모를 자랑하는 고객 환경에서도 안정적으로 모니터링할 수 있다. 고객이 순간적으로 몰리는 피크 상황에서 실시간으로 확장하여 빠른 대응이 가능하다. | + | * '''서버의 대용량 처리 및 데이터 저장''' : 제니퍼 리포지토리는 유연한 확장성을 가진 아키텍처로 설계되어 있다. 이를 통해 사용자는 대용량 성능 데이터를 저장하고 빠르게 비교분석할 수 있으며, 늘어나는 시스템에 대한 추가 비용을 절감할 수 있다. |
− | * '''서버의 대용량 처리 및 데이터 저장''' | + | * '''업무 관점의 통합 모니터링''' : 스케일 인/아웃이 빈번하게 일어나는 클라우드 환경에서는 기존의 개별 인스턴스 단위의 모니터링보다 전체 업무 단위 관점의 모니터링이 더 효과적이다. 인스턴스는 성능의 관점보다 현재 운영되는 개수의 변화를 실시간으로 모니터링하여 스케일 인/아웃이 어떻게 일어나고 있는지를 보는 것으로 충분하다. 제니퍼의 멀티 도메인 대시보드를 통해 이를 한눈에 모니터링할 수 있다. |
− | : 제니퍼 리포지토리는 유연한 확장성을 가진 아키텍처로 설계되어 있다. 이를 통해 사용자는 대용량 성능 데이터를 저장하고 빠르게 비교분석할 수 있으며, 늘어나는 시스템에 대한 추가 비용을 절감할 수 있다. | + | |
− | * '''업무 관점의 통합 모니터링''' | ||
− | : 스케일 인/아웃이 빈번하게 일어나는 클라우드 환경에서는 기존의 개별 인스턴스 단위의 모니터링보다 전체 업무 단위 관점의 모니터링이 더 효과적이다. 인스턴스는 성능의 관점보다 현재 운영되는 개수의 변화를 실시간으로 모니터링하여 스케일 인/아웃이 어떻게 일어나고 있는지를 보는 것으로 충분하다. 제니퍼의 멀티 도메인 대시보드를 통해 이를 한눈에 모니터링할 수 있다. | ||
== 지원 플랫폼 == | == 지원 플랫폼 == | ||
* '''자바''' : 제니퍼는 현재 시스템에서 일어나는 모든 상황을 한ㄴ눈에 모니터링하고, 문제 발생 시 쉽게 원인을 분석할 수 있도록 설계되었다. 개발부터 테스트, 오픈, 운영, 안정화의 전 단계에 걸쳐 성능을 모니터링하고 분석할 수 있으며, 운영 중인 자바 시스템을 최소한의 부하로 실시간 모니터링할 수 있다. | * '''자바''' : 제니퍼는 현재 시스템에서 일어나는 모든 상황을 한ㄴ눈에 모니터링하고, 문제 발생 시 쉽게 원인을 분석할 수 있도록 설계되었다. 개발부터 테스트, 오픈, 운영, 안정화의 전 단계에 걸쳐 성능을 모니터링하고 분석할 수 있으며, 운영 중인 자바 시스템을 최소한의 부하로 실시간 모니터링할 수 있다. |
2020년 9월 16일 (수) 14:37 판
제니퍼(JENNIFER)는 ㈜제니퍼소프트(이원영 대표)가 개발한 웹 애플리케이션 시스템 모니터링을 위한 APM 솔루션이다.
목차
개요
제니퍼는 웹 애플리케이션(자바 EE, 닷넷, PHP) 시스템 모니터링을 위한 APM(Application Performance Monitoring) 솔루션이다. 제니퍼는 경량화(Light-Weight), 실시간(Real-Time), 그리고 개별 트랜잭션 모니터링(Individual Transaction Monitoring) 등 기술기반의 '직관적인 통합 성능관리 솔루션'으로 이미 국내외 1200여 개 고객사를 통해 검증된 바 있다. 또한, 시대의 요구 사항인 모바일, 클라우드, 그리고 빅데이터 시장의 온전한 모니터링 체계를 위하여, 웹 서비스 사용자 모니터링(Web Service Real-User Monitoring), 웹 서비스 중심의 토폴로지 뷰(Web Service Topology View), 클라우드(대규모 시스템) 환경을 고려한 아키텍처, HTML5 기반의 N스크린(N-Screen)까지도 지원하는 APM 제품이다.
특징
제니퍼소프트는 다른 소프트웨어 기업과 다른 몇 가지 특징을 갖고 있다. 대표적으로 제품이 오직 APM 하나만 있다는 점과 스스로 영업을 하지 않고 100% 파트너를 통해 활동한다는 점을 꼽을 수 있다. 제니퍼소프트는 APM 중에서도 '성능 모니터링'이라는 분야에만 집중한다. 자칫 이 제품이 실패할 경우 회사의 존립 자체가 어려울 수도 있는 위험한 전략이지만, 창립 이래 이를 고집하고 있다. 데이터베이스 모니터링이나 데이터베이스와 애플리케이션을 통합 모니터링하는 방안을 검토한 적이 있는데, 결론적으로 그것은 시스템동합(SI)을 동반할 수 밖에 없고 당사의 역량이 아니라고 판단하였고 애플리케이션 모니터링 연구 개발에만 집중하고, 이것을 가지고 글로벌로 나가는 것이 목표라고 밝혔다.
기능
실시간 모니터링
- 웹 서비스 중심 토폴로지 뷰 : 제니퍼 토폴로지 뷰는 기업의 웹 서비스를 중심으로 연결된 서비스에 대한 가시성을 확보하는 것이 핵심 기능이다. WAS를 중심으로 연결된 서비스(데이터베이스, 외부 연계 서비스, HTTP 등) 사이에 발생하는 트랜잭션, 즉, 구간에서 처리되는 트랜잭션까지 실시간으로 모니터링할 수 있다.
- 웹 서비스 사용자 응답시간 모니터링(RUM) : 클라이언트 구현 기술의 발전과 모바일 기기의 대중화로 인해 기업의 서비스는 복잡해졌다. 사용자는 모바일을 통해 언제, 어디서든 기업의 서비스를 이용할 수 있게 되었고, APM은 이제 서버사이드 영역의 모니터링뿐만 아니라, 실제 사용자의 만족도를 높일 수 있는 사용자 중심의 성능 모니터링 기능을 요구하고 있다. 이러한 변화에 따라 제니퍼는 프론트엔드 영역의 모니터링을 위한 실제 사용자 모니터링, Real User Monitoring을 지원한다. 이 기능은 웹 표준 조직 기구인 W3G의 Timing Navigation API를 사용하여 별도의 모듈 설치 없이 브라우저에서부터 서버사이드까지 전 영역에 대한 응답시간 측정이 가능하며, 서버와 네트워크로 이어지는 애플리케이션 수행 경로를 시각적으로 표시하여 애플리케이션 성능에 대한 깊이 있는 분석이 가능하다.
- 실시간 커넥션 풀 모니터링 : 실시간 커넥션 풀 모니터링은 인스턴스별 커넥션 풀을 실시간으로 모니터링하는 기능이다. 이 기능은 액티브 서비스 차트와 함께 모니터링하며 액티브 서비스 점유가 주로 데이터베이스 커넥션에 있을 경우 커넥션 풀 설정을 조정할 수 있어 서비스 성능을 개선할 수 있다. 다른 측면에서 데이터베이스 커넥션을 특정 애플리케이션에서 많이 사용할 경우 현재 커넥션을 사용하고 있는 액티브 서비스를 찾아내어 원인을 분석할 수 있다.
- 실시간 애플리케이션 변경 이력 모니터링 : 기업에서 운영하는 서비스는 수많은 고객의 요구사항을 반영하고 서비스 개선을 위해 하루에도 여러 번 애플리케이션을 변경한다. 모니터링 관점에서 애플리케이션 변경 시점은 곧 서비스 장애가 일어날 가능성이 가장 많은 시점이다. 그렇기에 모니터링이 가장 필요한 시점이기도 하다. 애플리케이션 변경 감지 기능은 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있는 장점이 있다.
- 실시간 액티브 서비스 모니터링 : 제니퍼는 액티브 서비스 모니터링을 통해 모든 트랜잭션이 웹 애플리케이션 서버에 들어오는 순간부터 처리되기까지 전 과정을 실시간으로 모니터링한다. 이 직관적인 그래프는, 트랜잭션 처리 지연이나, 사용자 응답지연 및 어느 에스큐엘 쿼리가 현 시점에서 수행되고 있는지와 같은 트랜잭션 수행상태에 대한 정보를 실시간으로 보여준다.
- 실시간 엑스 뷰 : 종료된 트랜잭션은 실시간으로 엑스 뷰를 통해 분석이 가능하다. 엑스 뷰는 종료된 모든 트랜잭션의 응답 시간을 개별 점 그래프로 표현한 차트이다. 사용자는 엑스 뷰를 통해 트랜잭션의 응답시간 분포뿐 아니라 다양한 분포 패턴을 감지하여 장애 상황의 원인을 빠르게 분석하고 대응할 수 있다.
- 애플리케이션 변경 감지 : 제니퍼는 애플리케이션 변경 감지 기능을 통해, 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있다. 이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있다.
개별 트랜잭션 분석
- 스마트 프로파일링 : 제니퍼의 개별 트랜잭션의 응답시간을 활용한 엑스 뷰 기반의 분석은 이미 수많은 고객사에서 검증된 트랜잭션 모니터링 기법이다. 하지만, 프로파일링 분석은 개발자 혹은 성능 튜닝의 전문가가 아니면 어려움을 겪는 것이 사실이었다. 이에 제니퍼는 누구나 쉽게 프로파일링 데이터를 분석할 수 있는 스마트 프로파일링 기능을 제공한다. 이 기능을 통해 사용자는 메소드, 에스큐엘, 외부 서비스 중 응답시간이 느린 구간을 선택하여 해당 시점의 프로파일을 쉽고 빠르게 분석할 수 있다.
- 자동 스택트레이스 : 제니퍼를 포함한 대부분의 APM은 트랜잭션이 느린 원인을 분석하기 위해 메소드 프로파일링 기능을 제공한다. 하지만 메소드 프로파일링 기능은 잘못된 설정으로 성능에 영향을 주거나 실제 느린 메소드를 찾지 못할 경우가 많다. 또한, 로직을 잘 알아야 하므로 성능 전문가가 아닌 이상 사용이 매우 어려운 단점이 있다. 제니퍼는 이런 제약사항을 없애기 위해 자동 스택트레이스 기능을 제공한다. 이 기능은 성능 전문가가 아니더라도 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스택트레이스를 남겨 원인을 쉽고 빠르게 분석할 수 있다.
- 애플리케이션 연계 분석 : 애플리케이션 연계 분석은 검색한 엑스뷰의 개별 트랜잭션을 기반으로 애플리케이션 단위 호출건수, 평균 응답 시간, 최대 응답 시간, 평균 에스큐엘 시간, 평균 씨피유 시간을 함께 분석할 수 있는 기능이다. 또한, 이러한 성능 수치들이 높은 애플리케이션의 개별 트랜잭션을 분석하여 성능에 영향을 끼치는 애플리케이션을 튜닝할 수 있다.
- 연계 트랜잭션 분석 : 제니퍼는 하나의 요청으로부터 시작된 다수의 트랜잭션 간의 상관 관계를 모니터링하거나 분석할 수 있다. 하나의 서버에서 처리된 서로 다른 업무 트랜잭션들을 연계할 수 있으며, 다른 서버에서 발생된 트랜잭션을 연계할 수 있따. 프로토콜 후킹 방식(HTTP, RMI)과 GUID를 활용한 연계 방식을 지원한다.
분석과 보고서
- 초 단위 성능 모니터링 및 사후 분석 : 제니퍼는 대시보드와 과거 데이터 모두를 동일하게 초 단위로 분석할 수 있다. 실제 모니터링하면서 발생했던 상황의 표본을 샘플링하지 않고 초 단위로 분석할 수 있으므로, 모니터링 시점 그대로를 분석할 수 있다. 제니퍼의 원천기술인 제니퍼 리포지토리를 통해 최적화된 초 단위 데이터 저장기능이 이를 가능하도록 하였다.
- 보고서 : 성능 분석 보고서를 만들기 위해서는 전문적인 지식, 툴을 다루기 위한 학습을 해야 하는 등의 어려움이 많았다. 특히, 기존의 보고서는 에스큐엘을 사용해야 하거나, 드래그앤드롭의 어려운 UX 때문에 사용하기 어려웠다. 제니퍼의 보고서 기능은 텍스트 에디터 방식으로 평소에 사용하는 가종 에디팅 툴과 동일한 방식으로 쉽게 보고서를 작성할 수 있다. 그리고, 제니퍼를 사용하는 사용자라면 전문 지식 없이도 누구나 쉽게 클릭만으로 설정해서 원하는 보고서 차트를 추가할 수 있다.
제니퍼 for CLOUD
- 클라우드 환경에서 검증된 레퍼런스 : 클라우드 환경에서 제니퍼를 사용하는 수많은 레퍼런스를 가지고 있고, 최대의 트래픽과 규모를 자랑하는 고객 환경에서도 안정적으로 모니터링할 수 있다. 고객이 순간적으로 몰리는 피크 상황에서 실시간으로 확장하여 빠른 대응이 가능하다.
- 서버의 대용량 처리 및 데이터 저장 : 제니퍼 리포지토리는 유연한 확장성을 가진 아키텍처로 설계되어 있다. 이를 통해 사용자는 대용량 성능 데이터를 저장하고 빠르게 비교분석할 수 있으며, 늘어나는 시스템에 대한 추가 비용을 절감할 수 있다.
- 업무 관점의 통합 모니터링 : 스케일 인/아웃이 빈번하게 일어나는 클라우드 환경에서는 기존의 개별 인스턴스 단위의 모니터링보다 전체 업무 단위 관점의 모니터링이 더 효과적이다. 인스턴스는 성능의 관점보다 현재 운영되는 개수의 변화를 실시간으로 모니터링하여 스케일 인/아웃이 어떻게 일어나고 있는지를 보는 것으로 충분하다. 제니퍼의 멀티 도메인 대시보드를 통해 이를 한눈에 모니터링할 수 있다.
지원 플랫폼
- 자바 : 제니퍼는 현재 시스템에서 일어나는 모든 상황을 한ㄴ눈에 모니터링하고, 문제 발생 시 쉽게 원인을 분석할 수 있도록 설계되었다. 개발부터 테스트, 오픈, 운영, 안정화의 전 단계에 걸쳐 성능을 모니터링하고 분석할 수 있으며, 운영 중인 자바 시스템을 최소한의 부하로 실시간 모니터링할 수 있다.
- 닷넷 : 제니퍼 모든 트랜잭션과 인프라 전반에 대한 정확하고 심층적인 상세 정보를 통해 운영 중인 시스템을 최소한의 부하로 상시 모니터링할 수 있다. 특히 데이터베이스와의 상호 연동에 따른 성능 이슈를 적시에 감지하여 한 번의 클릭으로 코드 라인까지 근본 원인을 파악하며 해결할 수 있는 효과적인 프로세스를 제공한다. 제니퍼 for 닷넷은 마이크로소프트의 닷넷 프레임워크 2.0 기반의 응용 프로그램을 운영 중에 최소한의 부하로 실시간 모니터링을 할 수 있다. 응용 프로그램의 프로파일 데이터를 다양한 관점에서 분석한 대시보드를 HTML5 뷰로 제공하며, 이를 통해 사용자는 운영 시스템에 동장 죽인 응용 프로그램의 즉시적 성능 장애 진단 및 장애 대응이 가능하다.
- PHP : PHP는 현재 가장 많이 사용되는 웹 서버 스크립트 언어이다. 하지만 서비스 운영 중에 PHP 서비스 환경을 모니터링하고 장애 진단을 할 수 있는 도구는 찾기가 어려웠는데, 제니퍼 PHP는 운영 중인 PHP 웹 환경의 성능을 직관적으로 모니터링 할 수 있을 뿐 아니라 정애 원인을 분석하고 해결할 수 있는 프로세스를 제공한다. 트랜잭션이 어디서 처리되지 못하고 대기하고 있는지, 어떤 사용자가 현재 응답지연을 경험하고 있는지, 어느 에스큐엘 쿼리가 현 시점에서 수행되고 있는지와 같은 트랜잭션 수행 상태에 대한 정보를 실시간으로 보여준다.
각주
참고자료
같이 보기
이 문서는 로고가 필요합니다.