AWS 快速入门

本快速入门介绍如何将 Monitoring 关联到您的 Amazon Web Services (AWS) 帐号。本文还介绍了如何在 EC2 实例上安装 Monitoring 和 Logging 代理。

准备工作

您必须具备一个当前未被工作区监控的 AWS 帐号。您无法从多个工作区监控同一个 AWS 帐号。

要断开 AWS 帐号与工作区的关联,请转到从工作区中移除项目

步骤概述

要将 AWS 帐号添加到工作区,您需要创建一个 Google Cloud 项目作为工作区的宿主项目。创建工作区后,即可将 AWS 帐号添加到该工作区。

按照以下步骤可将您的 AWS 帐号关联到 Monitoring:

  1. 创建新的 Google Cloud 项目

  2. 创建新工作区(推荐)或关联 AWS 帐号(如果要使用现有工作区)。

  3. 确定您的可信帐号 ID 和外部 ID。

  4. 使用帐号 ID 和外部 ID 创建 AWS 角色。

  5. 使用 AWS 角色连接工作区和 AWS 帐号以创建新的 AWS 连接器项目。

  6. 在 AWS 连接器项目中创建服务帐号,以授权访问 Google Cloud。

后续部分详细介绍了上述各个步骤。

配置工作区

建议您为此快速入门创建新的工作区。但是,如果要使用现有工作区,请跳至关联 AWS 帐号

在任何一种情况下,请务必获取 AWS 帐号所需的帐号 ID外部 ID。如需了解更多信息,请转到获取帐号 ID 和外部 ID

创建 Google Cloud 项目

要创建 Google Cloud 项目,请执行以下操作:

  1. 在 Cloud Console 中,转到新建项目

    创建新项目

  2. 项目名称字段中,输入 Quickstart

  3. 点击创建

获取您的帐号 ID 和外部 ID

要确定 AWS 所需的可信帐号 ID 和外部 ID,请执行以下操作:

  1. 转至 Monitoring

    转到“监控”

    在您首次访问一个 Google Cloud 项目的 Monitoring 时,Monitoring 会创建一个工作区并将其与您的项目关联。此过程将自动进行,除非您有多项目工作区。在这种情况下,系统会显示一个对话框,要求您选择创建工作区或是将项目添加到现有工作区。选择创建工作区。

  2. 点击设置,然后选择摘要标签页。

  3. 点击 Add AWS account

  4. 记录帐号 ID外部 ID。您需要此数据来创建 AWS 角色。

  5. 点击 Cancel。您可以在创建 AWS 角色后添加 AWS 帐号。

创建 AWS 角色

要创建授权 Cloud Monitoring 所需的 AWS 角色,您必须拥有工作区的帐号 ID外部 ID。如果没有,请按照获取您的帐号 ID 和外部 ID 中的说明操作。

要创建 AWS 角色,请执行以下操作:

  1. 登录到 AWS IAM 控制台并点击左侧菜单中的 Roles
  2. 点击 Create role,然后执行以下操作:

    • 对于 Role type,请选择 Another AWS account
    • Account ID 字段中,输入 Monitoring 提供的帐号 ID。
    • 选中 Require external ID 复选框。
    • External ID 字段中,输入 Monitoring 提供的外部 ID。
    • 请勿选中 Require MFA
  3. 点击 Next: Permissions

  4. Policy name 下拉列表中,选择 ReadOnlyAccess

  5. 点击 Next: Tags

  6. (可选)通过将标记以键值对形式附加到角色来添加元数据。

  7. 点击 Next: Review 并填写或验证以下信息:

    • Role name 字段中输入名称,例如 GoogleStackdriver
    • (可选)在 Role description 字段中,输入您想表达的任何内容。
    • Trusted entities 字段中,验证它是您之前输入的 Account ID
    • Policies 字段中,验证值为 ReadOnlyAccess
  8. AWS IAM 页面中,点击 Create Role

  9. Summary 页面上,复制 Role ARN 字符串,以便将其提供给 Monitoring。如果您没有看到摘要,请在 AWS 角色列表中点击您的角色名称(例如,GoogleStackdriver)。

关联 AWS 帐号

