다음을 포함한 Trace API 데이터 요구 사항에 대한 정보:
- 데이터 사양 및 최대 제한
- 필수 메타데이터(헤더, 쿼리 매개변수)
- 응답 검증 세부정보
이 문서는 Trace API 전체에 적용됩니다. 특정 데이터 형식에 대한 규칙은 다음을 참조하세요.
끝점
모든 추적 데이터는 HTTPS POST를 통해 추적 API 끝점으로 전송됩니다. 설정에 따라 몇 가지 엔드포인트가 있습니다.
- 기본 추적 API 엔드포인트:
https://trace-api.newrelic.com/trace/v1
- EU 데이터 센터:
https://trace-api.eu.newrelic.com/trace/v1
(다른 EU 엔드포인트 참조). - 무한 추적 : 추적 관찰자 설정 을 완료하면 끝점으로 사용할 사용자 정의 YOUR_TRACE_OBSERVER_URL 값을 얻습니다. Trace API(예: Kamon 리포터 )를 사용하는 통합을 사용하는 경우 해당 엔드포인트와 해당 통합을 구성해야 합니다. 또한 범위의 100%를 보내도록 추적 서비스의 샘플링 을 조정하는 것이 좋습니다.
- FedRAMP: FedRAMP 끝점 을 참조하십시오.
데이터 형식
현재 Trace API는 두 가지 유형의 데이터 형식을 허용합니다.
zipkin
: Zipkin 추적 데이터 보고용입니다. Zipkin 데이터는 Zipkin JSON v2 여야 합니다.newrelic
: 다른 모든 추적 데이터를 보고합니다.
제한된 속성
아래 표의 속성은 newrelic
형식 JSON( attributes
블록) 및 zipkin
형식 JSON( tags
블록)으로 제한됩니다. Any values with these keys will be omitted:
제한된 속성 | 설명 |
---|---|
끈 | 이 범위를 만든 엔터티의 고유 식별자입니다. 사용 가능한 경우 |
끈 | 에이전트의 데이터와의 하위 호환성을 위해 사용됩니다. |
아래 표의 속성은 내부적으로 엔터티를 식별하는 데 사용됩니다. 메트릭 데이터 포인트의 속성 섹션에서 이러한 키로 제출된 모든 값은 UI의 누락된 엔터티 또는 예상 엔터티와 연결되지 않은 원격 분석과 같은 정의되지 않은 동작을 유발할 수 있습니다. 자세한 내용은 엔터티 합성 을 참조하십시오.
제한된 속성 | description |
---|---|
끈 | 이 범위와 연결된 엔터티의 고유 식별자입니다. |
끈 | 사람이 읽을 수 있는 엔터티 이름으로 UI에서 엔터티를 식별하는 데 자주 사용됩니다. |
끈 | 호스트, 애플리케이션 등과 같은 다양한 유형의 엔티티를 구별하는 데 사용됩니다. |
요청 메타데이터(헤더 및 쿼리 매개변수)
다음 표는 모든 추적 데이터 형식에 필요한 요청 메타데이터를 보여줍니다. 이 메타데이터는 수집 요청에서 HTTP 헤더로 전송되거나 경우에 따라 헤더 수정을 허용하지 않는 프레임워크를 추적하는 데 필요할 수 있는 쿼리 매개변수로 제공될 수 있습니다.
중요
보안 정보: 쿼리 매개변수가 URL에 있고 New Relic에서 암호화되어 수신되기 전에 기록될 수 있으므로 헤더를 사용하는 것이 좋습니다. 쿼리 매개변수로 전송된 모든 데이터는 URL로부터 안전해야 합니다.
머리글 | 쿼리 매개변수? | 세부 |
---|---|---|
| 아니요 | Required. |
| 아니요 | Required. 청크 인코딩으로 전송되지 않는 한 옥텟(8비트 바이트) 단위의 요청 본문 길이입니다. 이 헤더는 일반적으로 데이터를 보내는 기본 HTTP 클라이언트에 의해 기본적으로 설정되며 대부분의 경우 최종 사용자의 추가 작업이 필요하지 않습니다. |
| 예(대소문자 구분) | Required. 트레이스 API 이 필요합니다. 헤더와 쿼리 활동 모두로 제공되는 경우 값이 일치해야 합니다. |
| 아니요 | Required if compressed payload. 값은 |
| 네 | Required for 있는 경우 |
| 네 | Required for 있는 경우 이러한 값에는 두 가지 가능한 쌍만 있습니다.
|
| 아니요 | Optional - Reserved for future use. 값은 유효한 |
응답 검증
추적 데이터를 성공적으로 보내기 위한 응답에는 requestId
이 포함됩니다. 예를 들어:
{ "requestId": "c1bb62fc-001a-b000-0000-016bb152e1bb" }
성공/오류를 알리는 두 가지 방법이 있습니다.
HTTP status code (동기식). 인증 및 요청 오류는 HTTP 상태 코드를 통해 표시됩니다.
NrIntegrationError
이벤트(비동기). JSON 페이로드 오류 또는 기타 의미 오류는 요청과 연결된 의 계정에 저장된NrIntegrationError
이벤트를 통해 비동기식으로 신호를 보냅니다. 이 유형의 모든 오류에 대해newRelicFeature
속성은Distributed Tracing
이고requestId
는 엔드포인트 응답의requestId
입니다.
202
응답을 NrIntegrationError
이벤트가 표시되지 않으면 약 1분 이내에 글로벌 분산 추적 UI 에 데이터가 표시됩니다. 다음과 같은 표준 추적 검색 을 사용하여 추적을 찾을 수 있어야 합니다.
traceId = TRACE_ID_SENT
데이터 제한
추적 관련 제한은 분산 추적 작동 방식 을 참조하세요.