주요 트랜잭션은 엔지니어링 팀이 가장 의미 있는 트랜잭션에 대한 사용자 지정 수준 모니터링을 만드는 방법입니다. New Relic APM 모니터링 도구는 모든 트랜잭션에 대한 보고를 통해 사용자에게 영향을 미치기 전에 문제를 신속하게 감지하고 해결할 수 있도록 도와줍니다. 그러나 때로는 디지털 비즈니스를 운영하는 데 필수적인 정보가 트래픽이 가장 많이 발생하지 않는 경우가 있습니다. 여기에서 전체 애플리케이션 처리량에 관계없이 주요 트랜잭션을 모니터링하고 관리하려는 필수 트랜잭션을 추적할 수 있습니다.
실제 주요 거래
고객이 전화를 구매하기 위해 전자 상거래 애플리케이션에 로그인하는 시나리오에 대해 생각해 봅시다. 고객이 요금제 페이지를 로드하고 서비스를 탐색하려고 할 때 응답 속도가 느려집니다. 이로 인해 고객은 사이트를 떠나 구매를 포기하게 됩니다. PlanService 마이크로서비스 팀은 더 많은 고객을 잃지 않도록 이러한 속도 저하의 근본 원인을 신속하게 파악하고 수정해야 합니다.
귀하의 팀은 PlanService 의 가장 중요한 비즈니스 거래인 getPlans (계획 페이지를 로드함)를 식별하는 것으로 시작합니다. 그런 다음 getPlans 주요 거래로 만들고 관련 태그를 적용하고 더 큰 엔티티 생태계 의 맥락에서 분석해야 합니다.
APM 문서에서 트랜잭션 및 프레임워크가 트랜잭션을 지원하는지에 대해 자세히 알아볼 수 있습니다.
New Relic은 삭제된 키 트랜잭션과 관련된 모든 경고 및 이벤트를 자동으로 삭제합니다.
주요 거래에 태그 지정
APM에서는 주요 트랜잭션 에 tag 를 추가하여 팀, 환경 또는 우선순위 수준을 빠르게 결정할 수 있도록 주요 트랜잭션을 구성하고 필터링할 수 있습니다. 이러한 태그는 또한 공지 공지를 받을 때 문제를 격리할 수 있도록 컨텍스트를 제공합니다.
태그는 트랜잭션과 관련된 메타데이터입니다. 공통점이 있는 트랜잭션에 적용하는 데 유용합니다. 예를 들어, 결제 프로세스의 일부인 모든 주요 트랜잭션에 checkout 태그를 적용할 수 있습니다. 그런 다음 checkout 로 필터링하여 이러한 모든 거래를 한 곳에서 볼 수 있습니다.
이 시나리오에서 PlanService 마이크로서비스 팀은 결제 시 속도 저하를 식별하려고 노력하고 있으며 문제를 식별하고 빠른 솔루션을 찾을 수 있도록 environment 또는 accountid 로 쉽게 필터링하기를 원할 수 있습니다.
필드를 클릭하면 사용 가능한 속성 및 태그의 다운 드롭 메뉴가 표시되거나 필터링하려는 태그(예: accountId: 123456789)를 입력할 수 있습니다.
주요 거래 그룹화 및 알림 생성
주요 트랜잭션을 생성한 후 이를 당사의 도구 및 워크로드에 연결하여 가시성을 높일 수 있습니다.
New Relic에서는 워크로드를 사용하여 특정 비즈니스 서비스를 구성하는 엔터티를 함께 그룹화할 수 있습니다. 이 그룹화를 통해 문제를 더 쉽게 격리하고 해결할 수 있습니다. 관련 서비스 및 호스트와 함께 워크로드에 주요 트랜잭션을 추가하여 스택을 구성하는 엔터티의 상태 및 활동에 대한 집계 보기를 얻을 수 있습니다.
이 예시 스크린샷은 다른 모든 관련 항목과 함께 getPlans 키 트랜잭션의 포괄적인 워크로드 보기를 보여줍니다.
이제 주요 트랜잭션이 워크로드의 일부이고 태그가 지정되었으므로 다음 단계는 트랜잭션에 비정상적인 동작이 있을 때 알림을 받을 수 있도록 경고를 만드는 것입니다. 강력하고 유연한 NRQL 경고 시스템을 사용하여 주요 트랜잭션에 대한 정적 경고 및 이상 경고를모두 설정할 수 있으며 이제 주요 트랜잭션을 대시보드에 추가할 수도 있습니다. 경고를 설정하거나 주요 트랜잭션을 대시보드에 추가하려는 경우 줄임표를 클릭하여 주요 트랜잭션 차트에서 직접 수행할 수 있습니다.
경고 임계값 외에도 애플리케이션 사용자의 관점에서 성능을 측정할 수도 있습니다. 이렇게 하려면 비즈니스 키 트랜잭션에 대해 서비스 수준을 설정합니다.
컨텍스트에서 주요 트랜잭션 사용
주요 트랜잭션을 생성하고, 태그를 추가하고, 워크로드를 생성하고, 경고를 설정한 후에는 모니터링하는 다른 엔터티와 컨텍스트에서 데이터 분석을 시작할 수 있습니다. 더 넓은 시스템 내에서 그 역할을 이해하면 가동 시간과 안정성을 개선하기 위한 추가 조치를 취할 수 있습니다.
모든 주요 트랜잭션의 편차를 신속하게 분석하려면 New Relic Lookout으로 시작할 수 있습니다. 이것은 모든 원격 측정의 변경 사항을 강조 표시하여 모든 계정에서 거래에 대한 실시간 보기를 제공합니다. 이 예에서 getPlans 트랜잭션이 응답 시간의 증가를 나타내는 것을 볼 수 있습니다.
getPlans 트랜잭션 성능 저하의 전체 영향을 이해하려면 서비스 맵을사용할 수 있습니다. 원래 서비스, 호스트, 데이터베이스 및 기타 주요 트랜잭션과 같은 연결된 다른 모든 엔터티의 상태를 시각화할 수 있습니다.
코드 배포, 구성 변경 및 비즈니스 이벤트와 같은 변경 이벤트의 영향을 추적하려면 주요 트랜잭션 차트에서 변경 추적 마커를 사용할 수 있습니다. 이렇게 하면 추적에서 더 자세히 드릴다운하여 문제를 일으키는 변경 사항을 해결할 수 있습니다.
이 스크린샷에서 데이터베이스 쿼리 최적화를 위한 배포 직후 getPlans 트랜잭션 시간의 급증을 볼 수 있습니다. 이렇게 하면 문제를 배포로 역추적하는 데 도움이 됩니다. 이 예에서 변경 사항을 되돌리면 거래 시간이 정상으로 돌아가고 계획 페이지가 빠르게 로드되기 시작했습니다.