Amazon EC2 快速入门

本快速入门介绍如何从现有的 Amazon Elastic Compute Cloud (Amazon EC2) 实例收集系统指标,以及如何在 Cloud Monitoring 中查看这些指标。

在本快速入门中,您将执行以下所有操作:

  1. 在 Amazon EC2 实例上安装 Monitoring 和 Logging 代理。
  2. 配置 Amazon Web Services (AWS) 帐号,以允许向 Monitoring 发送代理收集的数据。
  3. 查看并显示这些数据。

在本页面上,术语已连接意味着 AWS 帐号已配置为将 Monitoring 和 Logging 代理收集的数据发送到 Cloud Monitoring。

准备工作

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

步骤概述

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

  1. 创建 Google Cloud 项目作为指标范围的范围界定项目(或 Workspace 的宿主项目)以监控您的 AWS 帐号。

  2. 将您的 AWS 帐号关联到 Google Cloud。在此步骤中,您将使用 Cloud Monitoring 提供的帐号 ID 和外部 ID 来创建 Amazon IAM 角色,并创建 AWS 连接器项目

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

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

创建 Google Cloud 项目

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

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

    创建新项目

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

  3. 点击创建

关联 AWS 帐号

如需配置 AWS 帐号以允许 Google Cloud 读取其指标,请执行以下操作:

  1. 在 Google Cloud Console 项目选择器中,选择 Quickstart。这是您将在其中修改工作区以包含您的 AWS 帐号指标的 Google Cloud 项目。
  2. 在 Cloud Console 的导航窗格中,选择 Monitoring

    如果您从未使用过 Cloud Monitoring,那么您在 Google Cloud Console 中首次访问 Monitoring 时,系统会自动创建一个工作区,并将您的项目与该工作区相关联。否则,如果您的项目未与工作区关联,则系统会显示一个对话框,您可以创建一个工作区,也可以将您的项目添加到现有工作区。我们建议您创建一个工作区。完成选择后,请点击添加

  3. 在 Monitoring 的导航窗格中,选择设置,然后点击添加 AWS 帐号

  4. 展开选择项目,然后点击新建项目

    输入新项目的名称,例如 AWS connector quickstart。为使 AWS 连接器项目易于识别,我们建议您使用命名惯例。请勿使用现有 Google Cloud 项目作为 AWS 连接器项目。

  5. 点击下一步以进入授权 AWS for Monitoring

    AWS 授权页面会显示您在为 Cloud Monitoring 创建 Amazon IAM 角色时需要使用的两个字段:

    • 帐号 ID
    • 外部 ID
  6. 打开一个新窗口,并创建一个可授予 Google Cloud 对 AWS 帐号只读权限的 Amazon IAM 角色:

    1. 登录您的 AWS 帐号,选择 IAM 页面,然后点击创建角色
    2. 选择其他 AWS 帐号
    3. 帐号 ID 字段中,输入 Cloud Monitoring 提供的帐号 ID。
    4. 勾选需要外部 ID,然后在外部 ID 字段中输入 Cloud Monitoring 提供的外部 ID。
    5. 取消选中需要 MFA,然后点击下一步:权限
    6. 在权限搜索栏中,输入 ReadOnlyAccess,然后选择 ReadOnlyAccess
    7. 展开设置权限边界,并确保创建没有权限边界的角色
    8. 点击下一步:标记
    9. 点击下一步:审核
    10. 输入角色名称和说明,然后点击创建角色
    11. 摘要页面上,将角色 ARN 复制到剪贴板。
  7. 返回到原始 Google Cloud Console 标签页,将 AWS 角色 ARN 粘贴到说明处,输入说明,然后点击添加 AWS 帐号

    稍过片刻,系统会确认已建立关联。

AWS 连接器项目

设置页面上,受监控帐号窗格包含 AWS 连接器项目的 ID:

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

其中:

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

下一步对 AWS 应用进行授权

问题排查

如果错误消息表明您的 AWS 帐号已受监控,请检查以下内容:

  • 如果另一个工作区正在监控您的 AWS 帐号,您必须从该工作区中移除 AWS 帐号。您无法从多个工作区监控同一个 AWS 帐号。如需了解如何取消 AWS 帐号与工作区的关联,请参阅从工作区中移除项目

  • 验证您在创建 AWS 角色时输入当前工作区的帐号 ID外部 ID。每个工作区的外部 ID 皆不相同。

对 AWS 应用进行授权

如果您要执行以下任一操作,则必须向 AWS 应用授权:

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

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

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

