New Relic의 Java 에이전트를 사용하면 성능 문제에서 코드 내의 작은 오류에 이르기까지 모든 것을 추적할 수 있습니다. 에이전트는 매분 메트릭 타임슬라이스와 이벤트 데이터 를 New Relic 사용자 인터페이스에 게시합니다. 여기서 해당 데이터의 소유자는 로그인하고 데이터를 사용하여 웹사이트의 성능을 확인할 수 있습니다.
설치
Java 에이전트를 사용하려면:
- 시스템이 Java 에이전트의 호환성 및 요구 사항을 충족하는지 확인하십시오.
- New Relic 계정에 가입 하세요.
- 런처를 사용하거나 표준 설치 절차 에 따라 Java 에이전트를 설치합니다.도구 및 프레임워크에 따라 추가 설치 절차 를 참조하여 Java 에이전트를 설치하거나 구성하십시오.
New Relic UI 에서 앱의 성능을 보려면 one.newrelic.com > APM > (앱 선택) > Summary 으로 이동합니다. APM 사용자 인터페이스에는 전용 JVM 메트릭 페이지 , 트랜잭션 및 오류 세부 정보, Java 스레드를 샘플링하고 스택 추적을 보고하는 스레드 프로파일러 도구 등이 포함 됩니다 .
또한 에이전트 도구를 확장 하고 데이터 탐색기 및대시보드 를 포함한 다른 New Relic 제품으로 데이터를 탐색할 수 있습니다.
시작 구성
Java 에이전트는 newrelic.jar
과 동일한 디렉토리에 있어야 하는 newrelic.yml
파일에서 시작 구성을 읽습니다. Java 시스템 속성을 사용하여 설정을 재정의할 수도 있습니다.
에이전트는 시작(부트스트랩) 시 license_key
및 app_name
설정이 필요합니다. newrelic.yml
파일에서 로그 파일 및 기타 설정의 위치를 사용자 정의 할 수 있습니다. 또한 앱 서버가 동일한 JVM에서 여러 애플리케이션을 실행하는 경우 이름 지정 구성을 조정할 수 있습니다.
구성 옵션
서버 측 구성 을 사용하여 New Relic 웹 인터페이스에서 애플리케이션 보고를 구성할 수 있습니다. JVM이 다시 시작되면 애플리케이션에 대해 보고하는 모든 에이전트에 변경 사항이 적용됩니다. 그러나 서버 측 구성을 사용하는 경우에도 로컬 구성 파일에서 필수 설정( license_key
및 app_name
)을 유지해야 합니다.
트랜잭션 추적과 오류 스냅샷 모두 선택적으로 HTTP 매개변수를 기록할 수 있습니다. 때때로 HTTP 매개변수에는 신용 카드 번호와 같은 민감한 정보가 포함됩니다. 에이전트에는 HTTP 매개변수를 수집하지만 특정 명명된 매개변수를 제외하는 것과 같이 데이터 보안을 보장하기 위한 몇 가지 구성 옵션이 있습니다 .
APM 및 인프라 데이터에 대한 로그 보기
또한 로그와 애플리케이션의 데이터를 함께 가져와 더 쉽고 빠르게 문제를 해결할 수 있습니다. 컨텍스트의 로그를 사용하면 앱의 UI에서 직접 오류 및 추적과 관련된 로그 메시지를 볼 수 있습니다. Kubernetes 클러스터와 같은 인프라 데이터 컨텍스트에서 로그를 볼 수도 있습니다. 다른 UI 페이지로 전환할 필요가 없습니다.
추가 계측
Java 에이전트를 설치한 후 다음 방법 중 하나를 사용하여 계측을 확장합니다.
- 사용자 지정 계측: 주석 또는 XML을 통해 Java 사용자 지정 계측을 구현합니다.
- 분산 추적 사용 : 분산된 다중 서비스 아키텍처에 분산된 요청의 경로를 확인합니다.
- 사용자 정의 속성 수집: API 또는 XML 파일을 통해 사용자 정의 속성을 수집합니다.
- Java 에이전트 API: API를 사용하여 Java 에이전트의 기능을 제어, 사용자 정의 또는 확장합니다.
- 브라우저 계측: Java 에이전트를 브라우저 모니터링 과 통합하여 최종 사용자 활동에 대한 가시성을 확보합니다.
- Java 사용자 정의 계측용 회로 차단기: 회로 차단기를 사용하여 과도한 계측으로부터 애플리케이션을 보호합니다.
- YAML에 의한 사용자 지정 JMX 계측: YAML 사용자 지정 계측 파일을 사용하여 사용자 지정 JMX 메트릭을 봅니다.
- JVM 메트릭 페이지: JMX를 통해 가장 일반적인 애플리케이션 서버에서 메트릭을 수집합니다.
- 오픈 소스 원격 측정: Kamon Reporter , OpenTelemetry 내보내기 , Micrometer 메트릭 레지스트리 및 Java Telemetry SDK 와 같은 다양한 도구를 제공합니다.
JVM을 다시 시작해야 하는 경우
구성이나 사용자 정의 XML을 변경할 때 거의 모든 경우에 JVM을 다시 시작해야 합니다. 재시작이 필요 하지 않은 상황은 4가지뿐입니다.
JVM을 다시 시작할 필요가 없습니다... | 코멘트 |
---|---|
로그 수준 또는 감사 모드 변경 사항 | Java 에이전트 구성 파일 에서 단순히 |
사용자 정의 계측 XML 파일 | JVM 재시작은 Java 에이전트 버전에 따라 다릅니다.
|
회로 차단기 변경 사항 | Java 사용자 정의 계측에 대한 회로 차단기를 변경하는 경우 JVM을 다시 시작할 필요가 없습니다. |
무시되거나 예상되는 오류 |
|
다른 모든 변경 사항에는 에이전트를 다시 시작해야 합니다. 즉, JVM을 다시 시작해야 합니다.
JSR 163 준수
New Relic Java 에이전트는 웹 트랜잭션을 모니터링하여 이에 대한 정보를 수신하고 강력한 데이터 보안 조치가 적용된 New Relic 사용자 인터페이스에 해당 정보를 전달합니다. 에이전트는 JVM 실행에 대한 수정을 통해 JVM에 의해 활성화되는 JSR 163 호환 javaagent
으로 패키지됩니다. 일단 활성화되면 에이전트는 자신을 클래스 로딩 스트림에 삽입하고 바이트 코드 계측(bci)을 사용하여 클래스 메소드를 계측합니다.
웹 애플리케이션에 미치는 영향을 최소화하도록 설계된 모든 클래스는 자신의 클래스와 충돌하지 않도록 newrelic
패키지 네임스페이스에 있습니다. 에이전트는 ASM bci 엔진을 사용하여 소프트웨어 프로브를 삽입합니다.
에이전트는 운영 체제, Java 버전, 시스템 속성 및 New Relic 구성 파일과 같은 호스트 환경에 대한 기본 정보를 수신합니다. 에이전트는 또한 JVM 및 JMX에서 데이터를 폴링합니다.
문제 해결 절차
문제가 있는 경우 해당 섹션의 데이터 없음 및 기타 문제 해결 문서를 참조하세요.