Java 开发者最有用的监控工具有哪些呢?

澳门新葡亰手机版 5

随着Java生态系统的发展,用户性能需求的提高,一类新的开发工具应运而生。与传统方法相比,它们既可以满足在一个快节奏的环境中快速部署所需要的错误跟踪需求,又能在一个更深的层面上观察应用程序的行为。近日,软件分析公司Takipi汇总介绍了五款这样的工具。

Raygun是一款基于Web的错误管理系统,用于跟踪应用程序异常。它支持多种桌面、移动和Web编程语言,包括Java、Scala、.NET、Python、PHP和JavaScript,其主要特点如下:

监测是当今生产环境中很重要的一个功能。错误和性能问题任何时间都会出现 ——
不仅仅在业务时间内 —— 所以好的监控工具需要 7 天 24
小时。目前有许多从不同角度解决这个问题的工具,所以弄清楚去采用哪个不是那么简单。

  • 错误分组——同一Bug多次出现会显示在同一个组中;
  • 全文搜索——错误组及所有收集到的数据都是可搜索的;
  • 查看应用活动——错误组上的每个动作都会展示给所有的团队成员,如状态更新、评论等;
  • 受影响的用户——每个错误影响的用户数;
  • 外部集成——Github、Bitbucket、Asana、JIRA、HipChat等。

今天,我带来了 7 个监测工具以及它们的新一面,它们都是值得考虑作为像 New
Relic 或 AppDynamics 的替代或补充。这些工具包括混合开源和 SaaS
模式,它们每个人都有其在度量、可视化或跟踪错误方面的专长或缺憾。

Sentry是一个基于Web的开源解决方案,用于实时地事件日志记录和聚合,支持的语言包括Ruby、Python、JS、Java、Django、.NET等,其主要特点如下:

澳门新葡亰手机版 1

  • 可以实时查看新部署的影响;
  • 在用户访问因错误而中断时,可以利用Sentry日志向他提供支持,帮助他恢复访问;
  • 检测并防止欺骗——比如,如果购买、身份验证次数超出正常范围,Sentry就会发出通知;
  • 可以集成GitHub、HipChat、Heroku等。

SaaS工具

Takipi是一个软件即服务(SaaS)模型,使用Java代理实时地进行代码分析及跟踪代码变化。它的大部分分析工作都是在云上完成的,支持JVM语言,包括Java、Scala、Clojure、Groovy、JRuby、Jython等,其主要特点如下:

1. Datadog

  • 澳门新葡亰手机版,检测——所有捕获和未捕获的异常、HTTP和日志错误;
  • 按优先级排序——错误在整个集群中的发生频率、是否包含新的或修改过的代码、频率是否在增加;
  • 分析——查看具体代码和变量状态;
  • 易于安装;
  • 系统资源开销少于2%。

Datadog 是 SaaS 监测工具,针对 DevOps
团队,从你的 app
或者其他各种工具获取数据并提供数据可视化功能。它把从你基础设备和软件采集的数据统一处理并存储。允许你创建仪表盘和搜索访问你提供的数据。他们目前提供数据的聚合和展示而不是提供数据分析。

Airbrake为用户提供了一个基于Web的界面,上面有一个仪表板,记录了错误的详细信息以及特定应用程序的视图,支持的语言包括Ruby、PHP、Java、.NET、Python、Swift等,其主要特点如下:

Datadog 的一个优点是了开放所有
API,可以让你很灵活的开发自己的指标或整合。

  • 详细的堆栈跟踪信息,根据错误类型、用户和环境变量分组;
  • 提高团队生产力——从繁杂的信息中过滤出重要的错误;
  • 团队协作——查看哪位成员导致了Bug以及哪位成员正在进行修复;
  • 外部集成——包括HipChat、 GitHub、JIRA、Pivotal等共30多种。

澳门新葡亰手机版 2

StackHunter是一款自托管的Java异常跟踪工具,目前还是测试版。它可以将异常通知给开发者,并帮助他们更快地解决问题,其主要特点如下:

Datadog 仪表盘示例

  • 可以在单个自托管的Web界面上查看所有异常;
  • 收集堆栈跟踪数据和上下文信息,例如,异常、受影响的用户、受影响的会话等;
  • 在异常发生时立即发送警告邮件;
  • 根据异常产生的根本原因将其分组。

