dynaTrace software 最近发布了 dynaTrace 3。dynaTrace software 是个应用性能监控(APM)供应商,它有助于 Java 和.NET 开发者洞察应用代码和环境配置中的性能问题(如线程池和连接池)。该版本具有如下特性:
- 全局事务跟踪
- 超越监控的业务事务管理
- 极佳的跨应用生命周期的自动化
- 开放的框架与开源
- 更少的人力成本
首先,凭借全局事务跟踪,应用管理员可以从协同工作的多个异构机器中捕获性能信息以解决业务问题。dynaTrace 所采取的方式就是将数据保存在收集器(collector)中,收集器位于运行中的组件旁边,在需要时就会将数据发送到 dynaTrace 服务器上。如果服务器距离很远(比如横跨大陆),那么收集器就会通过加密和压缩的 WAN 来传输数据以保证安全性和减少带宽。通过这种策略,收集器可以在远程运行,同时还可以重新装配分布于不同大陆的多个服务器上的事务。dynaTrace 通过字节码的 instrumentation 来收集跟踪信息和“纯路径(Pure Paths)”。当请求在各个端点上传递时,dynaTrace 会记录方法调用并在服务器边界处为其打上标记(对于 Web Service 调用而言是在 HTTP 头参数中),这样就可以获取请求传递的真实路径了。
dynaTrace 通过 24x7 的监控方案实现了业务事务管理(BTM),其目标在于展现监控环境下的业务视图。它使用百分比而不是平均值来计算数据,其背后的动机是:他们认为理解特定用户对应用的使用行为会揭示出一些细节信息,而简单的平均值统计是无法做到这一点的。最后,dynaTrace 提供了基于角色的度量板以使用不同的视图展现相同的数据,同时还可以使用该度量板进行角色划分,这样系统管理员就可以将问题归类到特定的技术上,Java EE 管理员能够判断出问题是来自于配置还是特定的组件,接下来架构师就能够找到问题的根源所在了。关键在于虽然数据是一样的,但可以根据查看数据的人而展现出不同的方式。
dynaTrace 集成了各种构建工具,如 Ant、NAnt 及 MSBuild,还有一些持续集成工具,像是 Cruise Control、Apache Continuum 和 Bamboo。这样我们就可以在构建过程中对应用进行自动化测试而无需与开发者交互——开发者只需在自动化测试结束后查看结果就行了。性能测试的自动化非常重要,因为无论对于任何应用来说,根据某个基准来手工运行自动化测试都是非常麻烦的,而且在持续集成环境下运行性能测试可以检查出引入到应用中的性能问题——这个时候发现的问题很容易解决。
dynaTrace 将其产品构建为能够自动发现并适应可视化环境,比如云。云计算主要的好处在于应用可以按需使用资源:如果需要额外的资源,新的服务器就会加到集群中;如果不需要那么多资源,服务器就可以从集群中移除。这简直太棒了,原因有二:(1)应用可以根据需要进行扩展。(2)减少了购买硬件资源(可能很少会用到)的花费,但这对监控提出了新的挑战,因为服务器时而可用,时而不可用。
我们使用可视化、集群和动态 SOA 环境这些需求设计了 dynaTrace 3 度量和度量系统。它可以自动发现服务、自动将性能结果集成到分析引擎和动态适应的度量板中。我们称其为“可适配的度量和度量板”。
dynaTrace 3 是个可接受基于 OSGi 插件的开放框架,他们还创建了一个社区门户,通过该门户公司可以根据开源协议共享插件。有时选择监控供应商的挑战来自于其解决方案并不支持公司所用的特定技术,但凭借可以定制插件的监控解决方案框架,公司可以更完全的监控其环境。
最后,dynaTrace 通过重用整个应用开发生命周期的资产来减少人力成本。这意味着同样的 sensor 和 instrumentation 以及度量板和可视化能够重用在开发、性能测试以及产品监控中,这样熟悉 dynaTrace 的性能测试与产品性能分析步骤的用户就能够理解其他步骤的数据了。
总之,dynaTrace 3 的目标在于监控分布式的动态环境,比如云。如果不支持公司所用的技术,凭借其开放的框架,开发者可以构建客户化的监控解决方案并将其集成到 dynaTrace 3 中。
查看英文原文: dynaTrace 3 Features Global Transaction Tracing, Cloud Support, and an Open Source Plug-in Model
评论