• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

OpenTelemetry 로그: 모범 사례

로그는 애플리케이션 로그, 장치 생성 이벤트 또는 시스템 로그를 나타낼 수 있습니다. OpenTelemetry는 로그 데이터를 나타내기 위한 로그 데이터 모델을 정의했습니다.

OpenTelemetry 툴을 사용해 로그를 전송하고 이를 애플리케이션과 상호 연관시킨 후 뉴렐릭에서 볼 수 있습니다.

뉴렐릭에 로그 보내기

OpenTelemetry CollectorOpenTelemetry Collector Contrib 리포지토리에는 로그 데이터를 사용하기 위한 여러 구성 요소가 포함되어 있습니다.일반적인 패턴은 수집기를 다음과 같이 구성하는 것입니다.

  1. 모든 로그 수신자로부터 로그를 수신합니다. 일부 수신기 옵션에는 Filelog Receiver, Fluent Forward ReceiverSyslog Receiver가 포함됩니다.
  2. 로그를 처리하여 잠재적으로 리소스 정보로 주석을 추가합니다. 일부 프로세서 옵션에는 리소스 감지 프로세서리소스 프로세서가 포함됩니다.
  3. OTLP 내보내기를 통해 로그를 뉴렐릭으로 내보냅니다.

애플리케이션 로그들을 상호 연결

애플리케이션 로그는 애플리케이션에서 생성된 다른 텔레메트리 데이터와 상호 연관이 되면 더 유용해집니다. 서비스에 대한 OpenTelemetry 시맨틱 규칙은 service.name을 필수 필드로 지정합니다. 동일한 service.name과 함께 뉴렐릭으로 전송된 모든 애플리케이션 메트릭, 트레이스 및 로그 데이터는 동일한 엔터티와 연관됩니다.

service.name 리소스 속성으로 로그에 주석을 추가하는 세부적인 방법은 애플리케이션의 환경에 따라 다릅니다.

  • 애플리케이션은 service.name을 다른 필드로 포함하도록 구성할 수 있는 구조화된 JSON 로그를 생성할 수 있습니다.
  • 전용 Collector 에이전트 인스턴스와 함께 애플리케이션을 배포할 수 있습니다. 이 인스턴스는 service.name 속성으로 로그에 주석을 추가하도록 리소스 프로세서로 구성할 수 있습니다.

선택적으로 추가 애플리케이션 트레이스 컨텍스트(실행 컨텍스트라고도 함)를 로그 메시지로 전달할 수 있습니다. 그 설정 및 가용성은 애플리케이션에서 사용하는 언어 및 로깅 프레임워크에 따라 다릅니다. 일반적인 전략은 정형화된 JSON 로그를 작성하도록 애플리케이션을 설정하고 트레이스 컨텍스트를 사용 가능한 로그 메시지에 지정된 트레이스 컨텍스트 필드로 추출하도록 구성하는 것입니다. 보다 자세한 내용은 UI의 OpenTelemetry: 로그 페이지를 참조하십시오.

GitHub의 Log4j2와 문맥적 로그 예시는 Log4j2를 사용하는 간단한 Java 애플리케이션에 대한 포괄적인 작업 예시를 보여줍니다.

OpenTelemetry 로그 확인

다음은 로그를 확인하는 두 가지 방법입니다.

타임 필드

timeUnixNano 필드는 로그 데이터에 대한 OpenTelemetry 사양에 따라 선택 사항입니다. timeUnixNano가 없으면 뉴렐릭 로그 타임스탬프로 데이터를 수신한 시간이 사용됩니다.

Copyright © 2024 New Relic Inc.

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