Windows에서 Python 2.7을 사용하여 cherrypy 응용 프로그램을 실행 중입니다 (pipi에서 cherrypy 버전 사용). 응용 프로그램은 인트라넷에서 실행되며 기본적으로 아래 코드와 같이 구성됩니다.이 cherrypy 웹 응용 프로그램을 newrelic으로 모니터링하고 wsgi로 변환하는 방법
이 응용 프로그램을 newrelic로 모니터하려면 newrelic 설명서에서 설명한대로 감싸려고했습니다. 그러나 cherrypy 응용 프로그램이 작동했지만, 그런 식으로 시작했을 때 그것은 신종 백엔드에 나타나지 않았습니다.
def main():
다음에 newrelic agent를 한 줄 삽입하는 수동 방법도 시도했습니다. 이로 인해 응용 프로그램이 newrelich 백엔드에 표시되지만 아무 것도 모니터링하지 않았습니다. 모든 다이어그램이 비어 있습니다.
나는 이미 몇 시간 동안 웹을 검색했고 어떤 진도없이 일부 대학에 질문했다.
신 체형 문서에서 나는 체리 피 응용 프로그램에서 다른 구조 나 기술을 선택해야한다고 생각합니다. 그들은 quickstart
을 사용하지 않습니다. 그래서 내 질문은 응용 프로그램을 모니터링하는 newrelic 방법에 맞는 내 응용 프로그램을 변환하는 방법입니다.
# -*- coding: utf-8 -*-
def main():
import cherrypy
from auth import AuthController
from my_routes import RouteOne, RouteTwo
dispatcher = cherrypy.dispatch.RoutesDispatcher()
dispatcher.explicit = False
dc = dispatcher.connect
dc(u'd_home', u'/', RouteOne().index_home)
dc(u'd_content', u'/content/', RouteOne().index_content)
dc(u'd_search', u'/search/:find', RouteRoot().index_search)
conf = {
'/' : {
u'request.dispatch' : dispatcher,
u'tools.staticdir.root' : 'c:/app/src',
u'tools.sessions.on' : True,
u'tools.auth.on': True,
u'tools.sessions.storage_type' : "file",
u'tools.sessions.storage_path' : 'c:/app/sessions',
u'tools.sessions.timeout' : 60,
u'log.screen' : False,
u'log.error_file' : 'c:/app/log/error.txt',
u'log.access_file' : 'c:/app/log/access.txt',
},
u'/app/public' : {
u'tools.staticdir.debug' : True,
u'tools.staticdir.on' : True,
u'tools.staticdir.dir' : u"public",
},
}
# ... some additional initialisation left out ...
cherrypy.tree.mount(None, u"/", config=conf)
cherrypy.config.update({
'server.socket_host': myhost.test.com,
'server.socket_port': 8080,})
from auth import check_auth
cherrypy.tools.auth = cherrypy.Tool('before_handler', check_auth)
cherrypy.quickstart(None, config=conf)
if __name__ == "__main__":
main()
은 내가하는 newrelic 호환되는 방식으로 구성, 파견, 정식 같은 WSGI 같은 다른 부분을 구성하는 데 도와주세요 :
이 응용 프로그램의 더 많거나 적은 주 파일입니다 그리고 그 경로를 모니터 할 수 있도록.
나는 필요한 것을 다르게 할 준비가되어 있으며, 나는 파이썬으로 거의 모든 것이 가능하다는 것을 알고있다.
그래서 wsgi 응용 프로그램이 필요한 경우 어떻게 변경합니까? 다른 방법 (예 : paste
)보다 선호합니다.
은 내가이 문제와 관련된 아무것도 찾을 수 없습니다 때문에이 또한 다른 많은 사람들을 도울 수 있기를 바랍니다와 나는 많은 cherrypy 응용 프로그램과 유사한이 구성되어에서 상상할 수 있습니다. 나는 cherrypy 문서에서 많은 시간을 보냈지 만 어떻게 든 서로 다른 부분을 모을 수 없었습니다.
저는 New Relic에서 일하고 있습니다. 우리는 현재 CherryPy 서버 엔진을 사용하지 않는 Python 에이전트를 통해이 문제를 알고 있습니다. 우리는이 제한 사항을 고려하여 New Relic에서 응용 프로그램을 설치하는 방법에 대한 모든 설명이 필요하지 않으므로 support.newrelic.com에서 지원 티켓을 여는 것이 가장 좋습니다. . 그렇게하면 필요한 세부 정보를 얻고 문제를 해결할 수 있습니다. – lauradiane
알려진 문제에 대해 자세히 설명합니다.Cherry 엔진을 사용할 때 메트릭이 부분적으로 손실되는 문제를 조사 중이지만 현재 CherryPy 또는 계측과 무관 한 것으로보고 있습니다. cherrypy.quickstart()를 사용하여 스크립트에 적용 할 때 newrelic-admin 래퍼 스크립트는 작동해야하며 어떤 데이터가보고되어야합니다. 이 작업을 수행하는 단계에 대한 자세한 내용은 answer 답변을 참조하십시오. 이러한 단계를 따르고 있는지 확인하고, 일부 데이터를보고하지 못하는 경우 지원 티켓을여십시오. –