缺点: Datadog
尚未提供太多数据统计功能,做为一个监控软件,这些功能可能恰恰是你正在寻找的。他们还需要植入你的代码,这会产生代码依赖。

此外,还有一款值得一提的工具是来自Fedora
生态系统的ABRT。这是一款自动Bug检测和报表工具。与上述五款工具的不同之处在于,其用户既可以是应用程序开发者,也可以是应用程序的用户。不过,它对Java异常的支持尚处于概念验证阶段。

费用:它有免费版本和15美元/台/月的标准版本,标准版费用可上下浮动,浮动的多少要看主机的数量。

java支持方面:官方文档中说明,Datadog API 支持 Python,Ruby 和
C#。不过,由于它的 API 访问是开放的,因此 Datalog 社团编写了几个 Java
方面的库,其中包括对 StatsD 和 Codahale 测量支持的库。

其他:由于 Datadog
具有告警功能,而且可监控性能,因此它可作为一个价格相对便宜的应用程序性能监控器(APM)。有许多集成方案可以让你毫不费力地把它集成到你的运行环境
中。Datadog
是一个强大的采集并可视化测量结果的工具,而不是分析工具,因此如果你需要的是分析工具,那就要另寻它物了。

2. Ruxit

它由 Dynatrace 开发,Ruxit 是一个应用性能监控工具,它作用于 SaaS
模型。它通过 SaaS 提供不同的 APM
体验,并工作在高扩展性环境中。它作为一个代理安装,不需要你配置环境,它还提供了一个类似于
New Relic
的易于安装的工具。他们监控用户的活动,应用性能,服务器和网络活动。

澳门新葡亰手机版 3

Ruxit面板

缺点: Ruxit 没有在空间上提供很多深度功能给其他的 APM 工具。

消耗: Ruxit
监控应用会消耗 $0.15/主机/小时,并且对真实的用户监控(Real User
Monitoring)来说每 1000 个访问者就花费 $0.15。

The Java Angle: Ruxit 可以工作在任何 Java 1.5 版本以上的 Java
服务器上。Java 是他们首选语言,因此能获得更好的支持。

Takeaway: Ruxit 是一个 SaaS APM
工具,并且它易于安装也易于集成到你的环境中去。工具为你的环境提供一个良好的范围广度,并提供几个不同区域的视图。

3. Takipi

Takipi告
知你生产环境下的代码在什么时候、因什么原因而终止执行。它对所有错误进行检测,同时会给出出现错误时代码的位置和变量的状态。Takipi
是以 Java 代理的身份运行的,与任何日志文件无关,这样就会减少小于 %3 的
CPU 和 IO 运行花费。安装 Takipi
的时候,也不需要进行代码更改,不需要安装二进制依赖包或者进行构建配置的设置。就像集成
JIRA 和 Slack 那样,Takipi 可以非常简单地插入到工作流程中。

澳门新葡亰手机版 4

Takipi 的错误分析界面

缺点:它是一个只可用在 JVM 层上的工具,因此 JVM
不支持的语言它也不支持。目前,它也没有可以与其他告警工具集成在一起的
API。

费用:免费级;专业级,其费用可上下浮动,69美元/服务器/月;企业级。级别的划分是根据保存的数据量,分析的错误数和部署选项而确定的。

Java支持方面:Takipi 是运行在 JVM
层上的工具。任何不需要其它环境就可以运行在 JVM 上的语言,它都支持。

其他:与其他停留在栈追踪层级的工具不同,Takipi 深入到 JVM
层级上,可以按照你的要求向你展示实际运行的代码和变量的状态,以达到对每个错误的解析。通过
Takipi,你可以确定是否是新部署终止了正在运行的代码,
通过深入地分析应用出现的所有错误,聚焦出问题的关键所在。

4. Rollbar

Rollbar
着眼于错误追踪与监控。它使用堆栈追踪来捕捉应用中出现的错误。这样做的好处是可以支持更多的语言和环境。Rollbar
也提供手工方式深入异常、事件内部,并提供报告的能力。除提供强大的异常捕获能力外,还提供了一些警报和分析能力。

澳门新葡亰手机版 5

Rollbar 仪表板