更新时间:2018 年 10 月 31 日
本文介绍了 Amazon 和 Google 在各自云环境中提供的监控服务。
监控服务
Amazon Web Services (AWS) 和 Google Cloud 都为各自的平台提供集成式监控服务。Amazon CloudWatch 为 AWS 同时提供日志记录服务和监控服务;而 Cloud Logging 和 Cloud Monitoring 分别为 Google Cloud 提供日志记录服务和监控服务。这两项服务可为云服务提供自动指标,并且可以通过代理和自定义指标进行扩展。
服务模式比较
下表将 Amazon CloudWatch 术语和概念与 Cloud Monitoring 的术语和概念进行了比较。
功能 | Amazon CloudWatch | Cloud Monitoring |
---|---|---|
帐号结构 | AWS 帐号 | 可监控 1-1000 个 Google Cloud 项目的工作区 |
受监控的指标类型 | AWS 本地指标 自定义指标 |
Google Cloud AWS 自定义指标 |
监控范围 | 每个区域分开 | 可监控 1-1000 个 Google Cloud 项目的工作区 |
指标收集 | 自动用于云服务 CloudWatch 代理 自定义指标 CloudWatch Logs 指标 |
自动用于云服务 监控代理 适用于 Prometheus 的监控代理 自定义指标 基于日志的指标 |
指标数据类型 | 双精度值 统计信息集 |
采样平均值 增量 累积 |
指标聚合 | 按帐号、AWS 区域、指标名称、命名空间和维度聚合 | 按工作区、群组、项目、资源类型、指标名称和标签聚合 |
保留 | 视指标数据类型而定 | 6 周 |
信息中心 | 是 | 是 |
提醒 | 警报 | 提醒政策 |
服务可用性检查 | Route 53 运行状况检查 | 正常运行时间检查 |
服务访问权限 | 控制台 AWS 命令行界面 (CLI) CloudWatch API AWS SDK |
Google Cloud Console Cloud SDK Cloud Monitoring API Google Cloud 客户端库 |
帐号结构
Amazon CloudWatch 为 AWS 帐号中使用的服务收集指标。在 Google Cloud 的运维套件中,您可以将 Google Cloud 项目添加到工作区,然后该运维套件会为这些 Google Cloud 项目收集指标。可通过该工作区下的 Cloud Monitoring 获取所有已添加的 Google Cloud 项目的指标。
受监控的指标类型
Amazon CloudWatch 自动监控 AWS 云服务,例如 Amazon EC2、Amazon S3 和 Amazon Route 53。Cloud Monitoring 自动监控 Google Cloud 服务,例如 Compute Engine、Google Kubernetes Engine (GKE)、Cloud Storage。这两项服务都能够通过代理收集更多指标并编写自定义指标。您可以将 Amazon CloudWatch 代理和 Cloud Monitoring 代理都配置为从第三方来源(如 StatsD)提取指标。
监控范围
Amazon CloudWatch 按 AWS 帐号和区域指定指标。指标先按 AWS 帐号,然后按区域分开。指标在 AWS 帐号和 AWS 区域的组合中聚合。
Cloud Monitoring 包括添加到工作区的所有 Google Cloud 项目的指标。指标按工作区和 Google Cloud 项目的组合分开。您可以在 Cloud Monitoring 帐号中聚合指标。
指标收集
Amazon CloudWatch 为 AWS 云服务(如 Amazon EC2、Amazon ECS 和 AWS Lambda)自动收集指标。此外,CloudWatch 代理还能够从 EC2 实例和本地服务器中收集更多系统级指标。您可以使用 CloudWatch 代理、AWS CLI 或 API 将自定义指标发布到 CloudWatch。
Cloud Monitoring 为 Google Cloud 服务(如 GKE、Cloud Functions、Pub/Sub)自动收集指标。您可以使用 Cloud Monitoring 代理从虚拟机实例收集系统和应用指标。此外,Google Cloud 操作套件 Prometheus 代理会收集通过 Prometheus(一种日志记录服务)公开的指标。您可以使用监控代理、gcloud
CLI 或 Cloud Monitoring API 将自定义指标发布到 Cloud Monitoring。
指标数据类型
Amazon CloudWatch 和 Cloud Monitoring 指标数据类型在结构上类似。指标结构的最大区别在于 Cloud Monitoring 指标提供多种指标类型和值类型,而 Amazon CloudWatch 接受统计信息集。
Amazon CloudWatch API 接受值类型为双精度的指标。API 还接受聚合指标的统计信息集。
Cloud Monitoring 指标接受三种指标:采样平均值、增量和累计,这些指标类型具有六种值:布尔值、整数、浮点、字符串、金额和分布。
指标聚合
Amazon CloudWatch 指标在 CloudWatch 帐号和 AWS 区域中按指标名称、命名空间和零维度或多维度进行唯一定义。您可以按指标名称、命名空间和维度执行过滤和聚合。
Cloud Monitoring 指标在工作区中按 Google Cloud 项目、资源类型、指标和标签进行唯一定义。您可以按 Google Cloud 项目、资源类型、指标和标签执行过滤和聚合。
Cloud Monitoring 还包括群组概念。Google Cloud 运维套件的群组可以基于名称、标记、区域、应用以及其他标准建立,并用于在逻辑上排列应用、基础架构或环境以进行过滤和聚合。
保留
Amazon CloudWatch
Amazon CloudWatch 保留每个数据点的时间长度取决于数据点所代表的监控期限。
期限 | 保留时间 |
---|---|
不到 60 秒(高分辨率自定义指标) | 3 小时 |
60 秒(1 分钟) | 15 天 |
300 秒(5 分钟) | 63 天 |
3600 秒(1 小时) | 455 天(15 个月) |
Cloud Monitoring
在 Cloud Monitoring 中,所有指标数据都会保留六周。
信息中心
Amazon CloudWatch 和 Cloud Monitoring 信息中心都能够将自定义指标图表添加到信息中心,然后按特定时间窗口过滤图表。
Amazon CloudWatch 信息中心由一个或多个图表组成。Amazon CloudWatch 信息中心可以包含单独区域中所提供服务的单独图表。要创建 Amazon CloudWatch 图表,您要先选择一个区域,然后从该区域内可用的指标中选择指标。您可以向单个图表添加多个指标,并通过使用界面或修改信息中心的来源来修改和更新信息中心。
Cloud Monitoring 信息中心可以包含任何集的图表或工作区中所有 Google Cloud 项目的图表。Cloud Monitoring 信息中心由一个或多个图表组成。如需创建 Cloud Monitoring 图表,请选择一组指标以及指标过滤条件、分组和聚合。您可以向单个图表添加多个指标。将图表添加到信息中心后,您可以使用信息中心本身按资源或指标标签进行过滤。
提醒
Amazon CloudWatch 和 Cloud Monitoring 都能够根据指标值执行操作。Amazon CloudWatch 中将这些阈值称为警报,而 Cloud Monitoring 中将其称为提醒政策。
Amazon CloudWatch 警报
Amazon CloudWatch 警报指定以下两点:
- 指标条件
- 操作
Amazon CloudWatch 指标条件指定用于生成警报的指标和阈值。警报有三种不同的状态:OK、ALARM 或 INSUFFICIENT_DATA。操作指定警报更改状态时要执行的操作。
您可以使用 Amazon CloudWatch 提供的以下服务:
- Amazon Simple Notification Service (SNS),该服务可扩展到第一方与第三方集成,例如 PagerDuty 和 Slack
- Amazon EC2 Auto Scaling
- Amazon EC2
Cloud Monitoring 提醒政策
Cloud Monitoring 提醒政策指定以下三点:
- 指标条件
- 可选通知
- 可选文档
Cloud Monitoring 指标条件指定用于生成提醒的指标阈值。当事件触发某项提醒政策中的条件时,Cloud Monitoring 会在 Cloud Monitoring 控制台中创建并显示突发事件。Cloud Monitoring 还可以通过电子邮件或第三方通知服务发送通知。通知包括创建提醒时已配置的所有文档。响应事件和提醒的用户可以确认收到通知,但在资源脱离运行状况不佳的状态之前,事件仍会保持未解决状态。
在 Cloud Monitoring 中,您可以使用以下通知:
- 电子邮件
- Webhooks,扩展到第一方与第三方集成
- PagerDuty(第三方)
- Slack(第三方)
服务可用性检查
AWS 和 Google Cloud 的运维套件都提供了用于从世界各地访问服务以验证服务可用性的工具。AWS 使用 Route 53 运行状况检查,而 Cloud Monitoring 则使用正常运行时间检查。二者都会检查可用于警报、提醒和信息中心的表面指标。
服务访问权限
下表列出了在 Amazon CloudWatch 和 Cloud Monitoring 中访问日志记录服务的方法。
访问方法 | Amazon CloudWatch | Cloud Monitoring |
---|---|---|
网页控制台 | Amazon CloudWatch 控制台 | Cloud Console |
命令行 | AWS CLI | gcloud 命令行工具 |
API | CloudWatch API | Monitoring API |
客户端库 | AWS SDK | Google Cloud 客户端库 |
费用
下表比较了 Amazon CloudWatch 和 Cloud Monitoring 对服务收费的方式。这两项服务在每月免费套餐或免费配额用尽后都会基于使用量计费。
产品组件 | Amazon CloudWatch 价格模式 | Cloud Monitoring 价格模式 |
---|---|---|
云服务指标 | 免费 | 免费 |
自定义指标 | 已创建的指标计数 | 以兆字节 (MiB) 为单位的指标量 |
基于代理的指标 | 已创建的指标计数 | 以 MiB 为单位的指标量,包括来自 AWS 资源的指标 |
信息中心 | 信息中心数 | 免费 |
警报和提醒 | 警报数 | 免费 |
API 调用 | API 调用次数 | 读取 API 调用次数 - 写入 API 调用是免费的 |
Amazon CloudWatch 价格详情
大多数 AWS 服务都会自动免费报告指标。系统根据每月报告超出每月免费套餐的指标数对自定义指标、代理指标、信息中心、警报和 API 调用定价。
Cloud Monitoring 价格详情
所有 Google Cloud 服务指标(如从 GKE、Compute Engine、Pub/Sub 报告的指标)都是免费的。系统根据超出每月免费分配的指标数据量对自定义指标、AWS 指标和代理指标收费。在每月的免费配额用尽后,使用 API 读取指标数据会按照 API 调用次数收费。通过 API 编写指标数据是免费的。如需了解详情,请参阅 Cloud Monitoring 价格。
后续步骤
查看其他“面向 AWS 专业人员的 Google Cloud 指南”文章: