Python 에이전트를 사용하면 자동 또는 수동으로 웹 페이지에 브라우저 모니터링을 추가할 수 있습니다. 사용자 인터페이스에서 활성화하려면 브라우저 에이전트 설치 절차를 따르세요. 그런 다음 이 섹션의 절차에 따라 Python 에이전트를 설정하세요.
Python 에이전트와 함께 브라우저 에이전트를 사용하려면 최신 릴리스인지 확인하십시오. 자세한 내용은 에이전트 설치 지침 을 참조하십시오.
자동 계측 지원
Python 에이전트는 기본 WSGI 인터페이스가 있는 전용 WSGI 서버에서 직접 호스팅되고 WSGI 애플리케이션이 반복 가능/생성기를 통해 HTML 페이지 응답을 반환하는 WSGI 애플리케이션에 대한 자동 계측만 지원합니다.
자동 계측에는 전용 WSGI 서버가 필요합니다.
- Apache/mod_wsgi, gunicorn 및 uWSGI와 같은 WSGI 서버가 지원됩니다.
- Tornado 또는 Twisted 프레임워크 위에 WSGI 어댑터를 사용하는 것은 지원되지 않습니다.
Python 에이전트는 WSGI start_response()
함수에서 반환된 write()
콜백을 사용하여 HTML 페이지 응답을 다시 쓸 때 계측 삽입을 지원하지 않습니다. 자동 계측 요구 사항에 대한 자세한 내용은 Python에서 브라우저 계측 문제 해결 을 참조하십시오.
자동 계측 사용
Python 에이전트는 브라우저 JavaScript 에이전트를 HTML 페이지 응답에 자동으로 추가할 수 있습니다. WSGI 애플리케이션의 경우 에이전트는 요청 파이프라인에 설치된 WSGI 미들웨어를 사용합니다. 미들웨어는 WSGI 수준이므로 자동 계측은 Django, Flask 및 Pyramid와 같은 인기 있는 Python 웹 프레임워크를 포함하여 사용 중인 웹 프레임워크에 관계없이 모든 WSGI 애플리케이션에서 작동해야 합니다.
특정 페이지에 대한 계측 비활성화
자동 계측을 사용하고 싶지만 계측하지 않으려는 HTML 페이지 응답이 있는 경우 해당 요청에 대한 계측을 비활성화할 수 있습니다. 이 Python 에이전트 API 호출 을 해당 요청 핸들러의 코드에 추가합니다.
newrelic.agent.disable_browser_autorum()
Apache/mod_wsgi와 같이 요청별 구성 을 허용하는 WSGI 서버를 사용하는 경우 모니터링되는 애플리케이션에 전달된 WSGI 환경 사전에서 해당 요청에 대한 newrelic.disable_browser_autorum
키를 설정하여 자동 계측을 비활성화할 수도 있습니다.
예를 들어 Apache/mod_wsgi를 사용하는 경우 URL을 필터링하여 자동 계측을 비활성화할 수 있습니다.
<Location /login>SetEnv newrelic.disable_browser_autorum true</Location>
특정 페이지에 대한 브라우저 모니터링을 수동으로 활성화
특정 페이지에 브라우저 계측을 수동으로 추가할 수 있습니다. 예를 들어 애플리케이션에 자동 계측이 가능하지 않은 경우, 임시 콘텐츠 보안 정책을 사용하는 경우 또는 특정 페이지에 대해서만 브라우저 데이터를 수집하려는 경우에 유용합니다.
이 절차의 호출은 모니터링하려는 every 요청에 배치되어야 합니다. cannot 전역 범위에서 이러한 함수를 한 번 호출하고 나중에 사용할 수 있도록 결과를 캐시합니다.
중요
Python 에이전트 버전 9.4.0 이상부터 get_browser_timing_footer
API 더 이상 사용되지 않으며 항상 빈 문자열을 반환합니다. get_browser_timing_footer()
의 이전 기능은 이제 get_browser_timing_header()
에 포함되었습니다.
이전 버전의 에이전트에서는 브라우저 에이전트를 로드하려면 바닥글이 필요합니다.
자동 계측 비활성화: newrelic.ini 파일에서
browser_monitoring.auto_instrument
false
로 설정합니다.응용 프로그램을 다시 시작하십시오.
모니터링하려는 every 페이지의 요청 핸들러에 다음 호출을 배치합니다.
import newrelic.agentheader = newrelic.agent.get_browser_timing_header()# The footer is required on Python Agent versions 9.3.0 and below.footer = newrelic.agent.get_browser_timing_footer()header
및 가능하면footer
변수를 HTML 응답에 전달합니다.해당 페이지에서
<head>
요소에header
변수를 삽입합니다. 값이X-UA-Compatible
인http-equiv
에 대한charset
속성 또는 메타 태그 뒤에header
변수를 배치합니다.필요한 경우
<body>
요소 끝 앞에footer
변수를 삽입합니다.
몇 분 정도 기다린 다음 브라우저 모니터링 데이터를 확인합니다 . 몇 분 동안 기다린 후에도 데이터가 나타나지 않으면 Python에서 브라우저 계측 문제 해결 을 참조하세요.
CSP 논스 지원
브라우저 계측의 CSP Nonce 사용은 Python 에이전트 버전 9.4.0 이상에서 지원됩니다. 브라우저 계측과 함께 nonce를 사용하려면 브라우저 모니터링 자동 계측을 비활성화하고 에이전트 API를 통해 수동 계측을 사용해야 합니다.
이제 에이전트가 임시값을 브라우저 계측에 삽입할 수 있도록 API 메소드에 임시값을 인수로 전달할 수 있습니다.
자동 계측 비활성화:
newrelic.ini
파일에서browser_monitoring.auto_instrument
false
로 설정합니다.응용 프로그램을 다시 시작하십시오.
모니터링하려는 every 페이지의 요청 핸들러에 다음 호출을 배치하고 "NONCE"를 CSP nonce로 바꿉니다.
import newrelic.agentheader = newrelic.agent.get_browser_timing_header("NONCE")header
변수를 HTML 응답에 전달합니다.해당 페이지에서
<head>
요소에header
변수를 삽입합니다. 값이X-UA-Compatible
인http-equiv
에 대한charset
속성 또는 메타 태그 뒤에header
변수를 배치합니다.