Rails - 使用标记或类型记录事件并接收电子邮件警报 - 最佳实践



想知道是否有人可以提供一些关于他们使用的日志记录技术的最佳实践,并可能使用 Airbrake、newrelic 或 loggly 或类似性质的东西标记某些事件?

例如,假设我有理论上永远不会击中我的控制器的事件,因为它们在前端受到保护 - 就像普通用户能够管理管理员一样。我使用 ruby if 语句防止在前端输出这些控件。因此,如果我的控制器遇到这样的请求,那么我知道要么该代码无法正常工作,要么有人正在对发送的请求进行黑客攻击。

无论哪种方式,我都想知道。我刚刚发现自己在写:

#TODO: Log this. Either the front end is broken or the user is sending hacked requests

想知道是否有人可以提供一些关于他们如何处理它的见解,也许使用第三方日志记录工具,也许使用某种标签,我可以使用该工具设置电子邮件警报?

来自

Airbrake的摩根在这里。我们没有空气制动器例外的标记。

使用我们的服务解决此问题的一种方法是从控制器向Airbrake发送自定义错误。
该错误将触发空气制动通知电子邮件,您将收到通知。

例如:

# find me in app/controllers/some_controller.rb
# custom error
class ControllerAccessError < StandardError
end
def action
  ...
  msg = 'front end is broken or the user is sending hacked request'
  e = ControllerAccessError.new(msg)
  Airbrake.notify_or_ignore(e)
end

以下是有关使用 ruby 手动向空气制动器发送错误的更多信息:https://github.com/airbrake/airbrake/wiki/Using-Airbrake-with-plain-Ruby

来自

Loggly的Jason在这里。您还可以设置新的记录器,然后记录您喜欢的任何内容。这使用纯 Ruby 代码,没有任何专有库。例如:

logger.warn("Regular user should not have access")

更好的是,您可以使用 JSON 字段来简化报告和筛选。我不是 Ruby 程序员,但我认为它看起来像这样?

logger.warn({:username => username, :type => "Access Violation", :message => "Regular user should not have access"}.to_json);

在 Loggly 中,您可以设置警报,以便在收到与此搜索匹配的消息时通过电子邮件发送

 json.type:"Access Violation"

相关内容

  • 没有找到相关文章

最新更新