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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

자동 애플리케이션 이름 지정

애플리케이션에 부여하는 이름은 New Relic 성능 메트릭을 구성하는 데 도움이 될 수 있습니다.

New Relic의 Java 에이전트는 단일 JVM의 모든 트랜잭션 및 기타 측정항목을 app_name 설정 아래의 newrelic.yml 에 지정된 애플리케이션 이름으로 보고합니다(애플리케이션 이름 지정에 대한 자세한 내용은 Java 애플리케이션 이름 지정 참조). newrelic.ymlenable_auto_app_naming }를 true 로 변경하면 애플리케이션의 이름이 컨텍스트, 필터, 서블릿 또는 요청 속성에 따라 지정됩니다.

이 설정을 사용하면 New Relic 사용자 인터페이스에서 다른 적절한 애플리케이션에 트랜잭션, 오류 및 메트릭을 보고하는 동안 단일 JVM에서 여러 웹 애플리케이션을 실행할 수 있습니다. 백그라운드 작업은 newrelic.yml 의 기본 애플리케이션 이름을 계속 사용합니다.

중요

이러한 구성 변경 사항을 적용하려면 JVM을 다시 시작해야 합니다.

이 구성은 무한 추적이 활성화된 상태에서 작동하지 않습니다.

주의

자동 앱 이름 지정을 활성화하면 에이전트가 수집하는 데이터 양이 증가합니다. 데이터 수집에 대해 경고하고 모니터링하는 다양한 방법이 있습니다.

애플리케이션 이름 소스

enable_auto_app_namingtrue 로 설정하면 New Relic은 다음 정보 소스를 사용하여 애플리케이션의 이름을 지정합니다.

앱 유형

네이밍 소스

백그라운드 작업

의 기본 애플리케이션 이름 newrelic.yml

웹 트랜잭션

우선순위에 따라:

  • 요청 속성(가장 높은 우선순위)
  • 서블릿 초기화 매개변수
  • 필터 초기화 매개변수
  • 웹 앱 컨텍스트 매개변수
  • 웹 앱 컨텍스트 이름(표시 이름)
  • 웹 앱 컨텍스트 경로(최저 우선 순위)

요청 속성

APPLICATION_NAME 요청 속성은 XML의 모든 설정보다 우선합니다. 웹 트랜잭션에서 가능한 한 빨리 이 속성을 설정하십시오. 여러 번 호출되는 경우 마지막 호출에 따라 애플리케이션 이름이 결정됩니다.

APPLICATION_NAME ServletRequests에서만 작동합니다.

요청 URI를 기반으로 세분화된 애플리케이션 이름 지정을 위해 요청 속성을 사용하려면:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
String requestUri = httpServletRequest.getRequestURI();
if (requestUri.startsWith("/my-special-request/")) {
request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MySpecialWebApp");
}
...

서블릿 초기화 매개변수

초기화 매개변수 를 사용하여 web.xml 의 개별 서블릿에 대한 애플리케이션 이름을 설정하려면 다음을 수행합니다.

<servlet>
<servlet-name>SqlServlet</servlet-name>
<servlet-class>test.SqlServlet</servlet-class>
<init-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyServletApp</param-value>
</init-param>
</servlet>

에이전트는 다음을 호출하여 init-param 의 값을 얻습니다.

javax.servlet.ServletConfig#getInitParameter(String)

인수 com.newrelic.agent.APPLICATION_NAME 사용.

웹 요청이 여러 서블릿을 호출하는 경우 완료되는 첫 번째 서블릿의 init-param 이 우선합니다. init-param 이 없는 서블릿은 웹 앱의 기본 애플리케이션 이름을 사용합니다.

애플리케이션 이름을 XML로 선언하는 것 외에도 javax.servlet.ServletRequest에 속성을 저장하여 애플리케이션 코드에서 설정할 수 있습니다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MyWebApp");
...

필터 초기화 매개변수

웹 앱에 서블릿이 없으면 필터에 init 매개변수를 사용할 수 있습니다.

<filter>
<filter-name>SqlFilter</filter-name>
<filter-class>test.SqlFilter</filter-class>
<init-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyFilterApp</param-value>
</init-param>
</filter>

에이전트는 com.newrelic.agent.APPLICATION_NAME 인수로 javax.servlet.FilterConfig#getInitParameter(String) 를 호출하여 init-param 값을 얻습니다. 서블릿은 애플리케이션 이름 지정을 위한 필터보다 우선하므로 필터의 초기화 매개변수는 서블릿이 호출되지 않은 경우에만 사용됩니다. 완료할 첫 번째 필터의 init-param 이 우선합니다.

컨텍스트 매개변수

컨텍스트 매개변수를 사용하여 애플리케이션 이름을 설정하려면:

<context-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyWebApp</param-value>
</context-param>

에이전트는 com.newrelic.agent.APPLICATION_NAME 인수로 javax.servlet.ServletContext#getInitParameter(String) 를 호출하여 컨텍스트 매개변수의 값을 얻습니다. 컨텍스트 매개변수는 display-name 요소보다 우선합니다.

이름 표시하기

web.xml 에서 display-name 요소를 사용하여 애플리케이션 이름을 확인하려면 다음을 수행합니다.

<display-name>MyWebApp</display-name>

에이전트는 javax.servlet.ServletContext#getServletContextName() 을 호출하여 display-name 요소의 값을 얻습니다.

컨텍스트 경로

display-name 요소가 없고 앱 이름을 설정하는 데 다른 상위 계층 방법이 사용되지 않는 경우 애플리케이션 이름은 웹 앱의 컨텍스트 경로에서 가져옵니다. 에이전트는 javax.servlet.ServletContext#getContextPath() 을 호출하여 컨텍스트 경로를 얻습니다.

컨텍스트 경로는 요청 컨텍스트를 선택하는 데 사용되는 요청 URI 부분입니다. 컨텍스트 경로는 요청 URI에서 항상 첫 번째에 옵니다. 예를 들어:

다음 URL을 고려하십시오.

http://example.com/newrelic-axis2-ws/getWeather

이 URL에서:

  • 요청 URI는 /newrelic-axis2-ws/getWeather 입니다.
  • 컨텍스트 경로는 /newrelic-axis2-ws 입니다.
  • 애플리케이션의 이름은 newrelic-axis2-ws 입니다.
Copyright © 2024 New Relic Inc.

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