面向 AWS 专业人员的 Google Cloud Platform 简介:监控

更新时间:2018 年 10 月 31 日

本文介绍了 Amazon 和 Google 在各自云环境中提供的监控服务。

监控服务

Amazon Web Services (AWS) 和 Google Cloud Platform (GCP) 都为各自的平台提供集成式监控服务。Amazon CloudWatch 为 AWS 同时提供日志记录和监控服务;而 Stackdriver LoggingStackdriver Monitoring 分别为 GCP 提供日志记录和监控服务。这两项服务可为云服务提供自动指标,并且可以通过代理和自定义指标扩展。

服务模式比较

下表将 Amazon CloudWatch 术语和概念与 Stackdriver Monitoring 的术语和概念进行了比较。

特征 Amazon CloudWatch Stackdriver Monitoring
帐号结构 AWS 帐号 可监控 1-1000 个 GCP 项目的工作区
受监控的指标类型 AWS
本地指标
自定义指标
GCP
AWS
自定义指标
监控范围 每个区域分开 可监控 1-1000 个 GCP 项目的工作区
指标收集 对于云服务为自动指标
CloudWatch 代理
自定义指标
CloudWatch 日志指标
对于云服务为自动指标
Monitoring 代理
用于 Prometheus 的 Monitoring 代理
自定义指标
基于日志的指标
指标数据类型 双重值
统计信息集
采样平均值
增量
累计
指标聚合 按帐号、AWS 区域、指标名称、命名空间和维度聚合 按工作区、群组、项目、资源类型、指标名称和标签聚合
保留 视指标数据类型而定 6 周
信息中心
提醒 警报 提醒政策
服务可用性检查 Route 53 运行状况检查 正常运行时间检查
服务访问权限 Console
AWS 命令行界面 (CLI)
CloudWatch API
AWS SDK
Google Cloud Platform Console
Cloud SDK
Stackdriver Monitoring API
GCP 客户端库

帐号结构

Amazon CloudWatch 为 AWS 帐号中使用的服务收集指标。在 Stackdriver 中,您可以向工作区添加 GCP 项目,然后 Stackdriver 为这些 GCP 项目收集指标。在该工作区下的 Stackdriver Monitoring 中可以获得所有添加的 GCP 项目的指标。

受监控的指标类型

Amazon CloudWatch 自动监控 AWS 云服务,例如 Amazon EC2、Amazon S3 和 Amazon Route 53。Stackdriver Monitoring 自动监控 GCP 服务,例如 Compute Engine、Google Kubernetes Engine (GKE) 和 Cloud Storage。这两项服务都能够通过代理收集更多指标并编写自定义指标。您可以将 Amazon CloudWatch 代理和 Stackdriver Monitoring 代理都配置为从第三方来源(如 StatsD)提取指标。

监控范围

Amazon CloudWatch 按 AWS 帐号和区域指定指标。指标先按 AWS 帐号,然后按区域分开。指标在 AWS 帐号和 AWS 区域的组合中聚合。

演示按区域和帐号聚合 AWS 指标的图表

Stackdriver Monitoring 包括添加到工作区的所有 GCP 项目的指标。指标按工作区和 GCP 项目的组合分开。您可以在 Stackdriver Monitoring 帐号中聚合指标。

演示按区域和帐号聚合 Stackdriver 指标的图表

指标收集

Amazon CloudWatch 为 AWS 云服务(如 Amazon EC2、Amazon ECS 和 AWS Lambda)自动收集指标。此外,CloudWatch 代理还能够从 EC2 实例和本地服务器中收集更多系统级指标。您可以使用 CloudWatch 代理、AWS CLI 或 API 将自定义指标发布到 CloudWatch。

Stackdriver Monitoring 为 GCP 服务(如 GKE、Cloud Functions 和 Cloud Pub/Sub)自动收集指标。您可以使用 Stackdriver Monitoring 代理从虚拟机实例收集系统和应用指标。此外,Stackdriver Prometheus 代理会收集通过日志记录服务 Prometheus 公开的指标。您可以使用 Monitoring 代理、gcloud CLI 或 Stackdriver Monitoring API 将自定义指标发布到 Stackdriver Monitoring。

指标数据类型

Amazon CloudWatch 和 Stackdriver Monitoring 指标数据类型在结构上类似。指标结构的最大区别在于 Stackdriver Monitoring 指标提供多种指标类型和值类型,而 Amazon CloudWatch 接受统计信息集。

Amazon CloudWatch API 接受值类型为 Double 的指标。API 还接受聚合指标的统计信息集。

Stackdriver Monitoring 指标接受三种指标:采样平均值、增量和累计,这些指标类型具有六种值:布尔值、整数、浮点、字符串、金额和分布。

指标聚合

Amazon CloudWatch 指标在 CloudWatch 帐号和 AWS 区域中按指标名称、命名空间和零维度或多维度进行唯一定义。您可以按指标名称、命名空间和维度执行过滤和聚合。

演示 AWS 如何过滤聚合的指标的图表

Stackdriver Monitoring 指标在工作区中按 GCP 项目、资源类型、指标和标签进行唯一定义。您可以按 GCP 项目、资源类型、指标和标签执行过滤和聚合。

