본문 바로가기

APM, 아티클

서비스 장애 언제 가장 많이 발생할까요? _제니퍼 기술 아티클

제니퍼가 애플리케이션의 변경을 자동으로 감지하는 목적은 무엇일까요?

안정화 이후 운영 중인 서비스에 장애나 성능 저하가 가장 많이 발생하는 경우는 언제일까요바로 새로운 버전의 코드가 적용되는 애플리케이션 변경 시점입니다이러한 이유로 제니퍼의 고객들은 애플리케이션을 배포하고 제니퍼의 실시간 대시보드를 통해 집중적으로 모니터링하곤 합니다하지만 점차 다양하고빠르게 변하는 고객의 요구사항을 반영하기 위해 하루에도 여러 번 애플리케이션이 변경되는 환경에서 이를 일일이 모니터링 하기 어려움이 있습니다. DevOps 환경은 이를 더욱 가속하고 있습니다. JENNIFER의 애플리케이션 변경 자동 감지 애플리케이션이 변경된 경우, JENNIFER의 실시간 X-View 차트에 이를 표시하여 변경 전후의 성능을 직관적으로 모니터링 할 수 있도록 합니다또한 변경 시점에 어떤 리소스가 변경되었는지 전후 비교를 통해 장애의 원인을 분석할 수 있습니다.



그럼, 애플리케이션 변경 자동 감지 기능을 어떻게 사용할까요?

애플리케이션 변경 자동 감지 기능을 사용하면 배포 전후 분석뿐 아니라 성능문제를 발생시키는 지점까지 정확히 파악할 수 있습니다. JENNIFER X-View는 실시간으로 모든 트랜잭션을 모니터링 할 수 있기 때문에애플리케이션 변경 시점을 표시하는 구분선을 통해 추가되는 새로운 코드가 문제가 되는지 아닌지 쉽게 알 수 있습니다. 

다음 이미지는 새 버전의 애플리케이션이 배포되고 난 후 성능 문제가 나타나기 직전 상황을 나타낸 그래프입니다실시간 X-View를 살펴보면 배포가 오후 2 17분경에 발생했음을 알 수 있으며하나의 WAR 파일이 변경되었음을 구분선 위에 표시된 1이란 숫자를 통해 보여줍니다.




새로운 코드가 배포되기 전에 X-View의 트랜잭션 분포는 정상이었으며평균 응답 시간은 약 6 초였습니다그러나 새로운 코드가 배포 된 후 평균 응답 시간이 약 25초로 늘어났으며 몇 가지 예외가 발생했음을 알 수 있습니다.

 

애플리케이션 변경 시점 분석

애플리케이션의 변경 시점을 분석하기 위해서는 애플리케이션 변경 시점을 표시하는 구분선의 숫자를 더블 클릭하면 해당 시점에 변경된 모든 리소스가 팝업 창에 표시됩니다이 창에는 배포 날짜 / 시간에이전트배포된 파일 이름 및 크기와 같은 배포에 대한 추가 세부 정보가 들어 있으며목록에서 파일을 선택하면 CLASS 타입의 리소스의 경우 변경된 소스코드를 볼 수 있습니다.





의 이미지에서는 inventory_manager.war가 시스템의 IHotel 인스턴스에 배포 된 것을 볼 수 있습니다. JENNIFER는 이 배포파일에 AppSetting InvUtil과 같이 새로운 JAVA 클래스와 수정된 자원인 InventoryManager 가 있음을 자동으로 감지할 수 있었으며이 정보를 바탕으로 X-View 트랜잭션 및 이벤트 데이터와 비교하여 문제의 근본 원인을 찾아낼 수 있었습니다대부분 오류가 InventoryManager 및 InvUtil에서 발생했음을 알 수 있습니다.

 

 

소스 코드(리소스) 히스토리

소스 코드(리소스히스토리 메뉴는 JENNIFER Analysis Perspective에 있으며사용자는 이를 사용하여 과거의 모든 변경 코드를 분석 할 수 있습니다이 기능을 통해 일별로 소스코드가 얼마나 변경이 되었는지 한눈에 볼 수 있고특정 날짜에 변경된 소스코드의 상세 내용까지 조회할 수 있습니다.





위의 메뉴 이미지를 보면, 2018 8 5일에 2회의 배포가 진행된 것을 확인할 수 있습니다.




실시간 X-View의 구분선을 클릭했을 때와 마찬가지로 소스 코드 히스토리 화면에서도 변경된 모든 자원과 소스 코드가 표시됩니다이 경우 제니퍼plugin-diff를 사용할 경우 추가로 소스 코드를 이전 배포와 비교하여 어떤 부분이 변경되었는지 좀 더 쉽게 분석할 수 있습니다.

 

결론

모니터링 관점에서 애플리케이션 변경 시점은 성능 저하나 장애가 가장 많이 일어나는 시점입니다제니퍼의 애플리케이션 변경 감지 기능을 통해변경 전후의 성능 변화를 실시간으로 모니터링하여개발자와 운영자 모두 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있는 경쟁력을 확보하시기 바랍니다.

 

해당 리포트와 관련하여 문의사항이 있으시면 아래 이메일 주소를 참조하여 주세요.

support.ko@jennifersoft.com