介绍 AWS CloudWatch Events 服务

  • Kent Weare
  • 邵思华

2016 年 2 月 15 日

话题:AWSDevOps架构

亚马逊最近宣布将改变客户对其 AWS 资源进行监控的方式。新的服务名为 CloudWatch Events,它允许客户通过一个接近实时的事件流了解 AWS 环境中所产生的各种变更。这些事件变更还能够通过各种规则的应用进一步触发通知机制或其他行为。

通常来说,为了了解当前服务的健康状况,客户不得不自行编写脚本及工具,以低效的轮询方式调用各种管理 API。随后,为了确定状态的变更,客户还要将当前信息与历史信息进行对比。为了让客户不必将时间再浪费在创建这种类型的工具上,亚马逊发布了 CloudWatch Events。

CloudWatch Events 可以监控系统中的各种行为,例如某个 EC2 实例的启动或关闭,并检测到自动伸缩事件的发生。CloudWatch Events 还能够检测到服务的设置或中止,包括Amazon DynamoDB tables、Amazon SNS topic 或Amazon SQS

CloudWatch Events 通过规则策略得以触发。规则可以在分钟的级别上进行设置,并允许管理员将 CloudWatch Events 路由给一个或多个其他 AWS 服务,包括AWS Lambda functions、Amazon Kinesis streams 和Amazon SNS topics。

Jeff Barr 是 AWS 的首席传教士,他对这个服务的定位是一种集中式的编排工具:“你可以将 CloudWatch Events 视为整个 AWS 环境的中枢神经系统,它将连接到所支持服务的每个角落,并时刻了解各种运维的变更。随后,它可以由你的规则所驱动,激活函数及发送消息(如果你愿意,甚至可以让它刺激你的肌肉组织)以响应环境变化、产生变更、获取状态信息、或采取纠正行为。”

CloudWatch Events 由三个主要组件所构成:

  • 事件(Event)表现为小型的 JSON blob 文件,可以通过四种不同方式生成:
    • 当某个服务的状态变更时产生,例如某个服务从挂起状态变更为运行状态。
    • 通过 API 调用或控制台的登录,可以由 CloudTrail 生成 CloudWatch Events 中的事件。
    • 自定义代码可以向 CloudWatch Events 发布特定于应用程序的事件。
    • 通过预定的、类 Cron 风格的作业生成事件。
  • 规则(Rule)将对所传入的事件进行评估,以确定是否触及了某个阀值、或是发生了越界的情形。一旦结果为真,该事件就会被路由至某个目标以进行处理。
  • 目标(Target)将对由规则所传入的事件进行处理。一个规则可以调用多个目标,而用于表现某事件的 JSON 也可以在传递给目标之前进行预处理。在 CloudWatch Events 正式发布时,亚马逊将支持四种不同类型的目标:
    • 内置目标
    • Lambda 函数
    • Kinesis 流
    • SNS 主题

从收费角度来说,客户可以选择多种部署 CloudWatch Events 的方式。亚马逊将提供一种免费版本,并声称“大量的应用程序都应该可以在免费版本的限制之内满足需求。”免费版本允许新客户或现有客户每个月建立 3 种仪表板及最多 50 种指标,而不会收取额外的费用。基础监控功能可以每 5 分钟刷新一次结果,它对于 Amazon EC2 实例来说也是免费的。要想了解免费版本以及其他提供了更多功能的版本的详细信息,请访问亚马逊的收费信息页面

查看英文原文:Introducing AWS CloudWatch Events

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

AWSDevOps架构