要将 AWS 帐号添加到现有工作区,请执行以下操作:

  1. 在 Cloud Console 中,转到 Monitoring

    转到“监控”

  2. 点击设置,然后选择摘要标签页。

    下方屏幕截图中的窗格显示您正在监控单个 Google Cloud 项目,即此工作区的宿主项目。您尚未监控任何 AWS 帐号。

    监控受监控的帐号。

  3. 点击 Add AWS account。输入您在创建工作区时使用的账号 ID外部 ID

  4. 在表单中输入以下信息:

    • 角色 ARN (Role ARN) 字段中,输入您在创建 AWS 角色时使用的角色 ARN,或按照添加 AWS 账号页面上的说明创建角色。
    • Description of account 字段中,输入您的 AWS 帐号的简短描述。前一两个字词用于创建新的项目 ID。

      监控 AWS 受监控的帐号。

  5. 点击 Add AWS account。稍过片刻,系统会确认已建立关联。

AWS 连接器项目

当您关联到 AWS 帐号时,Monitoring 会为您创建一个 AWS 连接器项目。您的工作区设置中的受监控的账号页面现在包含此项目的 ID:

您的 AWS 帐号说明 [YOUR_AWS_ACCOUNT_NUMBER]
关联到 [CONNECTOR_PROJECT_ID]

其中:

  • [YOUR_AWS_ACCOUNT_NUMBER] 代表您的 AWS 帐号的号码。
  • [CONNECTOR_PROJECT_ID] 代表连接器项目,您通过它来接收来自 AWS 帐号的日志和指标,并为需要访问 Google Cloud 的代理和其他 AWS 应用设置授权。

    连接器项目的 ID 始终以 aws- 开头,项目名称始终以 AWS Link 开头。

下一步对 AWS 应用进行授权

问题排查

如果系统提示您的 AWS 帐号已受监控,请执行以下操作:

  • 如果另一个工作区正在监控您的 AWS 帐号,那么您必须从中移除您的 AWS 帐号。您无法从多个工作区监控同一个 AWS 帐号。要断开 AWS 帐号与工作区的关联,请转到从工作区中移除项目

  • 如果您在创建 AWS 角色时未使用当前工作区中的正确帐号 ID外部 ID,也可能出现此消息。每个工作区的外部 ID 皆不相同。

对 AWS 应用进行授权

如果要执行以下任何操作,您必须执行下列步骤:

  • 在 AWS 虚拟机实例上运行 Monitoring 或 Logging 代理。
  • 从 AWS 应用使用任何 Google Cloud 服务。

要授权在 AWS 上运行的应用访问 Google Cloud 服务,请授予它们访问具有适当 Google Cloud IAM 角色的 Google Cloud 服务帐号的权限。

您可以使用单个服务帐号对同一 AWS 帐号中的多个 AWS 虚拟机实例和应用进行授权,或者您也可以创建多个服务帐号。

创建服务帐号

要创建服务帐号,请执行以下操作:

  1. 转到连接器项目的 IAM 和管理 > 服务帐号页面:

    转到“服务帐号”

  2. 选择您的 AWS 帐号的 AWS 连接器项目(名为 AWS Link...)。

  3. 您的连接器项目可能没有服务帐号,因此您需要创建一个服务帐号。点击 Create service account 并输入以下信息:

    • 服务帐号名称字段中输入 Monitoring agent authorization,然后点击创建

      创建服务帐号。

    • 服务帐号权限对话框中,选择以下角色,然后点击继续

      • Monitoring > Monitoring Metric Writer
      • Logging > Logs Writer

      创建服务帐号。

    • 创建密钥对话框中,点击创建密钥,然后选择 JSON

  4. 点击完成。 服务帐号的私钥文件将下载到您的工作站,名称为 Downloads/[PROJECT_NAME]-[KEY_ID].json

    其中:

    • [PROJECT_NAME] 代表您的 Google Cloud 项目的名称。
    • [KEY_ID] 代表生成的私钥。

    为简化以下说明,请在工作站上将凭据文件的位置保存到变量 CREDS 中:

    CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
    

将服务帐号添加到虚拟机实例

