AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

在 AWS CodeDeploy 中监控部署

监控是保持 AWS CodeDeploy 和 AWS 解决方案的可靠性、可用性和性能的重要环节。您应从 AWS 解决方案的所有部分收集监控数据,以便更轻松地调试出现的多点故障。但是,在开始监控 AWS CodeDeploy 之前,您应创建一个可以回答以下问题的监控计划:

  • 您的监控目标是什么?

  • 您将监控哪些资源?

  • 监控这些资源的频率如何?

  • 您将使用哪些监控工具?

  • 谁负责执行监控任务?

  • 出现错误时应通知谁?

接下来,通过在不同时间和不同负载条件下衡量性能,在您的环境中建立为正常的 AWS CodeDeploy 性能建立基准。监控 AWS CodeDeploy 时,应将历史监控数据存储下来,以便可以将其与当前性能数据进行比较,确定正常性能模式和异常性能表现,并设计出问题解决方法。

例如,如果您使用的是 AWS CodeDeploy,则可以监控部署和目标实例的状态。当部署或实例失败时,您可能需要重新配置应用程序规范文件,重新安装或更新 AWS CodeDeploy 代理,更新应用程序或部署组中的设置或更改实例设置或 AppSpec 文件。

要建立基准,您至少应监控以下各项:

  • 部署事件和状态

  • 实例事件和状态

自动监控工具

AWS 为您提供了各种可用于监控 AWS CodeDeploy 的工具。您可以配置其中的一些工具来为您执行监控任务,但有些工具需要手动干预。建议您尽可能实现监控任务自动化。

您可以使用以下自动化监控工具来监控 AWS CodeDeploy 并在出现错误时进行报告:

  • Amazon CloudWatch 警报 – 按您指定的时间段观察单个指标,并根据相对于给定阈值的指标值在若干时间段内执行一项或多项操作。该操作是向 Amazon Simple Notification Service (Amazon SNS) 主题或 Auto Scaling 策略发送通知。CloudWatch 警报将不会调用操作,因为这些操作处于特定状态;该状态必须改变并在指定数量的时间段内一直保持。有关更多信息,请参阅 使用 Amazon CloudWatch 工具监控部署

    有关更新您的服务角色以配合使用 CloudWatch 警报监控的信息,请参阅向 AWS CodeDeploy 服务角色授予 CloudWatch 权限。有关向您的 AWS CodeDeploy 操作添加 CloudWatch 警报监控的信息,请参阅创建应用程序创建部署组更改部署组设置

  • Amazon CloudWatch Logs – 监控、存储和访问来自 AWS CloudTrail 或其他来源的日志文件。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的监视日志文件

    有关使用 CloudWatch 控制台查看 AWS CodeDeploy 日志的信息,请参阅在 CloudWatch Logs 控制台中查看 AWS CodeDeploy 日志

  • Amazon CloudWatch Events – 匹配事件并将事件传送到一个或多个目标函数或流来进行更改、捕获状态信息和采取纠正措施。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的使用事件

    有关在 AWS CodeDeploy 操作中使用 CloudWatch Events 的信息,请参阅使用 Amazon CloudWatch Events 监控部署

  • AWS CloudTrail 日志监控 – 在账户间共享日志文件,通过将 CloudTrail 日志文件发送到 CloudWatch Logs 对它们进行实时监控,在 Java 中编写日志处理应用程序,以及验证您的日志文件在被 CloudTrail 交付后未发生更改。有关更多信息,请参阅 AWS CloudTrail User Guide 中的使用 CloudTrail 日志文件

    有关通过 AWS CodeDeploy 使用 CloudTrail 的信息,请参阅使用 AWS CloudTrail 监视部署

  • Amazon Simple Notification Service — 配置事件驱动的触发器,以接收有关部署和实例事件(如成功或失败)的 SMS 或电子邮件通知。有关更多信息,请参阅创建主题什么是 Amazon Simple Notification Service

    有关为 AWS CodeDeploy 设置 Amazon SNS 通知的信息,请参阅使用 Amazon SNS 事件通知监控部署.

手动监控工具

监控 AWS CodeDeploy 时的另一个重要环节是手动监控 CloudWatch 警报未涵盖的那些项。AWS CodeDeploy、CloudWatch 和其他 AWS 控制台仪表板均提供 AWS 环境状态的概览视图。建议您还要查看 AWS CodeDeploy deployments 上的日志文件。

  • AWS CodeDeploy 控制台显示:

    • 部署的状态。

    • 每个上次尝试和上次成功部署的版本的日期和事件

    • 部署中成功、失败、跳过或进行中的实例的数量

    • 本地实例的状态

    • 注册或注销本地实例的日期和时间

  • CloudWatch 主页显示:

    • 当前警报和状态

    • 警报和资源的图表

    • 服务运行状况

    此外,您还可以使用 CloudWatch 执行以下操作:

    • 创建自定义控制面板以监控您关心的服务

    • 绘制指标数据图,以排除问题并弄清楚趋势

    • 搜索并浏览您所有的 AWS 资源指标

    • 创建和编辑警报以接收有关问题的通知

本页内容: