• English日本語한국어
  • 로그인지금 시작하기

Java 에이전트의 문맥적 로그

Java 에이전트를 사용하면 문맥적 로그를 확보하여, 다른 뉴렐릭 데이터의 문맥으로 앱 로그를 볼 수 있습니다. 이 기능에 대한 일반 정보는 문맥적 APM 로그를 참조하십시오.

Java 로그가 많이 있으신가요?로그 최적화 및 관리 방법에 대한 튜토리얼을 확인하십시오.

자동 문맥적 로그 옵션

지원되는 프레임워크를 사용하는 경우 APM 문맥적 로그를 구성하여 앱의 로그를 보내고 메타데이터를 자동으로 뉴렐릭에 연결하는 두 가지 옵션이 있습니다. 한 가지 옵션은 로그를 장식할 로그 확장을 수동으로 구성한 다음 스스로에게 전달하는 것입니다. 다른 옵션은 Java 에이전트가 자동으로 로그 장식과 전달을 처리하도록 하는 것입니다. 자동 문맥적 로그에 대해 지원되는 프레임워크는 다음과 같습니다.

  • Log4j1 1.2.17
  • Log4j 2 2.6 이상
  • Logback 1.1 이상
  • JUL (java.util.logging) JDK 8+
  • JBoss 로깅 1.3.0.Final에서 2.x까지
  • Dropwizard 로깅(Logback 계측을 통해 캡처됨, 아래 알려진 문제 참조)

중요

JBoss 로깅

JBoss Logging은 로컬 장식 기능을 JUL 계측에 위임하므로, 다음 두 계측 모듈에 의해 완전히 제어될 수 있습니다.

class_transformer:
com.newrelic.instrumentation.java.logging-jdk8:
enabled: true
com.newrelic.instrumentation.jboss.logging:
enabled: true

중요

Dropwizard 로깅의 알려진 문제

기본적으로 Dropwizard는 로깅 백엔드에 Logback을 사용합니다. 또한 Logback을 통해 모든 java.util.logging, Log4j 및 Apache Commons Logging을 라우팅합니다. Java 에이전트가 Logback 외에 다른 로깅 라이브러리를 계측하는 경우, 이 라우팅 동작으로 인해 중복 로그가 뉴렐릭에 보고될 수 있습니다.

Dropwizard 로깅을 사용할 때 중복 로그가 보고되지 않도록 하려면 Logback을 제외한 모든 로깅 프레임워크 계측을 비활성화하는 것이 좋습니다. 에이전트 구성 파일의 class_transformer 섹션에서 이 작업을 수행할 수 있습니다.

class_transformer:
com.newrelic.instrumentation.logback-classic-1.2:
enabled: true
com.newrelic.instrumentation.apache-log4j-1:
enabled: false
com.newrelic.instrumentation.apache-log4j-2:
enabled: false
com.newrelic.instrumentation.java.logging-jdk8:
enabled: false
com.newrelic.instrumentation.jboss.logging:
enabled: false

중요

에이전트 릴리스 7.7.0 이상에는 기본적으로 에이전트 구성 파일에서 이 기능이 활성화되어 있습니다.

에이전트 로그 전달은 지원되는 프레임워크가 감지되면 데이터 소비를 증가시킵니다. 그 양은 애플리케이션과 애플리케이션이 생성하는 로그의 양에 따라 다릅니다. 이 기능은 비활성화할 수 있습니다. 옵션에 대한 보다 자세한 내용은 자동 로깅 비활성화를 참조하십시오.

이미 로그 전달 솔루션을 사용하는 경우 이 기능을 비활성화해야 합니다.

Java 에이전트가 로그를 전달하도록 하지 않고 자체 로그 전달자를 사용하려는 경우, 수동 문맥적 로그 솔루션이 트레이스 컨텍스트 메타데이터로 로그를 장식하는 데 적합한 솔루션입니다.

이 문서가 설치하는데 도움이 되셨나요?

데이터 보안

로그에는 HIPAA 또는 기타 규정 준수 프로토콜로 보호되는 민감한 정보가 포함될 수 있습니다. 기본적으로 신용 카드나 주민 등록 번호 같은 항목으로 보이는 번호 패턴이 난독화되지만 추가 정보를 해시하거나 마스킹해야 할 수도 있습니다.

보다 자세한 내용은 난독화 표현식 및 규칙에 대한 문서를 참조하십시오. 뉴렐릭 UI를 사용하거나 GraphQL API인 NerdGraph를 사용하여 로그 데이터를 해시하거나 마스킹할 수 있습니다.

데이터 탐색

로깅 데이터를 최대한 활용하려면:

문제 해결 팁

일반적으로 로그는 활성화한 후 1분 이내에 나타나기 시작합니다. 컨텍스트에 로그인합니다. 앱의 Triage > Logs 섹션을 확인하십시오. 또한 오류와 관련된 로그 패턴이 표시되기 시작합니다.

오류 또는 트레이스에 대한 로그가 표시되지 않으면 앱에 대한 로그가 없는 것일 수 있습니다. UI 페이지를 새로고침하거나 선택한 기간을 변경합니다.

자동 로깅 비활성화

문맥으로 된 APM 로그는 에이전트 로그 데이터를 자동으로 전달하며 기본적으로 활성화되어 있습니다. 이는 보안, 규정 준수, 청구 또는 시스템 성능에 부정적인 영향을 미칠 수 있습니다. 자동 로그를 비활성화하려면:

  1. New Relic UI의 사용자 메뉴 에서 Manage your data > Log settings 을 클릭합니다.
  2. 계정 오른쪽에 있는 줄임표 ... 메뉴를 클릭합니다.
  3. 자동 로깅을 활성화 또는 비활성화하고 부모 계정을 잠그거나 잠금 해제하거나 하위 계정만 활성화 또는 비활성화하려면 확인 버튼을 클릭합니다.

보다 자세한 내용이나 기본 설정을 조정하길 원하는 경우 자동 로깅 비활성화 절차를 따르십시오.

수동 문맥적 로그 옵션

언어 에이전트가 로그를 전달하고 장식할 수 있기 전에는, 수동 솔루션을 사용하여 연결 메타데이터를 보낼 수 있었습니다.

이 옵션은 계속 지원되지만 더 이상 권장되지 않습니다. 또한 이 방법을 사용하려면 문맥적 로그를 활성화하기 전에 로그 전달자를 설치해야 합니다. 로그 전달자가 없는 경우 뉴렐릭 UI에 인프라 에이전트를 사용하라는 메시지가 표시됩니다.

기존 로그 전달 솔루션을 사용하고 자동 문맥적 로그를 사용하도록 에이전트를 업데이트하는 경우 수동 로그 전달자를 비활성화해야 합니다. 그렇지 않으면 앱에서 이중 로그 라인이 전송됩니다. 계정에 따라 이중 요금이 발생할 수 있습니다. 보다 자세한 내용은 특정 로그 전달자를 비활성화하는 절차를 확인하십시오.

Java 컨텍스트에서 수동 프로세스를 사용하여 로그를 설정해야 하는 경우 다음 단계를 따르십시오.

  1. 뉴렐릭에서 이미 로그인을 설정했는지 확인합니다. 여기에는 애플리케이션 로그를 수집하고 뉴렐릭으로 전달되는 메타데이터를 확장할 수 있도록 지원하는 로그 전달자 구성이 포함됩니다.
  2. 최신 Java 에이전트 버전을 설치하거나 업데이트합니다. 문맥적 로그에는 Java 에이전트 버전 5.6.0 이상을 사용해야 합니다.
  3. JVM 인수 -javaagent를 활성화하고 분산 추적을 활성화합니다.
  4. 해당하는 경우 다음 확장 중 하나를 사용하여 로그 데이터를 보강하도록 Java용 문맥적 로그를 구성합니다. Spring 또는 Spring Boot를 사용하고 어떤 확장이 필요한지 확실하지 않은 경우 Spring 문서를 참조하십시오.
Copyright © 2024 New Relic Inc.

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