ruby-on-rails - 如何区分 Newrelic 中的 Rails API 调用?

标签 ruby-on-rails ruby ruby-on-rails-5 newrelic newrelic-platform

我使用 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_app 和 API 的另一个名称 api_app

有什么帮助吗?

最佳答案

您无法使用当前版本的 New Relic 代理执行此处概述的操作。这不是代理的工作方式;这不是 New Relic 的工作方式。

您有一个应用程序,其性能应作为一个整体来考虑。如果您能够将性能数据传送到不同的应用程序,您怎么能看出一个应用程序中的问题正在影响另一个应用程序?当事件和指标位于不同的应用程序中时,您如何关联它们?

更具体地说,有人可能会攻击应用 A 并对应用 B 产生负面影响,这可能会出现在应用 A、应用 B 或两者的性能数据中。这就是不支持此功能的原因:您不会在单个服务器上运行的单个应用程序的性能数据中设置人工墙。

按照预期的方式使用代理,并使用 New Relic transactions page in APMWeb transactions analysis report过滤到您关心的交易。您还可以使用 Insights event explorerfilter and chart您的交易数据。

关于ruby-on-rails - 如何区分 Newrelic 中的 Rails API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648716/

相关文章:

ruby-on-rails - Nginx 和乘客依赖问题( digital ocean 部署)

javascript - 为何今天如此插入客户端框架?

ruby - ERB:迭代数组并将每个值作为单行字符串的一部分输出

ruby - 如何覆盖 ruby 范围内的点?

css - Bootstrap Rails - 更改背景颜色,不起作用?

ruby-on-rails - 元编程 String#scan 和全局变量?

ruby - Ruby 中的公钥加密演示

ruby - 如何修复 Ruby 中的 Shebang 警告

ruby-on-rails - 在 Rails 中选择一个 has_many 关系

ruby-on-rails - Rails 5.1使用一条命令运行系统测试和普通测试