什么iAmazon CloudWatch Application Insights? - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么iAmazon CloudWatch Application Insights?

CloudWatch Application Insights 可帮助您监控使用 Amazon EC2 实例以及其他应用程序资源。它可在应用程序资源和技术堆栈(例如,Microsoft SQL Server 数据库、Web (IIS) 和应用程序服务器、操作系统、负载均衡器和队列)中识别和设置关键指标、日志和警报。它会持续监控指标和日志,以检测异常情况和错误并将它们关联起来。在检测到错误和异常情况时,Application Insights 生成 CloudWatch 事件,您可以使用这些事件来设置通知或执行操作。为了帮助进行故障排除,它为检测到的问题创建自动化控制面板,其中包括关联的指标异常情况和日志错误,以及指出潜在根本原因的其他信息。自动化控制面板可帮助您快速采取修复措施,以保持应用程序正常运行,并防止对应用程序的最终用户造成影响。此外,它还创建 OpsItems,以便您可以使用AmazonSSM OpsCenter

您可以在 CloudWatch 上配置重要的计数器,例如镜像写事务数/秒、恢复队列长度和事务延迟以及 Windows 事件日志。当 SQL HA 工作负载发生故障转移事件或问题(例如,查询目标数据库的访问权限受限)时,CloudWatch Application Insights 提供了自动见解信息。

CloudWatch Application Insights 与Amazon Launch Wizard为在上部署 SQL Server HA 工作负载提供一键式监控安装体验Amazon。当您选择使用 “应用程序见解” 设置监控和见解的选项时,Launch Wizard 控制台,CloudWatch Application Insights 在 CloudWatch 上自动在 CloudWatch 上设置相关指标、日志和警报,并开始监控新部署的工作负载。您可以在 CloudWatch 控制台上查看自动化的见解和检测到的问题,以及 SQL Server HA 工作负载的运行状况。

Features

Application Insights 提供以下功能。

自动为应用程序资源设置监视器

CloudWatch Application Insights 缩短了为应用程序设置监控所需的时间。它扫描应用程序资源,提供可自定义的建议指标和日志列表,并在 CloudWatch 上设置它们以提供所需的应用程序资源(例如 Amazon EC2 和 Elastic Load Balancers (ELB))信息,从而缩短了为应用程序设置监控所需的时间。它还会为监控的指标设置动态警报。将根据前两周检测到的异常情况自动更新警报。

问题检测和通知

CloudWatch Application Insights 检测应用程序出现潜在问题的迹象,例如指标异常情况和日志错误。它关联这些观察结果以找出应用程序的潜在问题。然后,它生成 CloudWatch 事件,可以配置这些事件以接收通知或执行操作。这样,您无需为指标或日志错误创建单独的警报。

Troubleshooting

CloudWatch Application Insights 为检测到的问题创建 CloudWatch 自动控制面板。这些控制面板显示有关问题的详细信息(包括关联的指标异常情况和日志错误)以帮助您进行故障排除。它们还提供额外的信息,以指出异常情况和错误的潜在根本原因。

Concepts

要了解 Application Insights 如何监控应用程序,以下概念是非常重要的。

Component

对组成应用程序的类似资源进行自动分组、单独分组或自定义分组。我们建议将类似资源分组到自定义组件中,以更好地进行监控。

Observation

为应用程序或应用程序资源检测到的单个事件(指标异常情况、日志错误或异常)。

Problem

关联、分类和分组相关的观察结果以检测问题。

有关 CloudWatch Application Insights 的其他重要概念的定义,请参阅Amazon CloudWatch 概念

Pricing

CloudWatch Application Insights 使用 CloudWatch 指标和日志为选定的应用程序资源设置建议的指标和日志,并使用 CloudWatch 事件获取有关检测到的问题的通知。将对您的Amazon帐户根据CloudWatch 定价。对于检测到的问题,它创建 CloudWatch 事件自动控制面板。不会向您收取设置帮助、监控数据分析或问题检测费用。

CloudWatch Application Insights 一起使用以下服务:

