이 문서는 뉴렐릭이 전용 OTLP 엔드포인트를 통해 수신된 OpenTelemetry 로그를 어떻게 처리하는지 설명합니다.
OpenTelemetry 로그를 뉴렐릭으로 보내는 방법은 크게 두 가지가 있습니다.
- 애플리케이션이 로그를 뉴렐릭 OTLP 엔드포인트로 직접 보낼 수 있습니다.
- 구현과 관련된 자세한 내용은 OpenTelemetry 언어 문서를 참조하고, 뉴렐릭을 사용한 모니터링 서비스에 대한 자세한 내용은 OpenTelemetry APM 모니터링을 참조하시기 바랍니다.
파일이나 표준 출력(
stdout
)에 기록된 애플리케이션 로그를 스크랩을 하는 방법입니다.OpenTelemetry 수집기가 보통 이 작업에 사용되며, 스크랩된 로그는 뉴렐릭 OTLP 엔드포인트로 전달됩니다.
보다 자세한 정보는 아래의 OpenTelemetry 리소스를 참조하십시오.
선택한 수집 방법에 관계없이 성공적인 통합을 위해서는 로그를 해당 엔드포인트로 내보내도록 로그 소스를 구성해야 합니다. 계속 진행하기 전에 엔드포인트 설정 요구 사항을 확인하십시오.
OTLP 로그 레코드 매핑
뉴렐릭은 OTLP 로그 레코드를 Log
데이터 유형에 매핑합니다. 아래 표는 LogRecord
proto 메시지의 필드가 뉴렐릭 Log
에 매핑되는 방식을 설명합니다.
OTLP | 뉴렐릭 |
---|---|
| 각 키/값은 |
|
|
|
|
| 각 키/값은 |
|
|
|
|
|
|
|
|
| 각 키/값은 |
|
|
|
|
|
|
|
|
표 각주
[1] 리소스 속성, 범위 속성, 로그 레코드 속성, 최상위 레벨 로그 레코드 필드 및 LogRecord.body
의 구문 분석된 속성이 충돌하는 경우 [3] 선례의 순서(높은 순에서 낮은 순)는 LogRecord.body
-> 최상위 레벨 LogRecord.*
필드 > LogRecord.attributes
> ScopeLogs.InstrumentationScope.attributes
> ResourceLogs.Resource.attributes
입니다.
뉴렐릭 OTLP 엔드포인트로 지원되는 속성 유형에 대한 자세한 내용은 OTLP 속성 유형을 참조하십시오.
[2] LogRecord.time_unix_nanos
가 없으면 timestamp
가 뉴렐릭이 데이터를 수신한 시간으로 설정됩니다.
[3] 로그 구문 분석(파싱)은 평문 로그 텍스트에서 속성 추출을 시도하기 위해 LogRecord.body
에 적용됩니다. 예를 들어 JSON 구조의 로그 포맷을 사용하는 경우 키/값은 결과 로그의 속성이 됩니다. 이는 파일 또는 stdout
에서 로그를 수집할 때 특히 유용합니다. 이 경우 로그 레코드( APM 서비스 상호 연관에 필요)와 연결된 리소스 속성이 없고 LogRecord.trace_id
/ LogRecord.span_id
( 트레이스 상호 연관에 필요)에 대한 값이 없는 것이 일반적입니다. 필수 필드를 성공적으로 구문 분석할 수 있으면 상호 연관이 의도한 대로 작동합니다.
OpenTelemetry APM 서비스와의 상관관계
로그에 필수 속성이 포함된 경우 로그는 서비스 엔터티와 상호 연관됩니다. 일반적으로 이는 ResourceLogs.Resource.attributes
같은 로그의 리소스 속성에서 나오지만 OTLP 매핑의 각주 3에 설명된 대로 LogRecord.body
에서 구문 분석이 될 수도 있습니다.
서비스의 로그를 보려면 해당 서비스의 로그 페이지로 이동하십시오.
트레이스와의 상호 연관
trace.id
와 span.id
속성을 완료(resolve) 할 수 있는 경우 로그는 트레이스와 상호 연관됩니다. 일반적으로 이는 LogRecord.trace_id
와 LogRecord.span_id
필드에서 나오지만 OTLP 매핑의 각주 3번에 설명된 대로 LogRecord.body
에서 구문 분석이 될 수도 있습니다.
특정 트레이스의 컨텍스트에서 기록된 로그를 보는 방법은 두 가지가 있습니다.
- 트레이스 세부정보 페이지에서 로그 탭으로 이동합니다.
- 서비스의 로그 페이지로 이동하여 로그를 클릭하여 로그 세부 정보를 엽니다. 트레이스와 연관이 된 경우 로그 세부정보에서 트레이스 세부정보로 이동할 수 있습니다.