엔지니어링 팀은 애플리케이션 성능 모니터링(APM) 툴을 사용해 신속하게 질문에 대한 답을 찾고 사용자에게 영향을 미치기 전에 문제를 감지 및 해결할 수 있습니다. 레거시 APM 솔루션은 보통 모든 트랜잭션의 전반적인 성능과 오류를 보고합니다. 그러나 모든 트랜잭션이 동일하지는 않습니다. 디지털 비즈니스 운영에 핵심적인 기능이지만 트래픽이 많이 발생하지 않는 경우도 종종 있습니다. 키 트랜잭션(Key transaction) 기능은 전체 애플리케이션 처리량에 관계없이 모니터링하고 관리하려는 가장 중요한 트랜잭션을 추적하는 데 도움이 됩니다.

키 트랜잭션을 이제 뉴렐릭 엔터티로 사용할 수 있습니다. 다른 모든 관련 엔터티의 맥락에서 비즈니스에 핵심적인 트랜잭션을 시각화하여 근본 원인을 신속하게 식별 및 격리하고 문제를 해결할 수 있다는 의미입니다. 의미 있는 문맥 없이 격리된 상태에서 데이터를 생성하고 메트릭을 모니터링하는 레거시 모니터링 솔루션과 달리, 뉴렐릭의 올인원 옵저버빌리티 접근 방식은 데이터를 생성하는 시스템의 모든 엔터티를 확인하고, 추적해야 하는 다른 모든 항목과 연관시킬 수 있도록 해줍니다. 이제 문제 해결 속도를 높이고 확신을 갖고 변경을 계획하며 성능을 최적화할 위치를 정확히 찾아내 고객 경험과 주요 비즈니스 결과를 향상할 수 있습니다.

이 게시물에서는 뉴렐릭에서 비즈니스에 중요한 키 트랜잭션을 설정, 모니터링 및 분석하는 단계를 설명합니다. 포함된 내용은 다음과 같습니다.

  • 업타임과 안정성에 영향을 미치는 문제를 신속하게 식별하고 대응하는 방법
  • 비즈니스에 영향을 미치는 변경 사항을 추적하고 알림을 제공하여 주요 서비스에 대한 엔지니어링 우수성을 보장하는 방법
  • 중요한 비즈니스 트랜잭션에 대한 서비스 수준을 정의하여 비즈니스 계약을 충족하고 고객을 만족시키는 방법

비즈니스에 핵심적인 트랜잭션의 모니터링 설정

고객이 휴대폰을 구매하기 위해 이커머스 앱에 로그인하는 시나리오를 생각해 보겠습니다. 고객은 어떤 서비스가 있는지 알아보기 위해 요금제 페이지를 열려고 하지만 페이지 로딩 속도가 너무 느립니다. 고객은 사이트를 떠나고 구매를 포기합니다. PlanService를 담당하는 마이크로서비스 팀은 이러한 속도 저하의 근본 원인을 파악하고 더 많은 고객을 잃지 않도록 신속하게 조치를 취해야 합니다.

팀은 먼저 PlanService의 가장 중요한 비즈니스 트랜잭션이자 요금제 페이지를 로딩하는 getPlans를 식별하는 것으로 시작합니다. 그런 다음 이 트랜잭션을 모니터링할 키 트랜잭션으로 설정합니다.

1. 키 트랜잭션 생성

getPlans을 키 트랜잭션으로 설정하려면, 트랜잭션 디테일 뷰에서 Make key transaction을 선택합니다. REST API를 사용하여 이 단계를 자동화하고 키 트랜잭션에 대한 추적을 시작 또는 중단할 수도 있습니다.

아래의 스크린샷은 getPlans 트랜잭션의 세부 정보와 Make key transaction 옵션을 보여줍니다.

Criticality Levels of Transactions

Criticality Level Description Criteria Examples
Level 1 (Highest) Transactions that are essential for the core operations of the organization. Failure would result in significant financial losses, legal non-compliance, severe damage to reputation, or endangerment of human life. Financial transactions in banking systems, healthcare record management, emergency response systems.
Level 2 Transactions critical for maintaining business continuity and fulfilling key operational requirements. Failure could lead to substantial financial impact, operational disruptions, regulatory penalties, or compromised service delivery. Order processing systems, inventory management, customer relationship management (CRM).
Level 3 Transactions important for supporting day-to-day operations and ensuring smooth functioning of business processes. Failure may result in moderate financial losses, operational inefficiencies, delays in service delivery, or decreased productivity. Employee payroll processing, email and communication systems, supply chain management.
Level 4 Transactions necessary for supporting non-critical functions or activities with minimal immediate impact on core operations. Failure would cause inconvenience, minor financial losses, or temporary disruptions, but would not severely affect core business operations. Employee expense reimbursements, non-urgent IT support tickets, internal collaboration platforms.
Level 5 (Lowest) Transactions with negligible impact on business operations if disrupted or delayed. Failure would have minimal financial impact, limited operational consequences, and could be easily managed or mitigated. Employee training registrations, non-essential system updates, personal file storage.

