应用程序一旦迁移到了云端,管理起来就变得更困难重重了。云应用程序性能管理和性能监控工具则可以帮助识别瓶颈及其他性能度量指标。
优秀的工具有助于确定是否可以将瓶颈隔离到应用程序本身,或者是否某家提供商存在影响整个系统的问题。最精准的工具甚至能够深入到应用程序内部,查看数据库查询等个别进程是否在最佳状态下运行。
为此,我们测试了四款商用产品:Exoprise CloudReady、AppNeta、ThousandEyes和Dynatrace。我们主要着眼于部署简易性、日常管理、总体功能和成本。我们并没有过于关注网络开销,不过这肯定也是需要考虑的一个方面,在需要部署代理(agent)的环境下更是如此。
这四款产品的功能都相当强大,提供了丰富的功能,并不仅限于基本的网络和应用程序监控。它们的区别在于它们提供的洞察力精细程度和解决方案的重心。
AppNeta夺得了我们的最佳明智选择测试(Clear Choice Test)大奖,这主要归功于撒下一张大网的模块化设计,不过有些方面需要注意。它还拥有成熟、最新的用户界面,易于浏览和使用。由于提供了众多的功能特性,AppNeta让你可以执行大多数监控任务,从非常简单的响应度量指标,到深入了解Web应用程序的每个基本细节,不一而足。
要注意的方面主要涉及成本和学习难度;为了充分利用所有功能特性,你就需要购买几个模块的许可证,另外还要花点时间让员工熟悉功能特性。并非所有企业组织都有时间或有意向分配充分利用整个解决方案所需要的资源。然而,仔细检查Web应用程序时让你可以记录步骤的脚本生成器有助于使这个过程的自动化程度再提高一点。
第二名是Exoprise CloudReady,未必是由于其全部的功能特性,其功能特性很强大,但不如AppNeta来得全面。Exoprise CloudReady绝对是最简单易用的解决方案,可以迅速搭建并运行起来。对于许多IT管理员分配给另一项任务的时间少得多可怜,我们感同身受,所以很喜欢这个优点。价格体系也非常有竞争力,而且简单易懂。
ThousandEyes和Dynatrace并列“季军”,它们都提供了非常好的应用程序监控功能。Dynatrace在应用程序洞察力方面与AppNeta TraceView模块不相上下,不过安装起来有点复杂;我们认为,其界面在“人机工程学”方面可以做得更好。一大利好是,它可以作为独立式解决方案在企业内部运行,不需要与第三方基础架构进行联系。
ThousandEyes之所以与AppNeta平分秋色,就在于它提供了进行简单监控的功能,同时又允许提供相当全面的应用程序洞察力。由于提供了全球100多个地方可供测试,ThousandEyes让管理员们能够从全世界的每个角落查看应用程序运行如何。ThousandEyes还有一项非常酷的功能,让你可以与别人实时共享活动数据或快照数据,不需要另外订购产品。
下面是每款产品的具体测评:
Exoprise CloudReady
CloudReady可以监控众多云应用程序和在线服务,比如AWS、Azure、Office 365、电子邮件、Salesforce、DropBox和SharePoint。它不需要将代理安装到目标系统上,但是如果你想要从自己的基础架构来进行监控,就需要轻量级传感器代理。除了较传统的网络路径诊断外,CloudReady还使用综合事务监控以模拟典型的用户事务,另外还能汇总来自所有客户的合并数据,更清楚地显示通用网络基础架构的概况,让客户可以准确查明潜在瓶颈。
Exoprise可以从托管运行的Web界面或安装在本地的Secure Management Shell(安全管理外壳)加以管理;你可以从Web界面或安全管理外壳来部署传感器。
只需要几分钟就可以上手,提供了15天免费试用服务。我们提供了一些基本信息后,随时可以装入在线仪表板,仪表板界面直观而整洁。第一步是创建一个或多个传感器。传感器可以部署为“公共”或“专用”,区别在于“公共”传感器在Exoprise基础架构上的云端运行,而“专用”传感器则在你自己的基础架构上运行。
我们从基本的公共ping传感器开始入手,它使用简单的向导程序来配置,向导程序让你可以输入5个IP地址或网站。我们选择了既输入IP地址,又输入网站。下一步,我们选择了间隔时间,确认了从哪一台Exoprise服务器来进行ping。选择包括西海岸和东海岸选项,还有分别位于澳大利亚、日本和欧洲的一个位置。我们在等待ping数据开始收集的同时,配置了一个“专用”传感器,监控其中一台SMTP服务器。
第一步是下载和安装安全管理外壳,这实际上是一款类似浏览器的应用程序,在本地运行。它与标准的网站版本有着同样的外观感觉,这是我们喜欢的一项特性。安全管理外壳建立了“站点”,你可以从该站点部署传感器,这意味着你可以在整个企业里面建立“站点”,以便从一个或多个地方同时监控公共基础架构和专用基础架构。
外壳的安装和配置只需要短短1分钟,之后我们可以准备部署第一个“专用”传感器了。我们决定检查其中一个主机托管的电子邮件帐户的状态。与“公共”传感器一样,向导程序询问电子邮件登录信息、多久检查、最后从哪里检查。最后一步有别于“公共”传感器,原因就在于你选择了其中一个自己的基础架构站点。这有可能是台式机、服务器或者虚拟机。
传感器收集的数据显示在仪表板上,用户可以使用外壳或Web界面来访问仪表板。仪表板一目了然,每个传感器都有一个小小的“窗口组件”显示区,提供了每个传感器的概要信息。仪表板上的项目可以按状态、位置和类型等标准来排序。比如说,一个传感器可以显示Azure的上传和下载速度图形,另一个传感器可以显示某一台DNS服务器的NDS查询时间。我们发觉“趋势”图标大有帮助,因为它们显示了标以色码的状态图标(分为绿色、橙色和红色),可以表明某应用程序是不是在正常运行。
仪表板还显示了每个传感器的警报历史记录,你可以点击、向下挖掘,了解更详细的信息。细节页面提供了基于传感器类型的上下文相关信息。这可能包括网络路径性能、数据点细节和错误等几项信息。可以针对任何传感器来配置警报;警报选项取决于传感器类型。警报配置界面的粒度相当细,警报通知还可以通过电子邮件来发送。我们发现定价体系异常简单;每个传感器每月100美元,最多支持20个传感器;至于头20个传感器之后的传感器,提供了折扣价格:每月90美元,支持21个至40个传感器,依次类推。还提供全年价,折扣幅度相当大。比如说,如果按月付费,100个传感器是每月80美元;如果按年费用,价格降至每月50美元。
最终测评结果
我们喜欢CloudReady的安装简易性和基本配置。只要几分钟就能搭建并运行起来。我们还喜欢许多预先配置的传感器。虽然CloudReady的功能特性不如这次测评的另外一些产品来得丰富,但它提供的那些功能特性确实很出色。
AppNeta
AppNeta提供了这家厂商所说的“全栈”(full stack)应用程序性能管理功能。四个不同的模块(TraceView、AppView、PathView和FlowView)共同组成了一套解决方案,可以监控Web应用程序、软件即服务(SaaS)和应用程序网络的性能,并结合其他的网络性能监控和分析功能。从AppNeta托管运行的Web界面来进行监控;传感器可以从你自己的基础架构来运行,也可以从AppNeta在全球分设的地方来运行。有几项不需要部署代理就可以监控,但是为了使用TraceView模块,你就需要将代理部署到运行Web应用程序的服务器。
AppNeta的一些功能特性可以免费试用,但是为了测评整套解决方案,该厂商为我们提供了一个PathView硬件设备。该设备共有六种款式,既有小巧的掌上型款式,也有庞大的机架型款式。它还提供了一款VMware虚拟机,但还没有推出面向甲骨文VirtualBox或微软Hyper-V的款式。
我们测试的这个设备是中等大小的r-40,这个1U机架单元由AppNeta预先配置,附有客户提供的信息,比如用户名、密码和IP地址等信息。该设备实际上就是一个代理,可以用来检查内部部署的应用程序或部署在云端的应用程序。客户可以部署一个或多个设备(虚拟或物理设备),以便从多个地方获得洞察力。一旦搭建并运行起来,我们从Web界面访问该设备,界面还提供了额外的配置选项。对大多数安装环境而言,除了初始配置,该设备基本上不需要操心。
主要的管理功能从AppNeta托管运行的PathView Cloud Web应用程序来执行。一旦我们登录进去,迎面看到的屏幕显示了刚安装上去的设备;为它赋予位置名称后,我们可以准备试用了。AppNeta Web应用程序会在左侧导航面板显示已启用的功能特性,具体取决于你的订购级别。仪表板提供了AppNeta所收集的数据的基本概况,除了警报、系统状态、所连接设备的数量外,还有所用许可证的数量和可用的许可证。
第一个模块PathView提供了洞察力,以便用户了解两个网络点之间的路径的端到端性能,比如从一个地方访问另一个地方的应用程序。路径通过一个小巧的向导程序来配置,它可以指导你逐步完成这个过程。我们建立了一条路径:从r-40设备到我们在商用数据中心的其中一只路由器,数据中心与我们的测试中心不在同一处。这提供了对路径逐跳分析的功能,附有延迟、数据丢失和往返时间等方面的信息,能够向下挖掘,获取每个跳段的额外细节以及消除瓶颈的建议。数据以几种格式来显示,但我们尤其喜欢每个类别的图形一目了然。路径可以按照需要来运行,也可以按计划来运行,按设定的间隔时间更新。
下一个模块AppView可监控最终用户体验得到的HTTP性能。AppView可以从设备(AppView Enterprise)来使用,也可以从AppNeta在全世界部署的众多可用设备中的一个来使用。首先,我们手动创建一个任务,将评估一家大型商业网站的几个不同的最终用户方面,比如总体响应时间和吞吐量。
#p#
AppView还提供了脚本生成器,这其实是火狐浏览器的一个附件。它实际上记录下了你在浏览网站或Web应用程序时的浏览行为,并将其保存为脚本,那样你可以使用该脚本,自动重复与任务同样的步骤。我们配置了脚本,以便浏览至网站,点击几个链接,使用用户名和密码登录进去,再点击几个链接,然后退出去。一旦AppView监控器设置完毕,就可以从仪表板来查看它们,仪表板显示了世界地图,并附有每个监控地方的准确位置,只要点击这些位置,即可向下挖掘、获得额外细节。
TraceView模块详细地显示了使用PHP、.Net、Java、Ruby及其他技术的Web应用程序的情况。这需要将代理安装到有待监控的应用程序上。你可以根据自身环境建立自定义代理,只要打开/关闭选项,并提供下载链接。安装向导程序提供了你在安装代理时服务器上线的实况视图。安装了每个代理后,我们就能够在PathView Cloud管理控制台中查看应用程序了。TraceView让你可以关注应用程序从前端到后端的方方面面。比如说,我们能够发现:每当对数据库进行调用,速度一向很慢;这准确地指明了我们为提高性能而需要克服的瓶颈。
AppNeta解决方案的第四个模块FlowView与PathView设备协同运行,分析流经设备的流量类型。流量可以分成1200多个类别,比如说游戏、业务应用程序和社交媒体。分析结果显示在图形化界面中,界面显示了流量是如何分配的。
厂商告诉我们,价格体系实际上按你构建的应用程序和订购的应用程序种类来细分。即便明白了这一点,我们还是发觉价格体系有点过于复杂,不合我们的意。比如说,TraceView有项目(Project)、初创公司(Startup)和企业(Enterprise)这三种版本,项目版本免费,另外两种版本每个主机每月分别是79美元和119美元。AppView同样有三种版本:全球(Global)、办公室(Office)和数据中心(Data Center),价格分别是每月39美元、338美元和868美元。全球版本按监控器定价,而办公室版本和数据中心版本各自包含10个监控器和40个监控器。后两者还包括PathView,无须额外成本,但是需要另购许可证,办公室版本和数据中心版本的价格分别是每月239美元和每月729美元。之外,如果你再添加FlowView,每月还要另付338美元或868美元。
AppNeta有许多可圈可点之处,包括出色的用户界面,以及可以从全球第三方位置和你自己的基础架构,灵活地进行监控。此外,AppNeta让你可以执行简单的检查,查看云应用程序是否响应,或者使用TraceView深入挖掘,真正获取细节,了解应用程序运行到底如何。缺点就是,为了利用所有的功能特性,你得购买所有相应的许可证,还要尽快学会不同的功能特性。另外,一些云服务提供商可能不愿安装利用AppNeta TraceView功能特性所需的必要代理。
ThousandEyes
ThousandEyes既可以使用企业代理或云代理来部署,也可以使用浏览器插件来部署,提供最终用户可见性。ThousandEyes云代理由ThousandEyes在全球100多个地方统一分发、安装和管理,由多个客户共享。除了监控内部部署的应用程序外,ThousandEyes还能监控SaaS应用程序以及IaaS。此外,你可以从多个地方运行自己的代理:分支机构、数据中心或重要客户的场所。
只需要几分钟就可以入手;首次启动仪表板后,我们看到了几个支持选项,包括“入门”屏幕播放以及与技术支持人员聊天的选项(这是我们青睐的选项,因为你不需要打电话或发邮件、等对方回复)。初始仪表板界面整洁,顶部是导航栏,右边是支持弹出式菜单。
说到云应用程序监控任务,每家厂商采用的术语各不相同。ThousandEyes称其任务为测试(test);我们先建立了几个简单的测试,以检查网站的可用性和装入时间,还检查定向至我们其中一台DNS服务器的DNS查询的响应情况。测试使用简单的单页配置来构建,它们分成四大类:Network、DNS、Web和VoIP。每个类别又有几个子类别,但我们发觉配置非常一目了然,大多数网络管理员会非常熟悉可用的选项。
一旦测试构建完毕,收集的数据就连同已经配置好的其他测试,开始出现在仪表板上。仪表板显示了每个测试的一些基本信息(比如状态),一个图形显示了所收集数据的当前趋势。由此,你可以向下挖掘,查看某一个测试的更多细节。一旦进入到细节页面,一个下拉式菜单列出了其他测试,很容易浏览至所有可用测试的细节视图。
细节页面的主要特色之一就是图形,你可以从中查看某一段时间的趋势,或者放大查看收集的每个数据点的信息。另一个特色就是世界地图,显示了测试所用的当前代理;由此,你可以点击任何位置,即可从该位置查看数据。比如说,我们可以看到我们位于丹佛的那台服务器从新泽西州纽瓦克进行DNS解析的时间为48毫秒,从澳大利亚悉尼进行解析的时间为174毫秒。
我们喜欢与你的团队或第三方提供商共享实时数据这一功能,以便更迅速地解决问题。这可以通过共享链接来完成,这个链接可以用几种不同的方式来配置;你可以发送链接以及特定日期范围的快照数据,发送活动数据视图的公共链接,或者导出到几种不同的格式。
可以获得过去90天的大致数据,获得过去30天的详细数据,但你能够对事件拍取快照,它们可以无限期保存。ThousandEyes提供了几种方法来制作自定义屏幕报告,这些报告可以保存,也可以完全用于某些数据的一次性视图。
如上所述,除了使用现有的ThousandEyes基础架构外,你还可以从自己的网络基础架构里面的任何地方,运行自己的企业代理。这可以通过下列两种方法来实现:将代理安装在任何常见的Linux版本设备上,或者下载面向VMware、VirtualBox或Hyper-V的虚拟服务器。我们下载了其中一个虚拟服务器,它立即开始运行起来,除了网络设置外,根本不需要什么配置。虚拟机从Web界面加以管理,首次使用会遇到一个小巧的向导程序。一旦配置完毕,企业代理就可以使用,就像ThousandEyes云代理那样。
ThousandEyes让用户很容易从基本的监控入手,为寻求一些额外细粒度的那些人提供了合理组合的功能特性,而不过于复杂。我们青睐的功能之一就是共享功能;我们还对ThousandEyes可以从100多处地方监控应用程序性能大加赞赏。一个缺点就是,如果部署多个测试,价格方面的计算很快会变得复杂起来,成本也会迅速增加上去。
企业代理的价格简单直接;标准版每个代理每月99美元,专业版每个代理每月299美元。标准版与专业版的区别在于,若使用专业版,能够监控页面装入和Web事务。还有免费的简装版,具有与标准版一样的功能,但是存在着一些限制。
Dynatrace
Dynatrace为Java、.Net和PHP等平台提供了监控网络性能和应用程序的功能。除了模拟Web应用程序负载的综合监控功能外,它还提供了用户体验管理功能。Dynatrace有几个组件,包括需要安装到运行Web应用程序的服务器上的代理,以及专门处理代理收集上来的事件的“收集器”。数据由在局域网上运行或由Dynatrace在云端托管运行的服务器来管理,这两种方式都提供了Web界面和便于深入了解应用程序的几个模块。
想开始上手,你要登录到由Dynatrace托管运行的Web仪表板。首次登录后,该仪表板为你提供了Dynatrace方面的一些基本信息,还提供了帮助上手的逐步指南。第一步就是下载Dynatrace服务器软件,它有32位版本和64位版本,既有Windows版,又有Linux版。简单的向导程序可以帮助你完成安装过程,它只要短短几分钟就可以帮助我们在Windows 64位服务器上搭建并运行起来。内存和处理器方面有要求,具体取决于服务器将处理的事务数量。如果是简单操作,内存容量为3GB的单核服务器就可以了;如果是超大安装环境,则需要22GB的24核服务器。超大安装环境可以处理1200个代理、每秒3000多个事务。
安装完成后,你会看到类似浏览器的界面;可以从界面上选择想要监控的应用程序的类型。无论在Web、iOS和安卓等客户机端技术方面,还是在服务器端方面,Dynatrace在如何监控某个应用程序、监控哪些指标方面都提供了相当精细的粒度。你可以指定应用程序服务器的类型,从IIS/.Net和Apache,到甲骨文、IBM和Java技术,不一而足。
为了监控Web应用程序,需要将代理安装到应用程序所在的服务器上。有几个代理适用于大多数常见服务器(Apache、IIS和NginX),我们下载了一个代理,以便与用于测试的Web服务器协同运行。代理搭建并运行起来后,我们装入了Dynatrace仪表板;仪表板提供了图状概况,节点代表应用程序基础架构的每个部分。比如说,你会看到来自访客的请求细分成桌面浏览器、移动浏览器和移动应用程序这几个类别。
有些节点代表前端Web服务器,有些节点代表后端功能,比如支付处理、数据库服务器和业务应用程序。每个节点标以色码,绿色表示没有问题,红色表明有问题。如果将鼠标指针移到每个节点上方,我们就能看到该节点状态的简短摘要,比如说我们的Web服务器表明存在内存问题;如果点击查看细节,我们就能发现,在负载较大的情况下,偶尔会出现页面错误。
一旦进入到细节视图,你几乎可以评估Web应用程序的方方面面,从第一个客户机请求到上一次响应,不一而足。我们的其中一个Web应用程序进行外部调用以便装入JQuery JS文件,我们可以发现,文件装入速度缓慢;如果把这些文件移到我们自己的服务器,随后调用的话,装入速度就快多了。
Dynatrace提供了一个非常出色的界面,还有多种方式可以查看数据。你可以查看关于业务度量指标的细节以及一段时间的性能变化,此外还能准确查明事务瓶颈,分析浏览器性能。图形和数据显示一目了然,所谓的“开始中心”(Start Center)让你可以轻松访问应用程序的各个部分。
除了监控私有云应用程序外,你还可以部署Dynatrace代理,以监控第三方主机托管解决方案,比如亚马逊和微软Azure。这样一来,你不仅可以深入了解应用程序运行如何,还能深入了解主机托管提供商提供的服务层,因而让你还可以准确查明并不出现在应用程序中的潜在瓶颈。
我们的测评着重分析了Dynatrace的自托管服务器解决方案,但该产品还有主机托管版本,它提供了同样的功能特性。据Dynatrace声称,成本一样,只不过主机托管解决方案需要额外的安装费。
Dynatrace没有在官方网站上公布价格;在我们采访当中,这家公司对价格也是含糊其辞。然而,面对一种特定的使用场景时(每天有8000个至10000个不重复访客浏览的.Net应用程序),它给出了大致的成本:每年约10000美元;如果签署期限更长的合约,还可以享受折扣。值得一提的是,针对访问量大的网站,你不需要为应用程序的全部流量购买许可证;而是可以选择使用总流量的一小部分。据Dynatrace声称,它的几个大客户选择只分析总流量的一小部分。
Dynatrace为不满足于大体了解Web应用程序性能的那些人提供了全面解决方案,这与AppNeta的TraceView模块很相似。相比另外一些产品,它确实需要花更多一点的精力来安装和配置;不过相应的回报是,你能获得非常详细的应用程序信息。我们在内存还算充足的四核服务器上发现,界面浏览起来有点慢,但如果增添资源,速度会加快。我们还喜欢Dynatrace的独立性,因为服务器可以在你的基础架构上运行。
正如前面提到的,这四款产品的性能都很不赖。选择一款适合贵企业的解决方案归结为这几个重要决定:需要多详细的信息,为了收集数据愿意承担多大的开销,以及你在应用程序监控方面的预算是多少。不出所料,一流的解决方案成本总是要贵一点;如果你的监控要求比较基本,那么一款较为简单的解决方案应该就足够了。
原文链接:Top tools to manage cloud apps