저는 zappa를 사용하여 AWS API 게이트웨이와 람다에 python/django wsgi 앱을 배포하고 있습니다.AWS lambda의 새로운 유물이 설정 파일을 읽지 않습니다
내 환경에서이 모든 있습니다
NEW_RELIC_CONFIG_FILE: /var/task/newrelic.ini
NEW_RELIC_LICENSE_KEY: redacted
NEW_RELIC_ENVIRONMENT: dev-zappa
NEW_RELIC_STARTUP_DEBUG: "on"
NEW_RELIC_ENABLED: "on"
내 wsgi.py
documented로 "수동 에이전트 시작"을하고 있어요 : 나는 @newrelic.agent.wsgi_application
를 사용하지이야
import newrelic.agent
# Will collect NEW_RELIC_CONFIG_FILE and NEW_RELIC_ENVIRONMENT from the environment
# Dear god why??!?!
# NB: Looks like this IS what makes it go
newrelic.agent.global_settings().enabled = True
newrelic.agent.initialize('/var/task/newrelic.ini', 'dev-zappa', log_file='stderr', log_level=logging.DEBBUG)
장고는 자동으로 탐지되어야하기 때문에
나는 sh에 미들웨어를 추가했다. 람다가 얼버무 기 전에 에이전트를 종료하면 로깅은 첫 번째 요청 만 New Relic으로 보내지는 것을 의미합니다. 종료가 없으면 New Relic 에이전트에서 로깅을 얻지 않고 APM에 이벤트가 없습니다. 내 newrelic.ini
에서
class NewRelicShutdownMiddleware(MiddlewareMixin):
"""Simple middleware that shutsdown the NR agent at the end of a request"""
def process_request(self, request):
pass
# really wait for the agent to register with collector
# Enabling this causes more log messages about starting data samplers, but only on the first request
# newrelic.agent.register_application(timeout=10)
def process_response(self, request, response):
newrelic.agent.shutdown_agent(timeout=2.5)
return response
def process_exception(self, request, exception):
pass
newrelic.agent.shutdown_agent(timeout=2.5)
나는 다음을 가지고 있지만 내가 newrelic.agent.global_settings()
를 기록 할 때 (환경 VAR을 위 해킹의 일부에지도 (APM에서 만든 얻을 않았다)와 = 거짓 활성화 기본 앱의 이름을 포함 , 그냥 초기화하기 전에 newrelic.agent.global_settings()
편집 :
[newrelic:dev-zappa]
app_name = DEV APP zappa
monitor_mode = true
TL; DR - 두 가지 질문 :
- 얻는 방법 새로운 유물 그것이 미상 때 INI 파일의 읽기 그러고 싶지 않아?
- AWS 람다의 모든 요청에 대한 데이터를 기록하는 새로운 유적을 얻는 방법은 무엇입니까?
내 newrelic-django-zappa 프로젝트와 비슷한 문제가 있습니다. – davesave
람다가 콘텐츠와 함께'/ var/task/newrelic.ini' 파일을 만드는 방법은 무엇입니까? ? – kichik
@kichik zappa가 업로드하는 zip 파일에 있습니다. 파일이 해당 경로에 존재하고 내용을 로그로 읽었 음을 확인했습니다. NEW_RELIC_CONFIG_FILE 및 NEW_RELIC_ENVIRONMENT가 환경에 채워 졌음을 확인했습니다. 예상대로 소비되지 않는 것 같습니다. –