• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

PHP 서비스에 대한 분산 추적

분산 추적을 사용하면 분산 시스템 전체에서 요청의 전체 여정을 볼 수 있습니다.PHP 에이전트는 여러 기본 PHP 기능과 일부 타사 HTTP 클라이언트를 분산 추적하여 자동으로 계측합니다.

PHP 에이전트의 경우 두 가지 유형의 분산 추적을 제공합니다(자세한 내용은 스팬 샘플링 작동 방식 참조).

  • 표준(헤드 기반 샘플링): 추적이 도착하기 전에 수락하고 분석할 추적 비율을 결정합니다.이를 통해 추적이 어떻게 도움이 되는지 확인할 수 있는 확실한 출발점이 됩니다.PHP 에이전트 9.21.0 이상에서는 기본적으로 켜져 있습니다.
  • 무한 추적(꼬리 기반 샘플링): 당사의 클라우드 기반 서비스는 모든 추적을 수용한 다음 가장 중요한 추적을 찾기 위해 정렬합니다.표준 추적을 설정한 후에는 모든 추적을 분석하고 가장 중요한 추적을 샘플링하는 구성 옵션을 제공하므로 이 옵션을 추가하는 것이 좋습니다.

분산 추적을 시작하는 데 필요한 모든 단계는 다음과 같습니다.

새로운 PHP 에이전트

표준 분산 추적(머리 기반 샘플링)을 시도하거나 무한 추적(꼬리 기반 샘플링)을 설정하려는 경우 표준 추적을 설정하여 시작해야 합니다.헤드 기반 샘플링을 진행하기 위해 APM 에이전트 설치 과정을 안내해 드립니다.그런 다음 선택 사항이지만 권장되는 무한 추적을 설정할 수 있습니다.

표준 분산 추적을 사용하려면 에이전트 설치

아직 서비스에 대한 APM 에이전트를 설치하지 않았거나 추가 서비스를 계측하려는 경우 표준 분산 추적 을 설정하는 가장 좋은 방법입니다.

이 APM 에이전트로 계측된 일부 서비스가 이미 있고 이를 분산 추적에 포함하려면 각 서비스에 대해 분산 추적을 수동으로 활성화해야 합니다.이전 PHP 에이전트에 대한 옵션을 참조하십시오.

분산 추적을 설정하려면 New Relic 계정이 필요합니다.아직 계정이 없다면 무료 계정을 빠르게 만들 수 있습니다 .

1단계. 서비스 식별

어떤 서비스가 요청에 영향을 미치는지 파악하여 각 서비스를 계측하여 New Relic에 추적 데이터를 보낼 수 있습니다.

2단계. APM 에이전트로 각 서비스 계측

트랜잭션과 관련된 각 서비스에 대해 에이전트 설치 루틴을 반복합니다.일부 서비스에서 다른 언어를 사용하는 경우 해당 언어에 대한 설치 단계 를 반복하기만 하면 됩니다.

설치 루틴을 시작하려면 아래 타일을 클릭하세요.각 에이전트 설치를 마치면 여기로 돌아와 추적 보기에 대한 팁을 확인하세요 .

Start installation

3단계. 추적 보기

APM 에이전트로 각 서비스를 계측한 후 일부 추적을 캡처할 수 있도록 애플리케이션에서 일부 트래픽을 생성합니다.다음은 UI에서 추적을 보는 몇 가지 방법입니다.

UI에서 추적을 찾는 데 도움이 더 필요하면:

무한 추적 설정(권장)

APM 에이전트용 표준 분산 추적( )은 추적의 최대 10%를 캡처하지만 당사가 모든 데이터를 분석하고 가장 관련성이 높은 추적을 찾기를 원하는 경우 무한 추적을 설정할 수 있습니다.

이 기능에 대한 자세한 내용은 무한 추적 을 참조하십시오.

시작하기 전에 먼저 요구 사항 을 충족하는지 확인하십시오.

1단계. 새 에이전트 설치 완료

무한 추적 설정은 표준 분산 추적을 위한 새 에이전트 설치 의 계측 단계를 기반으로 합니다.에이전트 설치를 완료한 후 추적 관찰자 설정을 계속하십시오.

2단계. 추적 관찰자 설정

추적 관찰자는 모든 추적을 수집하고 분석하는 New Relic AWS 기반 서비스입니다.추적 관찰자 설정 의 지침을 따릅니다.완료되면 추적 관찰자 정보와 함께 여기로 돌아와 에이전트를 구성하는 다음 단계를 계속합니다.

3단계: 무한 추적을 위한 에이전트 구성

무한 추적 구성 설정에는 표준 분산 추적과 추적 관찰자에 대한 정보가 포함됩니다.Infinite Tracing에는 서버 측 구성을 사용할 수 없습니다.

프록시 구성에 대한 도움이 필요한 경우 프록시 지원 을 참조하십시오.

4단계. (선택 사항) 무한 추적 사용자 지정

