写点什么

Exceptional 和 Hoptoad 扩展 Rails 异常监控

2008 年 9 月 24 日

异常监控通常是一件重要而棘手的任务。而 Rails 插件

ExceptionNotifier 通过提供一个 mailer 对象和一组在 Rails 应用发生错误时发送邮件提醒的缺省模版,让这一切变得更加容易。 两家公司(

Exceptional

Hoptoad )则更进一步,提供了一个第三方服务来拦截异常并将其显示在 web 形式的界面上。当然,用户也可以选择继续使用通过邮件或短消息的传统通知方式。

我们采访了 Exceptional 公司的 Eoghan McCabe 和 Hoptoad 公司的 Matt Jankowski。

两家技术顾问公司的这一想法来自于所从事的对于内部以及外部 Rails 应用的维护经验

Hoptoad - 在过去的六个月中,我们已经在所维护的很多公司内部和客户的应用中使用这一服务,并且很高兴得看到我们的异常捕获服务从开始到现在一直在不断的完善壮大。

Eoghan 则代表 Expceptional 发言:

Exceptional - 在我们为客户构造应用时,我们非常重视监控性能、负载和异常。长时间以来,我们一直在使用 ExceptionNotifier 和 Logged_Exceptions 插件,它们确实非常有用。但我们希望能扩展这些插件,以使得它们能更好的适应我们的工作环境。我们想避免因为通知手段 唯一而造成的邮件泛滥,使我们能够通过多种方式获取通知,通过协作查研异常,从整体上对我们所管理的所有应用中出现的异常有足够的控制力。

Exceptional 和 Hoptoad 都推出不久(Exceptional 仍处于 beta 版阶段)。这两个服务都在不断推出新功能。从正式发布以来,Hoptoad 已经捕获了超过 300000 个外部应用的异常。

从技术方面,Eoghan 列出了 Exceptional 所使用的 Rails 插件:

  • UltraSphinx – 提供了非常稳定的搜索索引
  • WillPaginate – 几乎所有的 Rails 工程都需要这一插件
  • hubahuba – 为基本类提供了令人称道的扩展
  • rspec

Matt 也列出了 Hoptoad 所使用的插件列表:

  • 一个原始的 Rails 应用(如果我们要考虑规模问题,我们会将“错误捕获部分”与应用的其他部分相分离,并且 / 或增加服务器)
  • Hoptoad 自己开发的测试工具(shoulda + factory girl)
  • Intridea 的 subdomain_fu 插件,以及 DHH 的 openid 插件
  • 为整个应用使用的 Firstly HAML
  • EngineYard 提供的部署托管

在安装后 Exceptional Hoptoad 后,应用中的异常将会被拦截下来,并报告给 Exceptional 界面。您可以根据自己的偏好决定 Exceptional 界面的具体形式,比如 Email 通知或手机短消息(短消息这一功能只有 Exceptional 提供)。异常的发生路径会被自动追踪,其状态也可以转换为“已解决”,“已关闭”或“已忽略”。 Exceptional 当被问及相对于竞争对手,其各自应用有什么 killer 级特性时,二者的回答看起来有些类似。Eoghan 给出了 Exceptional 一些看起来优于 Hoptoad 的特性:

Exceptional 所专有特性的重要性已经被我们的用户所验证,包括注释,与 Lighthouse 的集成,与 Campfire 的集成,短消 息通知等。我们还可以处理 404 类的异常并计划提供一个比较优雅的界面来管理这类异常。而 Hoptoad 则会忽略 404 类的异常,正如 ExceptionNotifier 那样。

此外,Exceptional 专注于服务 Rails 应用,而 Hoptoad 则并不特定于某种框架:

我们专注于 Rails,所以我们可以让我们的服务更加贴近 Rails,帮助 Rails 应用的开发者解决他们特定的问题。

在 Web 应用中,您打算如何处理异常和异常通知呢?

2008 年 9 月 24 日 09:08371
用户头像

发布了 24 篇内容, 共 20282 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

记一次JVM OOM 实战优化

AI乔治

Java 架构 JVM OOM

28天带你玩转Kubernetes--第一天(课程介绍)

Java全栈封神

Kubernetes 云原生 k8s入门 28天写作 k8s教程

自下而上的问题清单

将军

28天写作

我能加入写作训练营,一切都因为...

李忠良

个人成长 驱动力量 28天写作

视频号发展简史&第一天数据 | 视频号28天(02)

赵新龙

28天写作

生产环境全链路压测建设历程 24:FAQ 5、6负载均衡、如何不影响正常业务?

数列科技杨德华

28天写作

架构师训练营大作业(一)

曾彪彪

「架构师训练营第 1 期」

架构师训练营大作业(二)

曾彪彪

「架构师训练营第 1 期」

一致性Hash算法

andy

有技术和落地,区块链才能创造价值

CECBC区块链专委会

区块链

第2周总结-架构中的设计模式

潘涛

架构师训练营 4 期

区块链挖矿系统APP软件开发

开發I852946OIIO

系统开发

在 win 10 上安装 Elasticsearch 7.10.1

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

期末大作业(一)

TheSRE

能上能下

张老蔫

28天写作

我们为什么要学习Springboot?

武哥聊编程

Java springboot SpringBoot 2 28天写作

小心!你可能搞了个假的头脑风暴!

Justin

团队协作 28天写作 头脑风暴 群体迷思 创造性思维

序言 基层管理者技能修炼的九把刀

一笑

管理 28天写作

关系中的密码:麻烦

熊斌

个人成长 28天写作 亲密关系

大作业一

fmouse

架构师训练营第 1 期

第2周课后练习-OOD的五大原则

潘涛

架构师训练营 4 期

架构师训练营第 1 期 - 大作业1

Anyou Liu

架构师训练营第 1 期

单向链表合并实战

andy

智慧城市发力,区块链助力土木建设数据存储

CECBC区块链专委会

土木建设

HDFS SHELL详解(1)

罗小龙

hadoop 28天写作 hdfs shell

RocketMQ学习笔记

大刘

RocketMQ MQ 消息队列

大作业二

fmouse

架构师训练营第 1 期

三只猫

Flink 自定义Avro序列化(Source/Sink)到kafka中

大数据老哥

大数据 flink hadoop

学创业,读毛选 Jan 9, 2021

王泰

28天写作 读毛选,学创业

解读《Java开发手册(泰山版)》- 会当凌绝顶,一览众山小

xcbeyond

Java Java开发手册 28天写作

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

Exceptional和Hoptoad扩展Rails异常监控-InfoQ