분산 추적을 사용하면 분산 시스템 전체에서 요청의 전체 여정을 볼 수 있습니다.Ruby 에이전트의 경우 두 가지 유형의 분산 추적을 제공합니다(자세한 내용은 스팬 샘플링 작동 방식 참조).
표준(헤드 기반): 트레이가 도착하기 전에 우리는 트레이의 일정 비율을 승인하고 분석할지 결정합니다. 이는 추적 기능이 어떻게 도움이 될 수 있는지 파악하는 데 있어 확실한 출발점을 제공합니다. 루비 에이전트 8.0.0 이상에서는 기본적으로 켜져 있습니다. 기본적으로 루비 에이전트는 분당 10트레이스를 샘플링하며 최대 범위 제한은 분당 1000개입니다.
Infinite Tracing(테일 기반): 당사의 클라우드 기반 서비스는 귀하의 모든 트레이스를 수용한 다음 이를 정렬하여 가장 중요한 트레이스를 찾습니다. Infinite Tracing은 모든 트레이스를 분석하고 사용자에게 가장 중요한 트레이스를 샘플링할 수 있는 설정 옵션을 제공합니다.
표준 분산 추적(헤드 기반 샘플링)을 시도하거나 무한 추적(테일 기반 샘플링)을 설정하려는 경우 표준 추적 설정부터 시작해야 합니다.
표준 분산 추적
이는 서비스에 대한 APM 에이전트를 아직 설치하지 않은 경우 표준 분산 추적을 설정하는 가장 좋은 방법입니다.
팁
모집단을 설치하면 기본적으로 표준복원 추적이 켜져 있습니다. 이 기능을 끄고 싶다면 설정 가이드를 참조하세요.
서비스 식별
계측하려는 서비스를 파악하여 각각 New Relic에 추적 데이터를 보내도록 합니다.
APM 에이전트를 사용하여 각 서비스를 조정합니다.
트랜잭션과 관련된 각 서비스에 대해 에이전트를 별도로 설치해야 합니다. 일부 서비스가 다른 언어를 사용하는 경우 해당 언어에 대한 설치 단계를 반복하면 됩니다.
설치 루틴을 시작하려면 아래 타일을 클릭하십시오. 각 에이전트 설치를 마치면 여기로 돌아와서 추적 보기에 대한 팁을 확인하십시오.
Start installation
뷰트레이스
APM 에이전트로 각 서비스를 계측한 후 일부 추적을 캡처할 수 있도록 애플리케이션에서 일부 트래픽을 생성합니다. 다음은 UI에서 추적을 보는 두 가지 방법입니다.
Infinite Tracing(테일 기반으로)을 사용하면 모든 데이터를 분석하고 가장 관련성이 높은 트레이스를 결정할 수 있습니다.
표준 분산 추적 설정 완료
Infinite Tracing 설정은 표준 분산 추적을 기반으로 합니다. 따라서 위의 단계를 완료했는지 확인한 다음 트레이스 관찰자 설정을 계속하세요.
추적 관찰자 설정
추적 관찰자는 모든 추적을 수집하고 분석하는 New Relic AWS 기반 서비스입니다. 추적 관찰자 설정 의 지침을 따릅니다. 완료되면 추적 관찰자 정보와 함께 여기로 돌아와 에이전트를 구성하는 다음 단계를 계속합니다.
무한 추적을 위한 에이전트 구성
무한 추적 구성 설정에는 표준 분산 추적과 추적 관찰자에 대한 정보가 포함됩니다.Infinite Tracing에는 서버 측 구성을 사용할 수 없습니다.
다음은 설정에 대한 개요입니다. 구성에 대한 추가 도움말은 Ruby 에이전트 구성 을 참조하십시오.
Infinite Tracing을 설정하려면 Infinite Tracing gem을 설치해야 합니다. 보석은 rubygems.org 에서 사용할 수 있습니다. Bundler를 사용하는 애플리케이션의 경우 Gemfile에 Infinite Tracing gem을 추가로 포함합니다.
gem 'newrelic-infinite_tracing'
Ruby on Rails 버전 3 이상을 사용하는 경우 Rails는 자동으로 Bundler.require 을 호출하고 애플리케이션 시작 중에 newrelic-infinite_tracing 이 필요하도록 합니다.Sinatra 또는 다른 프레임워크를 사용하는 경우 require 'newrelic/infinite_tracing' 를 호출하거나 Bundler.require 을 수동으로 호출해야 할 수 있습니다.
호출된 서비스의 New Relic 에이전트가 New Relic 트랜잭션을 식별하지 않는 경우 에이전트 API를 사용하여 트랜잭션을 선언합니다.Rack 기반 웹 프레임워크를 사용 중이고 New Relic의 Rack 계측을 활성화한 경우 Ruby 에이전트가 트랜잭션 시작을 처리합니다.다른 사용 사례는 add_transaction_tracer API 메서드 를 참조하세요.