Business transaction monitoring

Another crucial aspect of business criticality is business transaction monitoring. It enables organizations to analyze transactional data to ensure processes are performing as expected and to identify any deviations, anomalies, or issues that may arise. Business transaction monitoring offers several benefits to organizations, including:

  1. Real-time visibility: Monitoring business transactions in real-time provides organizations with immediate insight into the performance and health of critical processes. 

  2. Early detection of anomalies: Transaction monitoring systems can detect unusual patterns or deviations from normal behavior, which may indicate potential fraud, security breaches, or operational errors. 

  3. Improved decision-making: Leaders can use transaction monitoring insights to optimize resource allocation, identify opportunities for process improvement, and make strategic decisions that drive business growth and competitiveness.

  4. Enhanced compliance: Many industries are subject to regulatory requirements and compliance standards related to data security, privacy, and financial transactions. Business transaction monitoring helps organizations ensure adherence to these regulations by providing audit trails, compliance reports, and alerts for suspicious activities.

  5. Optimized resource utilization: Transaction monitoring insights enable organizations to identify inefficiencies, streamline processes, and optimize resource utilization. 

  6. Customer satisfaction: Business transaction monitoring helps ensure smooth and reliable customer interactions by minimizing errors, delays, and service interruptions. This enhances customer satisfaction, loyalty, and retention, ultimately driving revenue growth and profitability.

Now, let’s look at how to monitor your business-critical transactions.

Set up your business critical transactions for monitoring 

Let’s think about a scenario where a customer logs in to an e-commerce application to purchase a phone. The customer experiences slow response when trying to load the plans page to browse the services being offered. This results in the customer leaving the site and abandoning the purchase. The PlanService microservice team needs to quickly identify the root cause of this slowdown and fix it to avoid losing more customers. 

The team starts by identifying PlanService’s most important business transaction: getPlans (which loads the plans page). Then they need to set it up as a key transaction for monitoring. 

1. Create a key transaction.

To make getPlans a key transaction, select Make key transaction in the transaction details view. You can also automate this step by using the REST API to both create and  stop tracking key transactions. 

This screenshot shows the details of the getPlans transaction and the option to Make key transaction.

생성된 키 트랜잭션은 뉴렐릭 엔터티 생태계의 일부가 되며, 엔터티 목록 뷰에서 getPlans 키 트랜잭션을 포함해 모든 트랜잭션을 확인할 수 있습니다.

또한 한 곳에서 모든 계정의 모든 키 트랜잭션을 볼 수 있습니다. 이 예시와 같이 All entities를 선택한 후, Key Transactions를 선택합니다.

이 뷰에서 필요에 따라 여러 계정 또는 하나의 계정이 표시되도록 필터링할 수 있습니다.

2. 키 트랜잭션에 태그 지정

키 트랜잭션을 구성하고 필터링하여 팀, 환경 또는 우선순위 수준을 신속하게 결정할 수 있도록 키 트랜잭션에 태그를 추가할 수 있습니다. 이러한 태그는 또한 알림을 받으면 문제를 격리할 수 있도록 필요한 문맥을 제공합니다.

이 예시 스크린샷에서는 getPlans 키 트랜잭션에 태그 4개가 연결되어 있음을 볼 수 있습니다. 환경 태그는 이 키 트랜잭션이 운영 환경의 엔터티라는 것을 보여줍니다. 이 태그는 특정 환경과 관련된 문제를 격리하고 필터링하는 데 유용합니다.

3. 키 트랜잭션을 워크로드 추가

워크로드를 사용하여 특정 비즈니스 서비스를 구성하는 엔터티들을 함께 그룹화할 수 있습니다. 이러한 그룹화는 문제를 더 쉽게 격리하고 해결할 수 있도록 합니다. 관련된 서비스 및 호스트와 함께 워크로드에 키 트랜잭션을 추가하면, 스택을 구성하는 엔터티의 상태와 활동에 대한 집계 뷰를 확보할 수 있습니다.

아래의 예시 스크린샷은 다른 모든 관련된 엔터티와 함께 getPlans 키 트랜잭션에 대한 포괄적인 워크로드 뷰를 보여줍니다.

4. 키 트랜잭션에 대한 알림 설정

키 트랜잭션이 워크로드의 일부로 포함되고 태그가 지정되었으면, 다음 단계는 트랜잭션에 비정상적인 동작이 있을 때 알림을 받을 수 있도록 알림을 설정하는 것입니다. 강력하고 유연한 NRQL 알림 시스템을 사용해 키 트랜잭션에 기준 알림이상 징후 알림 모두를 설정할 수 있으며, 키 트랜잭션을 대시보드에 추가할 수도 있습니다. 줄임표를 클릭하면 키 트랜잭션 차트에서 바로 알림을 설정하거나 키 트랜잭션을 대시보드에 추가할 수 있습니다.