에이전트 구성 설정을 추가한 후 New Relic UI에서 데이터를 보기 시작해야 합니다. 데이터를 분석하는 데 시간을 보낸 후 Infinite Tracing의 일부 기능을 조정할 수 있습니다.

이전 PHP 에이전트를 위한 옵션

이전 PHP 에이전트가 있는 경우 활성화하기 전에 원하는 분산 추적 기능이 지원되는지 확인하십시오.

호환성 가이드

아래 호환성 정보를 검토한 후 이전 PHP 에이전트 구성을 참조하세요 .

이전 PHP 에이전트 구성

분산 추적을 사용하려면 아래 설정을 참조하세요.

분산 추적이 없는 이전 에이전트를 사용한 경우 분산 추적을 켜기 전에 APM에 미치는 영향을 확인하세요.

추적 세부 수준 설정

분산 추적 지원은 PHP 에이전트의 트랜잭션 추적 프로그램 에 따라 다릅니다. 분산 추적이 활성화 되면 트랜잭션 추적 프로그램에 표시되는 각 세그먼트에 대해 범위 가 생성됩니다.

범위가 샘플링 되면 PHP 에이전트는 외부 호출과 관련된 범위를 다른 범위보다 우선시한 다음 지속 시간의 내림차순으로 기록합니다.

PHP 함수 호출에 대해 보고되는 중요하지 않은 범위가 너무 많다면 newrelic.transaction_tracer.detail0 로 설정하여 트랜잭션 추적기의 세부 정보를 줄일 수 있습니다. 그런 다음 newrelic.transaction_tracer.custom 구성 설정 또는 newrelic_add_custom_tracer API 메소드를 사용하여 추적에 추가하려는 특정 PHP 함수 또는 메소드에 대한 추적 세그먼트 및 범위를 추가할 수 있습니다.

중요

PHP 에이전트 버전 8.4-8.7의 경우: 분산 추적이 활성화된 경우 이러한 버전은 newrelic.transaction_tracer.detail0 로 설정된 것처럼 작동하므로(위에서 설명한 대로) PHP 함수 호출이 스팬을 생성하지 않습니다. PHP 함수 호출과 관련된 스팬을 얻으려면 버전 9.0 이상으로 업데이트하십시오.

PHP 에이전트 API를 사용하여 수동으로 애플리케이션 및 서비스 계측

중요

W3C 추적 컨텍스트 지원이 버전 9.8에 추가되었습니다. 이에 따라 애플리케이션을 수동으로 계측하기 위한 API가 JSON 페이로드 관련 기능에서 변경되었습니다.

newrelic_create_distributed_trace_payload()
newrelic_accept_distributed_trace_payload($payload)

헤더 배열 형식:

newrelic_insert_distributed_trace_headers($outbound_headers)
newrelic_accept_distributed_trace_headers($inbound_headers)

JSON 함수는 이제 더 이상 사용되지 않는 것으로 간주되며 향후 릴리스에서 제거됩니다.

지원되지 않는 라이브러리를 사용하거나 비 HTTP 기반 분산 시스템 구성 요소(예: 메시징 대기열)가 있는 경우 PHP 에이전트 API를 사용하여 분산 추적에 포함될 트랜잭션을 수동으로 식별할 수 있습니다. 이것은 2단계 프로세스입니다.

  1. 분산 추적 데이터를 생성 하거나 삽입 하도록 서비스 또는 애플리케이션을 수정합니다.
  2. 다른 트랜잭션 또는 요청에 의해 생성된 분산 추적 데이터를 허용하도록 서비스 또는 애플리케이션을 수정합니다.

다음 예에서는 일반 메시지/작업 대기열을 사용합니다. 실제 세부 사항은 분산 추적에 추가하려는 시스템 종류에 따라 다르지만 핵심 개념은 동일합니다. 또한 작업 대기열을 예로 사용했지만 모든 분산 시스템 구성 요소에서 이러한 방법을 사용할 수 있습니다.

페이로드를 생성 하거나 헤더를 삽입 할 때 이 요청이나 트랜잭션 또는 요청이 분산 추적에 참여하기를 원한다고 New Relic에 알리는 것입니다. 수락 하면 현재 요청 또는 트랜잭션을 상위 요청 또는 트랜잭션과 연결하는 것입니다.

수동 계측을 사용하여 더 자세한 정보를 얻거나 서비스 간 연결을 확인하는 방법에 대한 자세한 내용은 분산 추적 API 에 대한 설명서를 참조하세요.

헤더 API

페이로드 API(더 이상 사용되지 않음)

명령줄 PHP 프로그램

PHP 명령줄에서 실행되는 PHP 프로그램은 항상 에이전트의 분산 추적 프로그램에서 샘플링됩니다. 실행하는 프로그램에 따라 이러한 프로세스는 분산 추적 모음에서 과도하게 표시될 수 있습니다. 이러한 상황에서는 newrelic.ini filesper-directory newrelic.enabled 설정을 사용하여 명령줄 계측을 비활성화하도록 선택할 수 있습니다.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.