

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

# 监控应用程序和服务可用性
<a name="monitoring-application-service-availability"></a>

CloudWatch 帮助您监控和分析应用程序和工作负载的性能和运行时方面。您还应该监控应用程序和工作负载的可用性和可访问性方面。你可以通过使用主动监控方法和 [Amazon Route 53 运行状况检查](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/dns-failover.html)和 S [CloudWatch ynthetics 来实现这一目标。](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

如果要监控通过 HTTP 或 HTTPS 与网页的连接，或者通过 TCP 监控与公共域名系统 (DNS) 名称或 IP 地址的网络连接，则可以使用 Route 53 运行状况检查。Route 53 运行状况检查以十秒或 30 秒为间隔从您指定的区域启动连接。您可以选择运行状况检查的多个区域，每项运行状况检查独立运行，并且必须至少选择三个区域。如果 HTTP 或 HTTPS 请求的响应正文出现在为运行状况检查评估返回的前 5,120 字节数据中，则可以搜索该子字符串以查找该子字符串。如果 HTTP 或 HTTPS 请求返回 2xx 或 3xx 响应，则该请求被视为健康请求。Route 53 运行状况检查可用于通过检查其他运行状况检查的运行状况来创建复合运行状况检查。如果您有多个服务终端节点，并且想要在其中一个服务终端节点变得不健康时执行相同的通知，则可以执行此操作。如果您将 Route 53 用于 DNS，则可以将 Route 53 配置为[在运行状况检查变得不健康时故障转移到另一个 DNS 条目](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/dns-failover-configuring.html)。对于每个关键工作负载，您都应考虑为对正常操作至关重要的外部终端节点设置 Route 53 运行状况检查。Route 53 运行状况检查可以帮助您避免在应用程序中写入故障转移逻辑。

CloudWatch synthetics 允许您将金丝雀定义为脚本，以评估工作负载的运行状况和可用性。加那利群岛是用 Node.js 或 Python 编写的脚本，通过 HTTP 或 HTTPS 协议运行。它们以 Node.js 或 Python 为框架在您的账户中创建 Lambda 函数。您定义的每个金丝雀都可以对不同的端点执行多个 HTTP 或 HTTPS 调用。这意味着您可以监控一系列步骤的运行状况，例如用例或具有下游依赖关系的端点。加那利群岛创建的 CloudWatch 指标包括已运行的每个步骤，因此您可以单独发出警报和衡量不同的步骤。尽管与 Route 53 运行状况检查相比，加那利群岛需要更多的规划和精力来开发，但它们为您提供了一种高度可定制的监控和评估方法。加那利群岛还支持在您的虚拟私有云 (VPC) 中运行的私有资源，这使得它们非常适合在终端节点没有公有 IP 地址时进行可用性监控。您也可以使用加那利群岛监控本地工作负载，前提是您可以从 VPC 内部连接到终端节点。当您的工作负载包含本地端点时，这一点尤其重要。