Stackdriver Monitoring 还包括群组概念。Stackdriver 群组可以基于名称、标签、区域、应用以及其他标准建立,并用于在逻辑上排列应用、基础架构或环境以进行过滤和聚合。

演示 Stackdriver 如何过滤聚合的指标的图表

保留

Amazon CloudWatch

Amazon CloudWatch 保留每个数据点的时间长度取决于数据点所代表的监控期限。

期限 保留时间
不到 60 秒(高分辨率自定义指标) 3 小时
60 秒(1 分钟) 15 天
300 秒(5 分钟) 63 天
3600 秒(1 小时) 455 天(15 个月)

Stackdriver Monitoring

在 Stackdriver Monitoring 中,所有指标数据都会保留六周

信息中心

Amazon CloudWatch 和 Stackdriver Monitoring 信息中心都能够将自定义指标图表添加到信息中心,然后按特定时间窗口过滤图表。

Amazon CloudWatch 信息中心由一个或多个图表组成。Amazon CloudWatch 信息中心可以包含单独区域中所提供服务的单独图表。要创建 Amazon CloudWatch 图表,您要先选择一个区域,然后从该区域内可用的指标中选择指标。您可以向单个图表添加多个指标,并通过使用界面或修改信息中心的来源来修改和更新信息中心。

Stackdriver Monitoring 信息中心可以包含任何集的图表或工作区中所有 GCP 项目的图表。Stackdriver Monitoring 信息中心由一个或多个图表组成。要创建 Stackdriver Monitoring 图表,请选择一组指标以及指标过滤条件、分组和聚合。您可以向单个图表添加多个指标。将图表添加到信息中心后,您可以使用信息中心本身按资源或指标标签进行过滤。

提醒

Amazon CloudWatch 和 Stackdriver Monitoring 都能够根据指标值执行操作。Amazon CloudWatch 中将这些阈值称为警报,而 Stackdriver 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

Stackdriver Monitoring 提醒政策

Stackdriver Monitoring 提醒政策指定以下三点:

  • 指标条件
  • 可选通知
  • 可选文档

Stackdriver Monitoring 指标条件指定用于生成提醒的指标阈值。当活动触发某项提醒政策中的条件时,Stackdriver Monitoring 会在 Stackdriver Monitoring 控制台中创建并显示事件。Stackdriver Monitoring 还可以通过电子邮件或第三方通知服务发送通知。通知包括创建提醒时已配置的所有文档。响应事件和提醒的用户可以确认收到通知,但在资源脱离运行状况不佳的状态之前,事件仍会保持未解决状态。

在 Stackdriver Monitoring 中,您可以使用以下通知:

  • 电子邮件
  • Webhooks,扩展到第一方与第三方集成
  • PagerDuty(第三方)
  • HipChat(第三方)
  • Campfire(第三方)
  • Slack(第三方)

服务可用性检查

AWS 和 Stackdriver 都提供了用于从世界各地访问服务以验证服务可用性的工具。AWS 使用 Route 53 运行状况检查,而 Stackdriver Monitoring 则使用正常运行时间检查。二者都会检查可用于警报、提醒和信息中心的表面指标。

服务访问权限

下表列出了在 Amazon CloudWatch 和 Stackdriver Monitoring 中访问日志记录服务的方法。

访问方法 Amazon CloudWatch Stackdriver Monitoring
网络控制台 Amazon CloudWatch 控制台 GCP Console
命令行 AWS CLI gcloud 命令行工具
API CloudWatch API Monitoring API
客户端库 AWS SDK GCP 客户端库

费用

下表比较了 Amazon CloudWatch 和 Stackdriver Monitoring 对服务收费的方式。这两项服务在每月免费套餐或免费配额用尽后都会基于使用量计费。

产品组件 Amazon CloudWatch 价格模式 Stackdriver Monitoring 价格模式
云服务指标 免费 免费
自定义指标 已创建的指标计数 以兆字节 (MiB) 为单位的指标量
基于代理的指标 已创建的指标计数 以 MiB 为单位的指标量,包括来自 AWS 资源的指标
信息中心 信息中心数 免费
警报和提醒 警报数 免费
API 调用 API 调用次数 读取 API 调用次数 - 写入 API 调用是免费的

Amazon CloudWatch 价格详情

大多数 AWS 服务都会自动免费报告指标。系统根据每月报告超出每月免费套餐的指标数对自定义指标、代理指标、信息中心、警报和 API 调用定价。

Stackdriver Monitoring 价格详情

所有 GCP 服务指标(如从 GKE、Compute Engine 和 Cloud Pub/Sub 报告的指标)都是免费的。系统根据超出每月免费分配的指标数据量对自定义指标、AWS 指标和代理指标收费。在每月的免费配额用尽后,使用 API 读取指标数据会按照 API 调用次数收费。通过 API 编写指标数据是免费的。如需了解详情,请参阅 Stackdriver Monitoring 价格

后续事项

查看其他“面向 AWS 专业人员的 GCP 简介”文章:

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
面向 AWS 专业人员的 Google Cloud Platform 简介