• 로그인지금 시작하세요

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

Python 에이전트: 고급 통합

Python 에이전트 패키지를 설치하고 구성 파일을 생성한 후 New Relic의 Python 에이전트를 애플리케이션과 통합해야 합니다. 이 단계를 통해 에이전트는 애플리케이션의 중요한 기능과 웹 요청을 캡처하고 보고할 수 있습니다.

두 가지 통합 방법이 있습니다.

  • 명령줄을 통해 관리 스크립트 실행 : 이 방법이 쉽고 앱 코드를 변경할 필요가 없기 때문에 이 방법을 권장합니다.
  • 수동 통합 : admin 스크립트 방식을 사용할 수 없는 경우 앱 코드에서 Python 에이전트를 수동으로 초기화할 수 있습니다.

관리 스크립트 통합 방법

명령줄을 통해 admin 스크립트를 사용하는 방법에 대한 간단한 설명은 고급 설치 지침의 통합 섹션 을 참조하십시오. 다음은 자세한 내용과 컨텍스트가 포함된 지침입니다.

newrelic-admin 관리 스크립트는 WSGI 서버 또는 웹 앱을 시작하는 데 사용하는 명령의 접두사입니다. 이 스크립트는 시작 명령을 래핑하고 일반 프레임워크에서 사용되는 특정 기능 클래스를 수신하여 작동합니다. (기본적으로 계측되지 않는 함수 및 메서드를 계측하려면 사용자 지정 계측 을 사용하십시오.)

다음은 스크립트 실행의 예입니다.

이전 명령 형식

새 명령 형식

YOUR_ORIGINAL_COMMAND_OPTIONS

NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program YOUR_ORIGINAL_COMMAND_OPTIONS

VARIABLE=VALUE YOUR_ORIGINAL_COMMAND_OPTIONS

NEW_RELIC_CONFIG_FILE=newrelic.ini VARIABLE=value newrelic-admin run-program YOUR_ORIGINAL_COMMAND_OPTIONS

다음 예에서는 Bourne 스타일 셸에 대한 지침을 제공합니다. 다른 쉘에 대해 이 지침을 조정해야 할 수도 있습니다.

관리 스크립트 사용에 대한 프레임워크별 문서는 웹 프레임워크 및 서버 를 참조하십시오.

다음은 관리 스크립트를 실행하기 위한 몇 가지 고급 지침입니다.

자세한 내용은 관리 스크립트 세부 정보를 참조하세요.

앱 코드에서 수동 통합

권장되는 관리 스크립트 통합 방법을 사용할 수 없거나 사용하지 않으려면 웹 앱 코드에서 Python 에이전트를 수동으로 초기화해야 합니다. 이 프로세스에는 Python 에이전트 패키지를 앱으로 가져오고 에이전트 초기화를 호출하는 작업이 포함됩니다. 이 호출은 라이브러리를 가져올 때 에이전트가 인식하는 함수 클래스를 수신하도록 앱의 가져오기 메커니즘을 수정합니다.

수동 통합의 경우 WSGI 진입점을 보유하는 애플리케이션 스크립트 파일 또는 모듈의 시작 부분에 다음을 추가하십시오.

중요

표준 Python 기능과 달리 가져오기 순서가 중요합니다. 에이전트 패키지를 먼저 가져와야 합니다.

import newrelic.agent
newrelic.agent.initialize('/some/path/newrelic.ini')
... YOUR_OTHER_IMPORTS

이 예에서 /some/path/newrelic.iniPython 에이전트 설치 중에 생성된 구성 파일 복사본의 위치를 나타냅니다. 구성 파일은 웹 애플리케이션에서 읽을 수 있어야 합니다.

지원되지 않는 웹 프레임워크

지원되지 않는 웹 프레임워크를 사용하거나 Werkzeug 또는 Paste와 같은 WSGI 구성 요소 라이브러리를 사용하여 WSGI 응용 프로그램을 구성하는 경우 WSGI 응용 프로그램 진입점을 수동으로 래핑해야 할 수도 있습니다. 이것은 주요 통합 방법 중 하나를 수행하는 것 외에 추가됩니다( admin 스크립트 사용 또는 Python 에이전트 수동 초기화 ).

WSGI 애플리케이션 진입점이 파일 자체에 선언된 함수인 경우 데코레이터를 사용합니다.

@newrelic.agent.wsgi_application()
def application(environ, start_response):
...

WSGI 애플리케이션 진입점이 다른 모듈에서 가져온 함수 또는 객체인 경우 래퍼 객체로 래핑합니다.

import myapp
application = myapp.WSGIHandler()
application = newrelic.agent.WSGIApplicationWrapper(application)

지원되는 웹 프레임워크가 사용 중인 경우, 예를 들어 지원되는 웹 프레임워크 주위에 추가 WSGI 미들웨어를 구성하려는 경우 데코레이터 또는 래퍼를 명시적으로 사용할 수 있습니다. 이렇게 하면 모든 WSGI 미들웨어의 실행도 에이전트가 수행하는 모니터링에 포함됩니다.

자세한 내용은 wsgi_application()WSGIApplicationWrapper 래퍼에 대한 설명서를 참조하세요.

Copyright © 2022 New Relic Inc.

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