Tandav는 Mastery Medical Corp의 응용 프로그램 지원 전문가로, WebLogic에서 실행되어 Mastery Medical을 시장 주도 기업으로 자리매김하는 Master Physician 응용 프로그램을 심사해야 합니다. 즉, Master Physician 응용 프로그램의 작업 내용을 상세히 확인하고 Master Physician 응용 프로그램 트랜잭션과 연관된 메서드를 확인할 수 있어야 합니다. Tandav는 Introscope와 CA APM for SOA(CA Application Performance Management for SOA)를 사용하여 프로덕션 Master Physician 응용 프로그램을 모니터링하고 긴급한 프로덕션 조사를 수행합니다. 또한 프로덕션 전 Master Physician 테스트 응용 프로그램에서 곧 있을 구성 변경 사항을 빠르게 테스트해야 합니다.
Master Physician 응용 프로그램을 모니터링하는 동안 Tandav는 Investigator 응용 프로그램 심사 맵에 있는 Master Physician 응용 프로그램 아이콘으로 이동합니다. Master Physician 응용 프로그램이 WebLogic Medical Records 응용 프로그램에 알린 후 WebLogic Medical Records 응용 프로그램이 Physician Web Services 응용 프로그램과 데이터베이스에 알리고 있음을 보여 주는 화살표를 분명히 볼 수 있습니다. 또한 Tandav는 Master Physician 비즈니스 서비스가 있음을 인식합니다.
Medical Records 응용 프로그램이 느리므로 Tandav는 해당 응용 프로그램의 아이콘을 마우스 오른쪽 단추로 클릭하여 건전성 메트릭을 살펴보고 응용 프로그램 위치 목록에 있는 모든 에이전트에서 집계된 평균 응답 시간을 검토합니다. Tandav는 목록에 있는 에이전트 중 하나에 문제가 있을 수 있다고 판단하여 목록에서 해당 에이전트 이름을 두 번 클릭합니다. 그러자 Introscope에서 메트릭 브라우저 트리의 WebLogic 에이전트로 자동 이동하고 Medical Record 응용 프로그램 노드에 대한 데이터가 표시됩니다. Tandav는 뷰어 창에서 "추적" 탭을 클릭하고 이 에이전트에 대한 트랜잭션 추적이 없음을 확인합니다. 그런 다음 "Workstation" 메뉴로 이동하여 "새 트랜잭션 추적 세션"을 선택하고 모든 에이전트에서 모든 사항을 얻는 데 1초가 넘게 걸리는 트랜잭션을 추적하도록 매개 변수를 선택한 후 "확인"을 클릭합니다. 이제 Tandav는 Medical Records 응용 프로그램을 통과하는 트랜잭션을 추적하고 있습니다.
첫 번째 트랜잭션 추적 세션을 지켜보면서 Tandav는 Physician 비즈니스 트랜잭션이 많은 메서드와 클래스에 적중한 후 SOA 호출을 수행하는 크로스 프로세스 호출임을 인식합니다. Tandav는 이에 흥미를 느끼고 Invoke 메서드에 대한 자세한 내용을 얻기 위해 해당 호출을 보여 주는 "트랜잭션 추적" 밴드를 클릭합니다. "모든 호출된 메서드 보기" 메뉴가 표시되면 특정 메서드를 호출하는 특정 클래스를 볼 수 있습니다. Tandav는 메서드 목록을 아래로 스크롤하고 Invoke 메서드를 선택한 후 "계측 추가"를 클릭합니다. 그런 다음 동일한 단계를 사용하여 JVM 내의 Web Service Summary 클래스를 계측합니다.
새 비즈니스 트랜잭션이 JVM을 통과할 때 "트랜잭션 추적"을 열면 두 개의 새 동적으로 계측되는 클래스와 메서드에 대한 호출을 볼 수 있습니다. "트랜잭션 추적"의 Invoke 메서드와 Web Summary 클래스 밴드가 초록색이므로 이들을 보기가 매우 쉽습니다. 또한 밴드 왼쪽에 임시 계측 상태를 나타내는 새 아이콘이 있습니다. 즉, 계측이 Java Agent 메모리에 일시적으로 로드됩니다. Tandav는 "트랜잭션 추적" 창을 닫을 때 이 임시 동적 계측이 사라짐을 인식합니다.
아주 흥미를 느끼면서 Tandav는 새 동적 계측 기능을 추가로 탐색합니다. 임시 Invoke 메서드에 대한 "트랜잭션 추적" 밴드를 클릭하고 "Add Temporary Instrumentation to All (instrumentable) Called Methods"(임시 계측을 호출된 모든 (계측 가능) 메서드에 추가)를 선택합니다. 다른 비즈니스 트랜잭션이 통과할 때 Tandav는 새 메서드인 Invoke from a Web Server 스텁 개체 메서드를 하나 더 봅니다.
또한 Introscope를 통해 Tandav는 새로 계측된 클래스와 메서드를 영구 계측으로 손쉽게 저장할 수 있습니다. Tandav는 Invoke for a Web Server 스텁 개체 메서드에 대한 "트랜잭션 추적" 밴드를 클릭하고 "영구 계측으로 만들기"를 선택합니다. 이제 Physician 비즈니스 트랜잭션이 통과할 때 "트랜잭션 추적"에서 Tandav는 임시 동적 계측을 사용하는 것으로 여전히 발견되고 있는 클래스 및 메서드뿐 아니라 영구적으로 계측되는 개체도 볼 수 있습니다. Tandav는 "트랜잭션 추적"에 있는 Invoke for a Web Server 스텁 개체 메서드 밴드에 더 이상 임시 계측 상태 아이콘이 표시되지 않음을 인식합니다.
Tandav는 메트릭 브라우저 트리로 이동하고 "WebLogic 에이전트" 노드를 마우스 오른쪽 버튼으로 클릭한 후 "Change dynamic instrumentation level"(동적 계측 수준 변경)을 선택합니다. 이 기능을 사용하여 Tandav가 직접 만든 메서드와 클래스의 전체 그룹에 대해 동적 계측을 켜거나 끌 수 있습니다. CA Application Performance Management Java Agent 구현 안내서에서 읽은 내용을 바탕으로 Tandav는 특히 빠른 진단을 수행하기 위해 미리 정의된 그룹을 사용하도록 설정했다가 사용하지 않도록 설정하는 것이 유용하는 사실을 인식합니다.
프로덕션 전 환경에서 작업해온 Tandav는 나중에 최근 계측 변경 사항을 Mastery Medical 프로덕션 환경에 있는 다른 에이전트에 복사하여 최근 계측 변경 사항을 내보낼 준비를 완료하게 됩니다. Tandav는 메트릭 브라우저 트리로 이동하고 "WebLogic 에이전트" 노드를 마우스 오른쪽 버튼으로 클릭한 후 "Export All Instrumentation"(모든 계측 내보내기)를 선택하여 개별 메서드와 클래스를 내보낼 수도 있음을 인식합니다. Tandav가 "확인"을 클릭하면 Introscope가 에이전트에 특정 JVM에서 모니터링할 사항을 정확히 알려 주는 PBD(ProbeBuilder 지시문) 파일을 새로 생성합니다.
Tandav는 새 PBD를 자신의 데스크톱에 저장해 두었다가 PBD를 프로덕션에 투입하기 전에 파일을 열어서 변경 사항을 검토합니다. Tandav는 Introscope 동적 계측을 사용해 보니 모니터링되는 응용 프로그램을 한 번도 다시 시작할 필요가 없었다고 동료인 Jane에게 얘기합니다. 이제 Master Physician 응용 프로그램을 한층 더 빨리 심사할 수 있습니다.
|
Copyright © 2013 CA.
All rights reserved.
|
|