创建服务帐号

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

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

    转到“服务帐号”

  2. 选择您的 AWS 帐号的 AWS 连接器项目。

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

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

      创建服务帐号。

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

      • Monitoring > Monitoring Metric Writer
      • Logging > Logs Writer

      创建服务帐号。

  4. 点击完成

  5. 修改新服务帐号以包含服务密钥:

    1. 点击 更多选项并选择管理密钥
    2. 选择添加密钥,并确保密钥类型设置为 JSON

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

    其中:

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

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

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

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

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

  1. 在工作站中,将私钥凭据文件复制到您的 Amazon 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. 在您的 Amazon 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. (可选):在您的 Amazon EC2 实例上安装 Cloud Monitoring 代理。虽然 Cloud Monitoring 可以在没有 Monitoring 代理的情况下访问某些实例指标(包括 CPU 利用率和正常运行时间信息),但 Monitoring 代理可提供更多系统资源和应用服务的指标。

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

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

将 Monitoring 服务与 AWS 搭配使用

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

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

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

  1. 在 Cloud Console 中,选择 Monitoring

    转到 Monitoring

    如果您从未使用过 Cloud Monitoring,那么您在 Google Cloud Console 中首次访问 Monitoring 时,系统会自动创建一个工作区,并将您的项目与该工作区相关联。否则,如果您的项目未与工作区关联,则系统会显示一个对话框,您可以创建一个工作区,也可以将您的项目添加到现有工作区。我们建议您创建一个工作区。完成选择后,请点击添加

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

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

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

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

  5. 目标:

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

  7. 提醒和通知

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

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

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

  9. 点击创建。创建操作成功后,会显示检查和提醒已创建消息,然后显示正常运行时间检查信息中心页面。

    正常运行时间检查信息中心内会列出新的正常运行时间检查。点击检查名称可打开该正常运行时间检查的详细信息视图。此视图会显示多个图表,显示正常运行时间百分比和配置信息,并列出已配置的提醒政策。如需查看某个政策,请点击其名称。

    您还可以从提醒页面查看提醒政策。在提醒页面中,政策窗格会列出一部分政策。如需查看所有政策的列表,请点击查看所有政策

创建信息中心和图表

要显示由 Monitoring 收集的指标,请创建图表和信息中心:

信息中心编辑器有两种版本:经典版预览版。我们正在逐步部署预览版编辑器。与经典版编辑器相比,预览版编辑器支持的信息中心微件更加丰富。

信息中心编辑器

要使用预览版编辑器创建信息中心,请按以下步骤操作:

  1. 转至 Monitoring

    转到 Monitoring

  2. 信息中心概览页面中,点击创建信息中心

  3. 确保信息中心工具栏中会显示预览版

  4. (可选)将 Untitled Dashboard 替换为信息中心的描述性名称。

  5. 向信息中心添加一个折线图,方法是将该条目从微件库拖动到图表区域。

  6. 在标题为 What data do you want to view? 的部分中,执行以下操作:

    1. 点击清除资源和指标
    2. 对于 Resource type,请输入 Amazon 并选择 Amazon 资源类型。
    3. 对于指标,从菜单中选择一个条目。

    您可以使用指针来调整图表的大小或位置。

  7. 要向信息中心添加第二个折线图图表,请点击信息中心工具栏以启用微件库,选择一个图表类型,然后将该条目从微件库拖动到图表区域。

  8. 点击保存信息中心

旧版信息中心编辑器

要使用经典版编辑器创建信息中心,请按以下步骤操作:

  1. 转至 Monitoring

    转到 Monitoring

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

  3. 确保信息中心工具栏中显示经典版

  4. (可选)输入信息中心的名称,然后点击确认

  5. 点击添加图表

  6. 确保已选择指标标签页。

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

  7. 查找资源类型和指标 (Find resource type and metric) 标题下,点击 实例、CPU、使用情况等等 (instance, cpu, usage, etc.):

    1. 点击清除资源和指标
    2. 对于 Resource type,请输入 Amazon 并选择 Amazon 资源类型。
    3. 对于指标,从菜单中选择一个条目。

  8. 点击保存

    显示已配置的图表。

  9. 要创建第二个图表,请点击添加图表,确保选择指标标签页,然后输入资源和指标。

  10. 点击保存

查看日志

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

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

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

      AWS 日志查看器。

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

清理

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

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

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

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

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

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

后续步骤

  • 如需 Amazon EC2 指标的列表,请参阅 EC2 指标

  • 如果您想创建自己的 Monitoring 指标,请参阅自定义指标

  • 如需使用 Monitoring API,请参阅 API 参考文档

  • 如需详细了解 Cloud Logging 以及其与 Cloud Monitoring 的关系,请参阅 Logging

  • 阅读我们关于 DevOps 的资源,并了解我们的研究项目