我刚刚在我的 RefineryCMS Rails 3.2.3 应用程序中安装了 newrelic_rpm gem。我按照说明复制了 newrelic.yml 配置文件。我的应用程序正在 Cedar 堆栈上与 Heroku 一起部署,因此说明非常简单。
https://devcenter.heroku.com/articles/newrelic#cedar
然而,在我的开发箱上运行“rails server”给了我这个错误信息:
/home/xxx/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection': ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished)
在 newrelic.yml 文件中将 agent_enabled 值设置为“false”允许服务器再次启动。设置我的许可证密钥和应用程序名称环境变量没有任何区别。
有趣的是,即使我无法在我的开发盒上启动该应用程序,但当我将它部署到 Heroku 时,一切正常——我现在得到了新的遗物统计信息。伟大的!
我的解决方法是从 gemfile 中删除 newrelic_rpm(这是安装说明所说的),并将其仅放入 :production 组。显然,新遗物只在生产中有用,所以没什么大不了的。
group :production do
... other gems
gem 'newrelic_rpm'
end
其他任何人都经历过这种情况,或者知道为什么它会导致 ActiveRecord 错误(在 new relic 的错误跟踪中根本没有提及)?