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

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

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

문제 신고

Python 에이전트 및 Stackato

Stackato 는 ActiveState에서 개발한 프라이빗 PaaS 솔루션입니다. Python 에이전트는 아래에 설명된 단계에 따라 Stackato와 함께 사용할 수 있습니다.

여기 지침에 따르면 Stackato VM 이미지 버전 0.6 이상을 사용해야 합니다. Stackato VM 이미지의 이전 버전을 사용하는 경우 업그레이드해야 합니다.

패키지 설치

ActiveState는 PyPM 패키지 리포지토리에서 Python 에이전트 패키지 의 복사본을 호스팅 합니다. 에이전트용 Python 패키지를 설치하려면 한 줄에 있는 requirements.txt 파일에 newrelic 을 추가합니다.

newrelic

그런 다음 Stackato 클라이언트를 사용하여 update 명령을 수행합니다.

PyPM 패키지 저장소는 매일 업데이트됩니다. PyPM 패키지 리포지토리에서 사용할 수 있는 것보다 최신 버전의 Python 에이전트를 사용해야 하는 경우 대신 PyPI 에서 pip 및 소스 패키지를 사용하도록 대체해야 합니다.

이 경우 PyPM에서 사용하는 requirements.txt 파일 외에 pip에 대한 입력으로 requirements.pip 파일을 만들어야 합니다. requirements.pip 파일에 newrelic 패키지를 나열해야 합니다.

에이전트 구성 파일

Python 에이전트 설치 에 설명된 대로 로컬 시스템에서 Python 에이전트 구성을 생성하고 이를 Stackato 인스턴스에 푸시하는 디렉토리에 추가해야 합니다.

에이전트 로그 파일 출력 위치를 지정하기 위한 에이전트 구성 파일의 옵션은 다음과 같이 설정해야 합니다.

log_file = stderr

Python 에이전트 초기화

Python 에이전트를 초기화하는 코드를 WSGI 애플리케이션 진입점이 포함된 Python 모듈에 수동으로 포함할 수 있지만 Python 애플리케이션과의 통합 지침에 따라 newrelic-admin 스크립트를 사용하여 간단한 시작 방법도 사용할 수 있습니다.

수동으로 수행하는 경우 일반적으로 Python 웹 애플리케이션이 포함된 wsgi.py 파일이 변경됩니다. 에이전트 구성 파일은 동일한 디렉토리에 있으므로 wsgi.py 파일에 대한 변경 사항은 다음을 추가하는 것입니다.

import newrelic.agent
config_file = os.path.join(os.path.dirname(__file__), 'newrelic.ini')
newrelic.agent.initialize(config_file)

응용 프로그램이 설치된 파일 시스템의 디렉터리가 변경될 수 있으므로 에이전트 구성의 위치는 wsgi.py 파일의 위치를 기준으로 자동으로 계산됩니다.

에이전트 초기화를 수동으로 수행하기 위해 코드를 추가하는 대안은 newrelic-admin 스크립트를 사용하는 것입니다.

processes 섹션에서 web 항목을 설정하여 웹 애플리케이션을 시작하는 방법을 stackato.yml 파일에 명시적으로 정의하는 경우:

processes:
web: python app.py

다음과 같이 web 을 대체합니다.

processes:
web: newrelic-admin run-program python app.py

즉, 기존 명령에 newrelic-admin run-program 접두사를 붙입니다.

동시에 다음을 사용하여 stackato.yml 파일에 env 섹션도 추가해야 합니다.

env:
NEW_RELIC_CONFIG_FILE: newrelic.ini

이미 web 항목을 재정의하지 않고 대신 uWSGI를 실행하는 Stackato 스택의 기본값에 의존하는 경우 프로세스가 약간 다릅니다. 이 경우 다음과 같이 stackato.ymlweb 항목을 추가해야 합니다.

processes:
web: newrelic-admin run-program $PROCESSES_WEB

env 섹션도 다시 필요합니다.

PROCESSES_WEB 이 정의되지 않고 이것이 작동하지 않으면 이전 VM 이미지를 사용하고 있으므로 업그레이드해야 함을 나타냅니다.

수동 방법을 사용하든 더 자동화된 방법을 사용하든 사용 중인 Python 웹 프레임워크에 필요한 경우 WSGI 응용 프로그램 진입점 개체도 적절하게 래핑해야 합니다.

Copyright © 2023 New Relic Inc.

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