

# Application Signals
<a name="CloudWatch-Application-Monitoring-Sections"></a>

CloudWatch Application Signals 可帮助您在 AWS 上监控并优化应用程序性能。该服务会自动从运行在 Amazon EC2、Amazon ECS 和 Lambda 等服务上的应用程序中收集数据。CloudWatch Application Signals 可用于以下场景：
+ 实时监控应用程序运行状况
+ 跟踪业务目标达成情况下的性能表现
+ 查看服务与依赖关系之间的关联关系
+ 快速识别并解决性能问题
+ 启用 Application Signals 以自动从您的应用程序收集指标和跟踪，并显示关键指标，例如调用量、可用性、延迟、故障和错误。无需编写自定义代码或创建控制面板，即可快速查看当前的运行状况并对其进行分类，以及您的应用程序是否实现了其长期性能目标。
+ 使用 Application Signals 创建并监控[服务级别目标（SLO）](CloudWatch-ServiceLevelObjectives.md)。轻松创建并跟踪与 CloudWatch 指标相关的 SLO 的状态，包括 Application Signals 收集的新标准应用程序指标。在服务列表和拓扑图中查看并跟踪应用程序服务的[服务级别指标（SLI）](CloudWatch-ServiceLevelObjectives.md#CloudWatch-ServiceLevelObjectives-concepts)状态。创建警报以跟踪您的 SLO，并跟踪 Application Signals 收集的新标准应用程序指标。
+ 查看 Application Signals 自动发现的应用程序拓扑图，该图可以直观地呈现您的应用程序、依赖项及其连接。
+ Application Signals 可与 [CloudWatch RUM](CloudWatch-RUM.md)、[CloudWatch Synthetics 金丝雀](CloudWatch_Synthetics_Canaries.md)、[AWS Service Catalog AppRegistry](https://docs.aws.amazon.com/servicecatalog/latest/arguide/intro-app-registry.html) 和 Amazon EC2 Auto Scaling 结合使用，在控制面板和地图中显示您的客户端页面、Synthetics 金丝雀和应用程序名称。

**支持的语言和架构**

Application Signals 支持 Java、Python、Node.js 和 .NET 应用程序。

Application Signals 在 Amazon EKS、Amazon ECS 和 Amazon EC2 上受到支持并经过测试。在 Amazon EKS 集群上，Application Signals 会自动发现您的服务和集群的名称。在其他架构上，当您为 Application Signals 启用这些服务时，必须提供服务和环境的名称。

在 Amazon EC2 上启用 Application Signals 的指令应适用于任何支持 CloudWatch 代理和 AWS Distro for OpenTelemetry 的架构。但是，除了 Amazon ECS 和 Amazon EC2 之外，这些指令尚未在其他架构上进行过测试。

**支持的区域**：

除了加拿大西部（卡尔加里）以外的所有商业区域都支持 Application Signals。

**Topics**
+ [功能](#application-signals-features)
+ [Application Signals 所需权限](Application_Signals_Permissions.md)
+ [支持的系统](CloudWatch-Application-Signals-supportmatrix.md)
+ [支持的检测设置](Getting-Started-App-Signals.md)
+ [在账户中启用 Application Signals](CloudWatch-Application-Signals-Enable.md)
+ [（可选）使用示例应用程序试用 Application Signals](CloudWatch-Application-Signals-Enable-EKS-sample.md)
+ [在 Amazon EKS 集群上启用应用程序](CloudWatch-Application-Signals-Enable-EKS.md)
+ [在 Amazon EC2 上启用应用程序](CloudWatch-Application-Signals-Enable-EC2Main.md)
+ [在 Amazon ECS 上启用应用程序](CloudWatch-Application-Signals-Enable-ECSMain.md)
+ [在 Kubernetes 上启用应用程序](CloudWatch-Application-Signals-Enable-KubernetesMain.md)
+ [在 Lambda 上启用应用程序](CloudWatch-Application-Signals-Enable-LambdaMain.md)
+ [对 Application Signals 安装进行问题排查](CloudWatch-Application-Signals-Enable-Troubleshoot.md)
+ [（可选）配置 Application Signals](CloudWatch-Application-Signals-Configure.md)
+ [使用 Application Signals 监控应用程序的运行状况](Services.md)
+ [Application Signals 收集的指标](AppSignals-MetricsCollected.md)
+ [自定义指标与 Application Signals](AppSignals-CustomMetrics.md)

## 功能
<a name="application-signals-features"></a>
+ **将 Application Signals 用于日常应用程序监控** – 在 CloudWatch 控制台中使用 Application Signals，将其作为日常应用程序监控的一部分：

  1. 如果您已经为服务创建了服务级别目标（SLO），请从[服务级别目标（SLO）](CloudWatch-ServiceLevelObjectives.md#CloudWatch-ServiceLevelObjectives-Triage)页面开始。这让您可以即时查看最关键的服务、操作和依赖项的运行状况。选择 SLO 的服务、操作或依赖项名称，打开[服务详细信息](ServiceDetail.md)页面，在排查问题时查看详细的服务信息。

  1. 打开[服务](Services-page.md)页面以查看所有服务的摘要，并快速查看故障率或延迟最高的服务。如果您创建了 SLO，请查看“服务”表格以了解哪些服务具有运行不正常的服务级别指标（SLI）。如果特定服务处于不正常状态，请选择该服务以打开[服务详细信息](ServiceDetail.md)页面，查看服务操作、依赖项、Synthetics Canary 和客户端请求。在图表中选择一个点以查看相关轨迹，以进行问题排查并确定操作问题的根本原因。

  1. 如果已部署新服务或依赖关系已更改，可打开[应用程序图](ServiceMap.md)检视应用程序的拓扑结构。查看您的应用程序地图，其中显示了客户端、Synthetics Canary、服务和依赖项之间的关系。快速查看 SLI 运行状况，查看调用量、故障率和延迟等关键指标，并深入查看[服务详细信息](ServiceDetail.md)页面中的更多详细信息。

  使用 Application Signals 会产生费用。有关 CloudWatch 定价的信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing)。
**注意**  
无需启用 Application Signals 即可使用 CloudWatch Synthetics 或 CloudWatch RUM。但是，当您将这些功能一起使用时，Synthetics 和 CloudWatch RUM 与 Application Signals 结合使用可以带来优势。
+ **Application Signals 跨账户** – 借助 Application Signals 跨账户可观测性，您可以在一个区域内跨多个 AWS 账户监控应用程序并排查问题。

  您可以使用 Amazon CloudWatch Observability Access Manager 将一个或多个 AWS 账户设置为监控账户。通过在监控账户中创建接收器，监控账户将能够查看源账户中的数据。您可以使用接收器来创建从源账户指向监控账户的链接。有关更多信息，请参阅 [CloudWatch 跨账户可观测性](CloudWatch-Unified-Cross-Account.md)。

  为使 Application Signals 跨账户可观测性正常运行，请务必通过 CloudWatch Observability Access Manager 共享以下遥测类型。
  + Application Signals 服务和服务级别目标（SLO）
  + Amazon CloudWatch 中的指标
  + 在 Amazon CloudWatch Logs 中记录组
  + [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 中的跟踪记录
+ **动态服务分组与筛选** – 使用 Application Signals 的动态分组功能对服务进行分组与筛选。系统会自动聚合分组内各服务的指标与 SLI，您可从分组视图切入，深入排查特定的问题区域。Application Signals 提供两种默认分组方式：一是按服务运行环境划分的“环境”分组，二是依据服务间依赖关系分组的“关联服务”分组。例如：在关联服务分组中，若服务 A 调用服务 B、服务 B 再调用服务 C，则三者会归入服务 A 的分组。除默认分组外，您还可选取符合组织需求的服务来创建自定义分组，如按业务单元或团队划分。

  通过与团队架构、业务领域或运维要求相匹配的 AWS 标签或 OpenTelemetry 属性，创建自定义分组。自定义分组功能，支持您依据特有的监控与故障排查流程来组织服务。有关更多信息，请参阅 [配置自定义组](ServiceMap.md#Application-Map-Configure-Custom-Groups)。  
![\[按关联服务分组的 CloudWatch 应用程序图。\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/application-map.png)  
![\[含筛选功能的 CloudWatch 服务列表页。\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/services-page.png)
+ **变更事件** – 借助 Application Signals 对 CloudTrail 事件的自动处理能力，全面跟踪应用程序中的变更事件。监控服务及其依赖项的配置和部署事件，为操作分析和问题排查提供即时背景信息。变更事件检测功能会随服务发现功能一同启用，可通过 CloudWatch 控制台或 StartDiscovery API 完成启用操作。针对 Amazon EKS 服务，其部署事件检测需通过 Application Signals 埋点 SDK 为 Amazon EKS 服务进行埋点。

   变更事件功能支持以下资源类型：
  + 自动扩缩组
  + EKS 集群
  + EKS 工作负载（仅支持部署类）
  + ECS 集群与服务
  + ELB 负载均衡器及目标组
  + Lambda 函数
  + BedrockAgentCore 运行时环境与运行时端点  
![\[带部署筛选功能且分组抽屉栏含变更事件的 CloudWatch 应用程序图。\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/application-map-with-drawer.png)  
![\[含变更事件表格的 CloudWatch 应用程序总览页。\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/application-overview.png)
+ **审计调查发现自动生成** – 通过 Application Signals 的审计调查发现自动生成功能，挖掘关键见解。该服务会对应用程序展开分析，反馈重要观测结果并识别潜在问题，大幅简化根本原因分析流程。这些自动化分析结果会整合相关跟踪数据，无需多次单击跳转即可查看。审计系统可帮助团队快速定位问题及其深层诱因，实现更快速解决问题。

  Application Signals 采用高级分析技术检测规律、识别资源利用低效问题并给出优化建议。分析结果会根据严重程度和潜在业务影响划分优先级，助力团队优先处理最关键的问题。无需人工分析，即可获取提升服务可靠性及性能的可落地建议。  
![\[含审计调查发现的 CloudWatch 服务概览。\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-overview.png)