受 New Relic 监控的应用程序能否从自身内部明确生成事件警报?

can an app monitored by New Relic explicitly generate an incident alert from inside itself?

我正在使用 New Relic(Heroku 插件)来监控 Rails 应用程序。应用程序中有一个地方可以检测到“这不应该发生”的情况,这种情况通过 New Relic 的监控不容易检测到,我希望能够使用 New Relic notifications/alerts/whatever 立即发出耀斑该代码路径。有没有一种方法可以从应用程序内明确触发警报,这样我就不必再添加一个 gem/plugin 来处理事件警报?

(这似乎与 this 2013 question 相似,但从未得到明确答复,其评论中的链接现在已过时)

您可以使用 NewRelic::Agent.record_custom_event or NewRelic::Agent.notice_error 方法。

我会这样做:

begin
  this_should_never_happen
rescue Exception
  if defined?(NewRelic)
    error = StandardError.new('Boom!')
    NewRelic::Agent.notice_error(error)
  end
end