필자가 처음 IT업무를 시작했던 90년대 초반에는 C/S 환경의 전산운영이 주를 이루었다. 소위 말하는 메인프레임 급의 장비에 DBMS와 운영 애플리케이션 등이 함께 올라가 있는 구조이다. 단순한 구조만큼이나 관리 또한 단순했다 할 수 있겠다.
이때만 해도 APM(Application Performance Management)이란 단어는 들어보지도 못했던 시절이었다. 그러나 지금은 IT의 발전과 더불어 서버들 간의 역할분담에 따른 각종 애플리케이션들이 서로 다른 서버에 올라가게 되고, 이러한 애플리케이션에 대한 관리 또한 세분화되고 있음은 물론이다. 이처럼 세분화 되고 있는 각종 애플리케이션들을 관리하기 위한 툴(APM)들이 등장하게 되고, 이러한 툴들은 IT업계에서의 SLA(Service Level Agreement)와 SLM(Service Level Management)과 같은 IT관리 서비스 수준을 가늠케 하는 주요 인프라로 자리잡고 있다.
한마디로 APM 툴이란 NMS나 SMS와 같은 시스템 관리와는 달리 애플리케이션 관점의 성능관리로서 실시간으로 애플리케이션의 성능을 모니터링하고 응답시간을 측정하여 성능저하 원인을 규명하고, 서비스가 일정 수준 이상으로 유지되도록 관리하여 최상의 애플리케이션 성능과 가용성을 확보할 수 있도록 도와주는 툴이라 하겠다.
Elevisor의 특징
APM 초기 단계에서는(여전히 그런 경향이 있지만) 대부분 특정 애플리케이션에만 국한된 APM들이 개발되어 유기적으로 움직이는 전산운영환경을 따라가지 못했다. 대표적인 것이 DBMS와 WAS는 더 이상 분리되어 생각할 수 없음에도 불구하고 여전히 관련 APM들이 통합되고 있지 못하다는 것이다. 그도 그럴 것이 특정 애플리케이션 개발업체에서 자사에 특화된 APM 툴만을 내놓고 있기 때문일 것이다.
DBMS와 WAS를 연계한 솔루션은 어떠한가? 적어도 이 둘만은 같이 가야 하지 않을까? 여기 DBMS와 WAS를 연계 분석할 수 있는 Elevisor 제품군이 있다.
◆ Elevisor For Oracle
Elevisor For Oracle은 여러 개의 Oracle Instance가 최적화된 상태에서 운영될 수 있도록 도와주는 툴로써, 크게 실시간 대쉬보드(Real-time Dashboard), 즉시 모니터링(Instant Monitoring) 및 이력분석(History Analysis)이 가능하도록 구성되었으며 부수적으로 유틸리티 부분과 Database 자가진단 부분으로 구성되어 있다.
◆ Elevisor For J2EE
Elevisor For J2EE는 J2EE 환경에서 운영되는 애플리케이션에 대한 성능관리 툴로서 모든 트랜잭션에 각종 성능 정보를 실시간으로 수집하여 실시간 모니터링 기능을 제공하며, 수집된 정보는 모두 Repository에 저장되어 사후 분석이 가능하다.
Elevisor는 영문 Elevation과 Advisor에서 따온 말로 애플리케이션의 성능을 최적화할 수 있도록 도와준다는 의미로, APM 툴이 갖추었으면 하는 다음과 같은 사항들을 개선하기 위해 고민하여 만들어진 툴이다.
① 모니터링 대상 시스템에 부하를 최소화 하는 방안
② 클라이언트 S/W를 설치 하지 않는 WEB 환경의 구현
③ 수집된 데이터의 빠른 적재와 다양한 보고서 작성 기능
이를 위하여 Elevisor은 Java의 Multi Threads 기법과 SQL Caching 기법 및 Dynamic Pool 생성 등의 기술이 적용되었으며, Oracle Database를 Repository로 하는 AJAX 기반의 Web2.0 애플리케이션으로 구현되었다.
다음은 Elevisor의 간략한 Architecture와 DB, WAS간의 연계 모니터링에 대한 도식도이다.
◆ DB-WAS 통합성능관리 체계 구축(Architecture)
Elevisor 제품군을 통하여 하나의 Elevisor IS(Integration Server) 서버에서 WAS-DB 통합 성능관리 체계를 구축할 수 있다<그림 1>.
■ 그림 1 DB-WAS 통합성능관리 체계 구축
◆ 실시간 DB-WAS 및 WAS-DB 연계 분석
운영상 서비스 지연과 같은 성능 Issue가 모니터링 될 때 DB단의 Session 리스트에 자동 감지된 Session정보의 “Appinfo”를 클릭하면 해당 SQL을 수행 중인 WAS 의 URL 및 Thread 정보와
■ 그림 2 실시간 DB-WAS 및 WAS-DB 연계 분석
Trace 정보를 동일 화면 안에서 실시간으로 확인함으로써 문제 원인에 대한 접근이 쉽게 이루어진다<그림 2>.
◆ 사후 WAS-DB, DB-WAS 연계 분석
과거 성능추이 분석 시 자체 Active Session History 정보 보기에서 “J2EE Trace Info” Tab을 클릭하면 WAS에서 수집된 Trace 정보와 1:1 Mapping되어 연계 분석이 가능하다<그림 3>.
WAS 연계 분석 정보
- SQL을 수행한 URL 상세 정보
- Trace 상세 정보
- SQL에 대한 상세 정보
■ 그림 3 사후 WAS-DB, DB-WAS 연계 분석
Elevisor 도입 효과
엔터프라이즈 IT 환경이 발전하면서 애플리케이션의 복잡도 증가 및 데이터량 증가로 인하여 주요 서비스에 대한 성능 이슈가 애플리케이션 단에서 발생하고 있어 그 어느 때보다 AP에 대한 성
능관리에 대한 중요성이 증가하고 있다.
기존 APM 툴들이 AP들에 따라 각기 독립적으로 운영되었다면, Elevisor는 DB 및 WAS에서 수행되는 애플리케이션에 대한 연계성과 실시간 관제 및 성능 데이터를 제공하여 최적의 APM 체계 를 구축하여 다음과 같은 효과를 얻을 수 있을 것이다.
① 모니터링 업무의 자동화 및 효율성 극대화(TCO 절감)
② 이벤트 관제 및 경보에 따른 사전 장애감지 및 제어(장애 예방)
③ 강력한 실시간 및 사후 분석에 따른 서비스 안정화(SLA 만족)