【.com快译】企业在选择云提供商之前要确保原生管理和监控工具满足其要求。
AWS CloudWatch、AzureMonitor和谷歌Strackdriver是市面上***的原生云监控工具。它们都提供捕获数据、维护日志使用指标和仪表板以分析应用程序性能的基本功能。许多流行的第三方云监控工具在底层也使用来自这些原生工具的数据。
然而这三种工具之间存在差异。比如说,AWSCloudWatch自动扩展应用程序的功能***大,因为它与AWS的其他产品(比如CloudFormation)集成。它还提供了很强的定制性。但微软和谷歌在排查解决应用程序性能问题方面拥有更强大的功能。此外,谷歌Stackdriver是唯一可以从另一个云:AWS捕获数据的原生监控工具。
下面详细介绍了这三种原生云监控工具之间的另外一些主要功能和差异。
1.AWS CloudWatch
亚马逊CloudWatch是三者当中最成熟的监控和日志工具,它通过可定制的仪表板和警报来收集指标并提供粒度。它使开发人员能够从诸多事件和资源捕获一大堆指标。
借助自定义仪表板支持,开发人员还可以在特定的上下文中,轻松设置基础设施和应用程序的不同视图。比如说,开发人员可以为某个特定业务应用程序的所有组件创建单一视图,以查找性能问题的根源。
亚马逊CloudWatch可以收集来自AWSIaaS服务(比如EC2和S3)的数据,以及来自SaaS应用程序和私有企业基础设施的数据。虽然无法与Azure或谷歌等其他云平台无缝协作,但CloudWatch确实支持与其他分析工具集成的API。
除了跟踪应用程序性能外,CloudWatch还支持辅助性AWS工具组成的庞大生态系统,这些工具用于自动扩展和提升应用程序弹性。然而,它不直接支持应用程序故障排查,而是由其他AWS工具(比如X-Ray)来提供该功能。AWSCloudWatch的另一个局限性是缺乏代码分析功能,无法将性能问题与某几行代码关联起来。
2.Azure Monitor
Azure Monitor这项服务整合了两个以前的微软云监控工具:Log Analytics和Application Insights。
AzureMonitor仪表板包含几个入门模板,使云管理员能够直观显示并组织管理来自Azure资源的指标和日志数据。还有一些功能,比如诊断日志,更容易分析基础设施的不同组件,包括应用程序网关或负载均衡系统。该工具支持分布式跟踪和代码分析。
企业可以配置警报,以便针对CPU使用情况或应用程序性能阈值,自动扩展基础设施。 AzureMonitor还包含一个运行状况部分,因而更容易将应用程序性能问题与Azure整体的信息关联起来。
然而,Azure Monitor目前仅限于将无服务器Azure函数的性能与整体应用程序性能关联起来。
3.谷歌Stackdriver
与上面提到的其他原生云监控工具一样,谷歌Stackdriver包含一组丰富的功能,以便捕获日志、事件数据及其他指标。虽然它也可以获取来自AWS基础设施的数据,但这种集成主要用于诊断,并不提供与AWSCloudWatch同样的自动扩展功能。
谷歌Stackdriver提供了一组用于调试、分布式跟踪和代码分析的工具。StackdriverProfiler工具使开发人员能够将代码与应用程序性能问题关联起来。这仅适用于开发人员将应用程序代码存储在Google Cloud SourceRepository、GitHub或Bitbucket代码仓库中,但它确实简化了这个过程:为专门在谷歌云平台上运行的应用程序调试实时应用程序,并检查应用程序调用和本地变量。