相关Amazon服务

  • Amazon CloudWatch 在系统范围内提供资源使用率、应用程序性能和运行状况信息。它收集并跟踪指标,发送警报通知,根据您定义的规则自动更新监控的资源,并允许您监控自己的自定义指标。CloudWatch Application Insights 是通过 CloudWatch 启动的,具体来说,是在 CloudWatch 默认运行控制面板中启动的。有关更多信息,请参阅 Amazon CloudWatch 用户指南

  • Amazon DynamoDB是完全托管的 NoSQL 数据库服务器,您可以用它免除操作和扩展分布式数据库的管理工作负担,因而无需担心硬件预置、设置和配置、复制、软件修补或集群扩展等问题。此外,DynamoDB 提供了加密静态,这可以消除在保护敏感数据时涉及的操作负担和复杂性。

  • Amazon EC2提供可扩展的计算容量Amazon云 您可以使用 Amazon EC2 启动所需数量的虚拟服务器,配置安全性和联网以及管理存储。您可以扩展或缩减以处理需求变化或使用高峰,从而减少预测流量的需求。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南适用于 Windows 实例的 Amazon EC2 指南

  • Amazon Elastic Block Store (Amazon EBS)提供了块级存储卷以用于 Amazon EC2 实例。Amazon EBS 卷的行为类似于原始、未格式化的块储存设备。您可以将这些卷作为设备挂载在实例上。附加到实例的 Amazon EBS 卷公开为独立于实例生命周期而持续存在的存储卷。您可以在这些卷上创建文件系统,或者以使用块储存设备(如硬盘)的任何方式使用这些卷。您可以动态更改附加到实例的卷的配置。有关更多信息,请参阅 。Amazon EBS 用户指南

  • Amazon EC2 Auto Scaling 帮助确保您具有正确数量的 EC2 实例以处理应用程序负载。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南

  • Elastic Load Balancing在多个可用区中的多个目标(如 EC2 实例、容器和 IP 地址)之间分配传入的应用程序或网络流量。有关更多信息,请参阅 Elastic Load Balancing 用户指南

  • IAM是一项 Web 服务,可以帮助您安全地控制对Amazon资源。使用 IAM 控制谁可以使用Amazon资源(身份验证),并控制他们可以使用的资源和使用资源的方式(授权)。有关更多信息,请参阅 Amazon CloudWatch 的身份验证和访问控制

  • Amazon Lambda允许您构建由事件触发的函数组成的无服务器应用程序,并使用 CodePipeline 和AmazonCodeBuild。有关更多信息,请参阅 。Amazon Lambda应用程序

  • Amazon Launch Wizardfor SQL Server缩短了将 SQL Server 高可用性解决方案部署到云所需的时间。您可以在服务控制台上输入应用程序要求,包括性能、节点数量和连接性,以及Amazon Launch Wizard标识正确的Amazon资源来部署和运行 SQL Server 始终打开应用程序。

  • Amazon资源组帮助您组织构成应用程序的资源。通过使用资源组,您可以同时管理和自动完成针对大量资源的任务。只能为单个应用程序注册一个资源组。有关更多信息,请参阅 。AmazonResource Groups 用户指南

  • Amazon SQS 提供了一个安全、持久且可用的托管队列,以允许您集成和分离分布式软件系统和组件。有关更多信息,请参阅 Amazon SQS 用户指南

  • Amazon Step Functions是一个无服务器函数作曲器,它允许您对各种Amazon服务和资源,包括Amazon Lambda函数转换为结构化的可视化工作流。有关更多信息,请参阅 Amazon Step Functions 用户指南

  • AmazonSSM OpsCenter跨服务聚合并标准化 OpsItems,同时提供关于每个 OpsITEM、相关 OpsIOpsItems 和相关资源的上下文调查数据。OpsCenter 还提供 Systems Manager Automation 文档 (runbook),让您可以快速解决问题。您可以为每个 OpsItem 指定可搜索的自定义数据。您还可以按状态和源查看自动生成的 OpsItem 相关摘要报告。有关更多信息,请参阅 Amazon Systems Manager 用户指南

  • Amazon API Gateway是一个Amazon服务,用于创建、发布、维护、监控和保护任意规模的 REST、HTTP 和 WebSocket API。API 开发人员可以创建访问Amazon或其他 Web 服务以及存储在Amazon云 有关更多信息,请参阅 。Amazon API Gateway 用户指南

    注意

    应用程序见解仅支持 REST API 协议(API Gateway 服务的 v1)。

  • Amazon Elastic Container Service (Amazon ECS)是一项完全托管的容器编排服务。您可以使用 Amazon ECS 运行最敏感和关键任务的应用程序。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南

  • Amazon Elastic Container Service (Amazon EKS)是一项托管服务,您可用来运行 KubernetesAmazon而无需安装、操作和维护您自己的 Kubernetes 控制平面或节点。Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理的自动化的开源系统。有关更多信息,请参阅 。Amazon EKS 用户指南

  • Amazon EC2 上的 Kubernetes。Kubernetes 是开源软件,可帮助您大规模部署和管理容器化应用程序。Kubernetes 管理 Amazon EC2 计算实例的集群,并通过部署、维护和扩展流程在这些实例上运行容器。使用 Kubernetes,您可以在本地和云中使用相同的工具集运行任何类型的容器化应用程序。有关更多信息,请参阅 。运行 KubernetesAmazonEC2