要添加服务帐号,请执行以下操作:

  1. 在工作站中,将私钥凭据文件复制到您的 AWS EC2 实例,然后保存在一个名为 temp.json 的文件中。在 scp 命令中,指明 key.pem 和您的 AWS SSH 密钥对文件的路径,并提供您的 AWS 凭据。

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. 在您的 EC2 实例上,将凭据移动到 /etc/google/auth/application_default_credentials.json

    GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
    sudo mkdir -p $(dirname "$GOOGLE_APPLICATION_CREDENTIALS")
    sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
    
  3. (可选):限制对服务帐号的私钥凭据的访问权限。 例如:

    sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
    sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
    
  4. 确保环境变量 GOOGLE_APPLICATION_CREDENTIALS 对有权使用 Google Cloud 的代理和其他应用可见。标准 Google Cloud 客户端库理解该环境变量名称。

安装代理

  1. (可选):在您的 EC2 实例上安装 Cloud Monitoring 代理。虽然 Cloud Monitoring 可以在没有 Monitoring 代理的情况下访问某些实例指标(包括 CPU 利用率和正常运行时间信息),但 Monitoring 代理可提供更多系统资源和应用服务的指标。

    如需安装 Cloud Monitoring 代理,请参阅安装 Cloud Monitoring 代理,并根据您的操作系统选择说明。这些说明包括有关如何验证代理是否正在运行的信息以及问题排查指南的链接。

  2. (可选):在您的 EC2 实例上安装 Cloud Logging 代理,该代理将日志流式传输到 Cloud Logging。请参阅安装 Cloud Logging 代理并根据您的操作系统选择说明。这些说明包括有关如何验证代理是否正在运行的信息以及问题排查指南的链接。

将 Monitoring 服务与 AWS 搭配使用

本部分介绍如何通过 AWS 帐号使用 Monitoring 服务。

创建正常运行时间检查和提醒政策

创建正常运行时间检查有两种不同的用户流。您将随机分配到其中一个流。本部分包含这两个流的说明。

新流程

  1. 在 Cloud Console 中,选择 Monitoring

    转到“监控”

    在您首次访问一个 Google Cloud 项目的 Monitoring 时,Monitoring 会创建一个工作区并将其与您的项目关联。此过程将自动进行,除非您有多项目工作区。在这种情况下,系统会显示一个对话框,要求您选择创建工作区或是将项目添加到现有工作区。选择创建工作区。

  2. 点击正常运行时间检查

  3. 点击创建正常运行时间检查

  4. 如果创建正常运行时间检查窗口如下图所示,请按照这些说明继续操作;否则,请点击此表格中的传统流标签页,然后按照以下说明继续操作:

    创建正常运行时间检查对话框。

  5. 输入 My Uptime Check 作为标题,然后点击 下一步

  6. 目标:

    1. 确保为该协议选择 HTTP
    2. 选择任何可用资源作为资源类型
    3. 根据需要填写其他字段。
    4. 点击下一步
  7. 响应验证:将这些字段保留为默认值,然后点击下一步

  8. 提醒和通知

    • 确保切换开关的标签为已启用提醒 (Alerting is enabled)。
    • 保留名称和时长字段的默认值。
    • 要向提醒政策添加通知渠道,请在通知渠道文本框中点击菜单 。选择要添加的渠道,然后点击确定。系统会针对每种渠道类型按字母顺序排列通知。

      要向复选框列表添加条目,请点击管理通知渠道,然后按照说明操作。返回此对话框后,点击刷新

  9. 要验证您的正常运行时间检查配置,请点击测试。 如果您看到“连接错误 - 已拒绝”(Connection error - refused) 消息,则表明您可能尚未安装 Apache HTTP Server,或者您可能指定了 HTTPS(而非 HTTP)检查类型。如果看到其他错误,请参阅验证正常运行时间检查

  10. 点击创建。当创建操作成功时,横幅会显示检查并提醒已创建 (Check and alert created)。正常运行时间检查窗口列出新的检查,并包含指向正常运行时间检查的信息中心的链接。提醒窗口列出新的提醒政策,并包含政策信息中心的链接。如果缺少必需数据,则无法成功创建,同时对话框按钮旁边会显示需要数据的字段列表。

传统流

