我使用Rails 5来提供网站和RESTful API,我使用Newrelic(newrelic_rpm
gem)来监控应用程序性能。
目前,gem监视器向所有请求提供一个应用程序名称。
让我们说我的路线看起来像:
Rails.application.routes.draw do
resources :users
namespace :api do
namespace :v1 do
resources :users, only: :index
end
end
end
此处/users
是网络应用的路由,api/users
是API的路由。现在,一旦我使用newrelic_rpm
,它就不会看到API与网络之间的差异。
我希望对报告进行更多分离,以便将Web请求记录到特定的应用名称,例如web_app
,并为API另一个名称api_app
。
有任何帮助吗?
答案 0 :(得分:5)
您无法使用当前版本的New Relic代理执行此处概述的操作。这不是代理人的工作方式;那不是New Relic的工作方式。
您有一个应用程序,其性能应被视为一个整体。如果您能够将性能数据路由到不同的应用程序,您怎么能看到一个应用程序中的问题影响其他应用程序?如果将事件和指标放在不同的应用程序中,您如何关联它们?
更具体地说,有人可以攻击应用A并对应用B产生负面影响,这可能会出现在应用A,应用B或两者的效果数据中。这就是为什么不支持此功能的原因:您不会在单个服务器上运行的单个应用的性能数据中设置人工墙。
按照预期的方式使用代理,并使用New Relic transactions page in APM和Web transactions analysis report过滤到您关注的交易。您还可以使用Insights event explorer filter and chart Transaction
数据。