키 트랜잭션 메트릭은 트랜잭션 메트릭의 다른 이름이므로, 추가적인 데이터가 사용되지 않습니다. 키 트랜잭션을 생성한 후에는 원래 트랜잭션을 완전히 보존할 수 있으며 추적을 중지하면 메트릭이 사라집니다. 키 트랜잭션은 간단하게 사용할 수 있고 추가 데이터가 필요하지 않기 때문에 청구에 영향을 미치지 않습니다.

5. 키 트랜잭션에 대한 서비스 수준 설정

알림 임계값 외에도 애플리케이션 사용자의 관점에서 성능을 측정할 수도 있습니다. 다음 예와 같이 비즈니스에 핵심적인 키 트랜잭션에 대해 서비스 수준을 설정하기만 하면 됩니다.

비즈니스에 핵심적인 트랜잭션의 문제 분석 및 해결

getPlans를 키 트랜잭션으로 생성하고 필요한 설정을 완료했으면, 다음 단계는 이를 모니터링하는 것입니다. 요금제 페이지 로딩 속도가 느려지거나 키 트랜잭션의 응답 시간이 정해진 수치를 벗어나면 알림이 표시됩니다.


1. 뉴렐릭 Lookout으로 모든 키 트랜잭션에서 편차를 신속하게 분석할 수 있습니다. 뉴렐릭 Lookout은 모든 텔레메트리의 변경 사항을 강조 표시하고 모든 계정의 트랜잭션에 대한 실시간 뷰를 제공합니다. 이 예시에서는 getPlans 트랜잭션의 응답 시간이 증가했음을 볼 수 있습니다.

2. Lookout 뷰에서 getPlans 키 트랜잭션를 선택하면 세부적인 분석 정보가 표시됩니다. 이 예시에서는 지난 5분 동안 응답 시간이 173% 급증한 것을 볼 수 있습니다.

3. getPlans 키 트랜잭션을 자세히 살펴보고 활동 스트림을 사용하여 시스템에서 변경된 사항을 파악할 수 있습니다. 스트림에는 트랜잭션에 영향을 미치는 알림 및 배포 같은 최근 이벤트가 포함됩니다.

4. 코드 배포, 구성 변경, 비즈니스 이벤트 등 변경 이벤트의 영향을 추적하려면, 키 트랜잭션 차트에서 변경 추적 마커(change tracking markers)를 사용할 수 있습니다. 이를 통해 트레이스에서 보다 세부적으로 분석하고 문제를 야기한 변경 사항을 해결할 수 있습니다.

다음의 예시 스크린샷에서는 데이터베이스 쿼리 최적화를 위한 배포 직후 getPlans 트랜잭션 시간이 급증한 것을 볼 수 있습니다. 이는 문제를 원인이 되는 배포로 역추적하는 데 도움이 됩니다. 이 예시에서는 변경 사항을 되돌리자 트랜잭션 시간이 정상으로 돌아가고 계획 페이지가 빠르게 로드되기 시작했습니다.

5. getPlans 트랜잭션의 성능 저하가 미치는 완전한 영향을 이해하기 위해 다음 스크린샷과 같이 서비스 맵을 사용할 수 있습니다. 기존 서비스, 호스트, 데이터베이스, 기타 키 트랜잭션 등 연결된 다른 모든 엔터티의 상태를 시각화할 수 있습니다.

getPlans 같은 트랜잭션을 키 트랜잭션으로 설정하면, 뉴렐릭 올인원 옵저버빌리티 플랫폼에서 제공하는 텔레메트리와 문맥을 사용할 수 있습니다. 이를 통해, 고객 경험과 비즈니스 결과에 영향을 미치는 비즈니스 크리티컬 트랜잭션의 성능 문제를 신속하게 해결하고 최적화할 수 있습니다.

키 트랜잭션에 대한 추가 정보 

뉴렐릭의 키 트랜잭션 기능은 더 많은 이점을 제공할 예정입니다. 앞으로 몇 달에 걸쳐 뉴렐릭은 비즈니스에 핵심적인 트랜잭션을 자동으로 감지하고, 분산 추적의 문맥으로 키 트랜잭션을 확인하며, 디버깅을 위해 더 많은 트레이스를 얻을 수 있도록 키 트랜잭션 기능을 발전시켜나갈 계획입니다. 여기에는 블랙 프라이데이 또는 홀리데이 쇼핑 같은 가장 큰 커머스 이벤트에 준비가 되었는지 파악하는 데 도움을 주는 확장성 보고서를 생성하는 것도 포함됩니다. 이 모든 것은 디지털 비즈니스를 운영하기 위한 단일 옵저버빌리티 플랫폼의 일부로 제공됩니다.

뉴렐릭의 키 트랜잭션을 사용하는 것과 관련해 의견이 있으시면, 뉴렐릭의 상단 메뉴에 있는 피드백 버튼을 클릭하여 소중한 의견을 공유해 주십시오.