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

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

什么是 Amazon CloudWatch Application Insights?

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

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

CloudWatch Application Insights 与 AWS 启动向导相集成,为在 AWS 上部署 SQL Server HA 工作负载提供一键式监控设置体验。当您选择在Application Insights启动向导控制台https://console.amazonaws.cn/launchwizard上使用 设置监控和见解的选项时, CloudWatch Application Insights 会自动在 上设置相关指标、日志和警报CloudWatch,并开始监控新部署的工作负载。您可以在 CloudWatch 控制台上查看自动化的见解和检测到的问题,以及有关 SQL Server HA 工作负载的运行状况。

Features

Application Insights 提供以下功能。

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

CloudWatch Application Insights 减少了为应用程序设置监控所需的时间。它通过扫描应用程序资源、提供可自定义的指标和日志列表并设置这些指标和日志CloudWatch来提供对应用程序资源 (如 Amazon EC2 和 Elastic Load Balancer (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指标和日志,以获取有关检测到的问题的通知。这些功能将根据 CloudWatch 定价对您的 AWS 账户收费。对于检测到的问题,它会创建CloudWatch事件自动控制面板。不会向您收取设置帮助、监控数据分析或问题检测费用。

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

相关 AWS 服务

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

  • Amazon DynamoDB 是一项完全托管NoSQL的数据库服务,可让您减轻操作和扩展分布式数据库的管理负担,这样您就无需担心硬件预置、设置和配置、复制、软件修补或集群扩展。DynamoDB 还提供了静态加密,消除了保护敏感数据时涉及的操作负担和复杂性。

  • Amazon EC2 在 AWS 云中提供可扩展的计算容量。您可以使用 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 服务,可以帮助您安全地控制用户对 AWS 资源的访问。可以通过 IAM 控制哪些用户可以使用您的 AWS 资源(身份验证),以及控制他们可以使用的资源和使用资源的方式(授权)。有关更多信息,请参阅 Amazon CloudWatch 的身份验证和访问控制.

  • AWS Lambda 可让您构建由事件触发的函数组成的无服务器应用程序,并使用 CodePipeline 和 AWS 自动部署它们CodeBuild。 有关更多信息,请参阅 AWS Lambda 应用程序

  • 适用于 SQL Server 的 AWS 启动向导 缩短了将 SQL Server 高可用性解决方案部署到云所需的时间。您在 服务控制台上输入应用程序要求,包括性能、节点数和连接数,AWS 启动向导标识适当的 AWS 资源来部署和运行 SQL Server Always On 应用程序。

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

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

  • AWS Step Functions 是一个无服务器函数编写器,允许您将各种 AWS 服务和资源(包括 AWS Lambda 函数)排序到结构化的可视化工作流程中。有关更多信息,请参阅 AWS Step Functions 用户指南.

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

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

    注意

    Application Insights 仅支持 REST API 协议( API 网关 服务的 v1

相关第三方服务

  • 对于 中监控的一些工作负载和应用程序Application Insights,Prometheus JMX 导出程序是使用 AWS Systems Manager Distributor 安装的,以便 CloudWatch Application Insights 可以检索 Java 特定的指标。当您选择监控 Java 应用程序时, Application Insights 会自动为您安装 Prometheus JMX 导出程序。

支持的应用程序组件

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

支持以下组件:CloudWatch Application Insights:

AWS 组件

  • Amazon EC2

  • Amazon EBS

  • Amazon RDS

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

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

  • AWS Lambda

  • Amazon Simple Queue Service (Amazon SQS)

  • Amazon DynamoDB 表

  • Amazon S3 存储桶指标

  • AWS Step Functions

  • Amazon API Gateway REST API 阶段

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

支持的技术堆栈

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

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

  • 工作线程层:

    • .NET Framework

    • .NET 内核

  • 应用程序:Java

  • 数据库:

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

    • MySQL 在 Amazon RDS、 Amazon Aurora或 上运行 Amazon EC2

    • PostgreSQL 在 Amazon RDS 或 上运行 Amazon EC2

    • Amazon DynamoDB 表

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