要创建正常运行时间检查,请执行以下操作:

  1. 转到 Monitoring:

    转到“监控”

    在您首次访问一个 Google Cloud 项目的 Monitoring 时,Monitoring 会创建一个工作区并将其与您的项目关联。此过程将自动进行,除非您有多项目工作区。在这种情况下,系统会显示一个对话框,要求您选择创建工作区或是将项目添加到现有工作区。选择创建工作区。

  2. 点击正常运行时间检查

  3. 点击创建正常运行时间检查

  4. 新建正常运行时间检查 (New uptime check) 窗口如下图所示,请按照这些说明继续操作;否则,请点击此表格中的新流程标签页,然后按照以下说明继续操作:

    显示包含默认字段的“新建正常运行时间检查”对话框。

  5. 填写新的正常运行时间检查的以下字段:

    • 书名字段中,输入 My Uptime Check
    • 检查类型菜单中,选择 HTTP
    • 选择任何可用资源作为资源类型
    • 根据需要填写其他字段。
    • 其他字段保留默认值。
  6. 要验证正常运行时间检查是否有效,请点击测试。如果您看到“连接错误 - 已拒绝”(Connection error - refused) 消息,则表明您可能尚未安装 Apache HTTP Server,或者您可能指定了 HTTPS(而非 HTTP)检查类型。如果看到其他错误,请参阅验证正常运行时间检查

  7. 点击保存。系统会显示以下对话框:

    显示“正常运行时间检查已创建”对话框。

创建提醒政策

  1. 正常运行时间检查已创建 (Uptime Check Created) 窗格中,点击创建提醒政策 (Create Alerting Policy)。

  2. Untitled Condition 字段中,输入提醒政策条件的标题。条件窗格中的所有其他字段将从您创建的正常运行时间检查中自动填充。

    显示包含默认设置的“创建条件”对话框。

  3. 点击保存

  4. 输入 My Uptime Check Policy 作为提醒政策的名称

    显示包含默认设置的“新建提醒政策”对话框。

  5. (可选)要配置电子邮件通知,请点击添加通知渠道,从菜单中选择电子邮件,输入您的电子邮件地址,然后点击添加

  6. 点击保存。您会看到该政策的摘要。

创建信息中心和图表

要显示 Monitoring 收集的指标,请完成以下步骤:

  1. 转到 Monitoring:

    转到“监控”

  2. 选择信息中心,然后选择创建信息中心

  3. 输入 Quickstart dashboard 作为信息中心的名称,然后点击确认

  4. 点击添加图表

  5. 确保已选择指标标签页:

    显示包含默认设置的“添加图表”对话框。

  6. Find resource type and metric 标题下,点击文本框并选择一个 AWS 指标。

  7. 点击保存

查看日志

Monitoring 和 Logging 是紧密集成在一起的。

  1. 在 Cloud Console 中,转到 Logging,然后选择 AWS Link
  2. AWS 连接器项目的日志查看器包含您的 AWS 日志。更改日志查看器关注范围以查看您要看的日志:

    • 转到 Google 项目 > All project_id,您应该看到至少一条因设置您的 AWS 连接器项目而生成的审核日志

      AWS 日志查看器。

    • 如果您在受支持的 AWS 虚拟机实例上安装了 Cloud Monitoring 代理,则可能会看到其他日志选项。

清理

为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,请按照以下步骤操作。

  1. 移除 Monitoring 图表和提醒。 转到 Monitoring:

    1. 提醒中删除提醒政策。
    2. 提醒中删除正常运行时间检查。
    3. 信息中心中删除图表。
  2. 点击设置,然后选择摘要标签页。

  3. 在标题为 AWS Accounts 的部分中,找到您用于本快速入门的 AWS 帐号,点击更多 ,然后选择从工作区中移除

  4. 在您的 Amazon 帐号中,删除您为快速入门创建的 AWS IAM 角色。

  5. 在 Google Cloud Console 中,删除您的 AWS 连接器项目,如果您为此快速入门创建了 Google Cloud 项目 aws-quickstart,也请一并删除。要删除项目,请选择该项目,转到 IAM 和管理并选择设置,然后点击关停

后续步骤

  • 转到受支持的指标,以查看所有内置指标的列表。Amazon AWS 有超过 500 个指标。如果您要创建自己的 Monitoring 指标,请转到自定义指标

  • 要使用 Monitoring API,请转到 API 参考

  • 如需详细了解 Logging 及其与 Monitoring 的关系,请参阅 Logging 相关文档。