APM 의 루비 에이전트를 사용하면 Google App Engine(GAE) 가변형 환경 에 상주하는 인력을 모니터링할 수 있습니다. GAE Flex 앱에 뉴렐릭을 추가하면 인사이트 앱의 상태와 성능에 대한 정보를 얻을 수 있으며 및 과 같은 솔루션을 사용하여 볼 수 있는 지표로 GAE를 확장합니다.
이 문서에서는 다음 방법 중 하나를 사용하여 GAE flex 앱에 New Relic을 추가하는 방법을 설명합니다.
- 표준 GAE 런타임을 사용한 Google App Engine의 "네이티브 모드" 설치
- 사용자 정의 런타임 을 사용한 Docker 설치
사용자 정의 런타임 방법에는 Sinatra 앱을 배포하는 예가 포함됩니다. 특정 라이브러리나 헤더가 필요한 경우 New Relic은 사용자 지정 런타임 방법을 사용할 것을 권장합니다.
GAE의 기본 지원을 사용하여 배포
Google App Engine '기본 모드' 설치를 사용할 때 앱 코드와 app.yaml
파일을 제공합니다. 그러면 Google App Engine이 사전 빌드된 표준 Docker 이미지에 배포합니다.
Sinatra 또는 Rails에 대한 기본 지원으로 배포하려면:
gem과 구성 파일이 설치되면 Ruby 에이전트는 GAE 가변형 환경에 있는 애플리케이션을 자동으로 모니터링할 수 있습니다. 배포가 완료될 때까지 기다린 다음 APM 요약 페이지 에서 GAE flex 앱 데이터를 봅니다.
Docker를 사용하여 사용자 지정 런타임 빌드
팁
Ruby 앱에 특정 라이브러리 또는 헤더가 필요한 경우 New Relic은 사용자 지정 런타임 방법을 사용할 것을 권장합니다. 또한 New Relic은 Google App Engine이 상태 확인을 처리하도록 허용할 것을 권장합니다.
맞춤 런타임 빌드에 대한 Google 문서를 참조하세요. 이 예제에서는 Docker용 사용자 지정 런타임을 빌드하여 GAE flex 앱에 New Relic을 추가하는 방법을 설명합니다. 이 예에서는 Ruby용 Sinatra 앱을 사용합니다.
GAE 가변형 환경에서 Ruby 앱 배포 및 구성에 대한 자세한 내용은 다음을 참조하세요.
- Ruby용 Google App Engine 문서
- Ruby용 Google App Engine 튜토리얼
이 문서가 설치하는데 도움이 되셨나요?
권장 사항: 상태 확인 처리
Google App Engine은 인스턴스가 성공적으로 배포되었는지 확인하고 실행 중인 인스턴스가 정상 상태를 유지하는지 확인하기 위해 정기적인 상태 확인 요청 을 보냅니다. 상태 확인은 URL /_ah/health
에 대한 HTTP 요청입니다.
사용자 지정 런타임을 만드는 경우 앱은 많은 수의 상태 확인 요청을 처리할 수 있어야 합니다. 그렇지 않으면 앱 데이터가 APM에서 올바르게 표시되지 않을 수 있습니다.
New Relic 은 Ruby 앱의 상태 확인을 허용 하여 Google에서 서비스가 제대로 작동되고 균형이 맞는지 확인할 수 있도록 권장합니다. 그러나 과도한 상태 확인으로 인해 혼잡한 트랜잭션 추적이 발생하는 경우 상태 확인 요청을 무시하도록 Ruby 에이전트를 설정할 수 있습니다.
- 상태 확인을 handle 하려면 앱에
_ah/health
에 대한 경로를 추가하세요. - ignore 상태 확인 요청을 하려면 특수의 루비 에이전트 구성에서
rules.ignore_url_regexes
구성 설정에'_ah/health'
포함하도록 설정하세요.
GAE에서 New Relic 에이전트 문제 해결 로그 가져오기
다음 리소스를 사용하여 GAE 플렉스 환경 앱 문제를 해결하세요.
GAE 인스턴스에 연결하고 코드를 실행하는 Docker 컨테이너에서 셸을 시작 하려면 인스턴스 디버깅 을 참조하세요.
Cloud Platform 콘솔 에서 New Relic Ruby 에이전트 로그를 Stackdriver 로 리디렉션하려면
newrelic.js
구성 파일을 다음과 같이 변경합니다.log_file_name: STDOUT로그를 보려면 Cloud Platform 콘솔의 로그 뷰어 를 사용하세요.