相关第三方服务

  • 对于在应用程序见解中监视的某些工作负载和应用Prometheus JMX 出口商使用安装Amazon Systems Manager分销商,以便 CloudWatch 应用洞察可以检索 Java 特定的指标。当您选择监视 Java 应用程序时,应用程序见解会自动为您安装 Prometheus JMX 导出器。

支持的应用程序组件

CloudWatch 应用洞察可扫描您的资源组以识别应用程序组件。组件可能采用单独分组、自动分组(例如 Auto Scaling 组中的实例或负载均衡器后面的实例)或自定义分组(将各个 EC2 实例分组在一起)。

CloudWatch Application Insights 支持以下组件:

Amazon 组件

  • Amazon EC2

  • Amazon EBS

  • Amazon RDS

  • Elastic Load Balancing:Application Load Balancer 和 Classic Load Balancer(指定和配置这些负载均衡器的所有目标实例)。

  • Amazon EC2 Auto Scaling 组:AmazonAuto Scaling(为所有目标实例动态配置 Auto Scaling 组;如果应用程序进行扩展,CloudWatch Application Insights 将自动配置新实例)。基于 CloudFormation 的资源组不支持 Auto Scaling 组。

  • Amazon Lambda

  • Amazon Simple Queue Service (Amazon SQS)

  • Amazon DynamoDB 表

  • Amazon S3 存储桶指标

  • Amazon Step Functions

  • Amazon API Gateway REST API 阶段

  • Amazon Elastic Container Service (Amazon ECS):集群、服务和任务

  • Amazon Elastic Kubernetes Service (Amazon EKS): 集群

  • Amazon EC2 上的 Kubernetes:在 EC2 上运行的库贝内特群集

目前,CloudWatch Application Insights 不会跟踪任何其他组件类型资源。如果在 Application Insights 应用程序中未显示某种支持的组件类型,则您拥有并由 Application Insights 监控的其他应用程序可能已注册和管理该组件。

支持的技术堆栈

通过选择以下技术之一的应用程序层下拉菜单选项,可以使用 CloudWatch 应用程序见解监控在 Windows Server 和 Linux 操作系统上运行的应用程序:

  • 前端:Microsoft Internet 信息服务 (IIS) Web 服务器

  • 工作层:

    • .NET Framework

    • .NET 内核

  • 应用程序:Java

  • 数据库:

    • 在 Amazon RDS 或 Amazon EC2 上运行的 Microsoft SQL Server(包括 SQL Server 高可用性配置)。 请参阅组件配置示例)。

    • 在亚马逊 RDS、Amazon Aurora 或 Amazon EC2 上运行的 MySQL

    • 在亚马逊 RDS 或 Amazon EC2 上运行的 PostgreSQL

    • Amazon DynamoDB 表

如果上面列出的技术堆栈都不适用于您的应用程序资源,则可以通过选择Custom (自定义)从应用程序层下拉菜单中管理监控页.