문제
Ruby 에이전트가 제대로 시작되지 않거나 New Relic에 데이터를 보고하지 않습니다.
해결책
이 문제를 해결하려면:
Ruby 에이전트 버전 을 확인하고 필요한 경우 업데이트하십시오.
애플리케이션 환경에 newrelic_rpm
Ruby gem이 필요한 경우 자동으로 모니터링을 시작하고 New Relic으로 측정항목 전송을 시작할지 아니면 비활성화된 상태로 유지할지 결정합니다.
프로덕션 및 스테이징: 에이전트는 일반적으로 이러한 환경에서 자동으로 모니터링하도록 구성됩니다.
테스트 및 개발: 에이전트는 일반적으로 이러한 환경에서 비활성화된 상태로 유지됩니다.
이 논리를 제어하려면
newrelic.yml
의 각 환경 섹션에서monitor_mode
구성 키를true
또는false
로 설정합니다.
에이전트의 자동 시작 논리를 재정의하는 가장 쉬운 메커니즘은 NEW_RELIC_AGENT_ENABLED=true
환경 변수를 설정하는 것입니다. 예를 들어:
NEW_RELIC_AGENT_ENABLED=true rake assets:precompile
Ruby 에이전트 버전 3.6.1 이상을 실행하는 경우 에이전트가 시작을 거부하는 몇 가지 이유가 있습니다.
에이전트가 대화형 세션에 있음을 감지합니다. 예:
rails console
또는irb
세션.에이전트는 Rails의 내장 레이크 작업 중 하나에 있음을 감지합니다. 예:
assets:precompile
또는db:migrate
.Ruby 에이전트
newrelic.yml
파일의 구성 변수를 사용하여 상수, 스크립트 이름 및 레이크 작업에 대한 자동 시작 동작을 사용자 지정할 수 있습니다.변하기 쉬운
설명
상수
- 에이전트가 시작되지 않도록 해야 하는 Ruby 상수입니다. 쉼표로 구분된 목록을 허용합니다.
- 기본값은
"Rails::Console"
입니다. Rails::Console
이 환경에 있을 때 에이전트를 시작하도록 지시하려면""
으로 설정합니다.
레이크 작업
- 에이전트가 모니터링하지 않을 작업을 긁어모으십시오. 예:
assets:precompile
. 쉼표로 구분된 목록을 허용합니다. - 일반적으로
resque:work
과 같은 작업이 모니터링되기 때문에 모든 레이크 작업에서 Ruby 에이전트를 비활성화하지 않습니다.
실행 파일
- 에이전트가 자동으로 시작되지 않도록 하는 스크립트 이름(예:
irb
)의 목록입니다. 쉼표로 구분된 목록을 허용합니다. - 에이전트가 rake 작업에서 시작되지 않도록 하려면 이것을
"rake"
으로 설정하고, rake 및 사용자 정의 스크립트에서 시작하지 않도록 하려면"rake,my_ruby_script.rb"
로 설정하십시오.