监控 Compute Engine 实例的快速入门

本页面介绍如何使用 Cloud Monitoring 监控 Compute Engine 虚拟机 (VM) 实例。如果要监控 Amazon EC2 虚拟机实例,请参阅 Amazon EC2 快速入门

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

  1. 创建一个 Compute Engine 虚拟机实例。
  2. 安装 Apache HTTP Server。
  3. 安装 Cloud Monitoring 和 Logging 代理。
  4. 创建正常运行时间检查及提醒政策。
  5. 创建自定义信息中心和图表。
  6. 查看日志。
  7. 清理。

准备工作

要使用 Cloud Monitoring,您需要先创建 Google Cloud 项目、为该项目启用结算功能,再将项目与一个工作区关联。

要创建项目并启用结算功能,请执行以下操作:

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

    创建新项目

  2. 项目名称字段中,输入 Quickstart 然后点击创建

  3. 转到结算

    转到“结算”

  4. 选择您的 Quickstart 项目(如果它尚未在页面顶部处于选中状态)。

  5. 系统会提示您选择现有付款资料或创建新的付款资料。

创建 Compute Engine 实例

  1. 在 Cloud Console 中,转到 Compute,然后选择 Compute Engine

    转到 Compute Engine

  2. 要创建虚拟机实例,请点击创建

  3. 按如下所示填写实例的各个字段:

    • 名称字段中,输入 lamp-1-vm
    • 机器类型字段中,选择小型
    • 确保 启动磁盘 已针对 Debian GUC/Linux 进行配置。
    • 防火墙字段中,选择允许 HTTP 流量允许 HTTPS 流量

    其他字段保留默认值。

  4. 点击创建。等待几分钟,让您的实例在“虚拟机实例”页面上启动。

  5. 要打开一个连接到该实例的终端,请在 连接 列中点击 SSH

  6. 更新该实例上的软件包列表。

    sudo apt-get update
    
  7. 设置 Apache2 HTTP Server。

    sudo apt-get install apache2 php7.0
    
  8. 打开浏览器,并使用网址 http://[External IP] 连接到您的 Apache2 HTTP 服务器。将 [External IP] 替换为 Compute Engine 实例的外部 IP 地址。您会看到如下 Apache2 默认页面:

    显示 Apache2 默认页面。

安装代理

本部分中的说明针对的是 Debian。如需其他操作系统的安装说明,问题排查指南的链接以及验证代理安装的步骤,请参阅 安装 Cloud Monitoring 代理安装 Cloud Logging 代理

Cloud Monitoring 和 Logging 代理将您的虚拟机实例中的日志和指标传递到 Monitoring 和 Logging 中:

  1. 切换到连接至您的虚拟机实例的终端,或创建一个新终端。

  2. 安装并启动 Cloud Monitoring 代理:

    • 添加文件包代码库并更新文件包列表:

      curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh
      sudo bash add-monitoring-agent-repo.sh
      sudo apt-get update
      
    • 安装代理:

      sudo apt-get install stackdriver-agent
      
    • 启动代理:

      sudo service stackdriver-agent start
      
  3. 安装,配置并启动 Cloud Logging 代理:

    • 添加文件包代码库并更新文件包列表:

      curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
      sudo bash add-logging-agent-repo.sh
      sudo apt-get update
      
    • 安装代理:

      sudo apt-get install google-fluentd
      
    • 安装默认代理配置以将结构化数据提取到 Cloud Logging:

      sudo apt-get install google-fluentd-catch-all-config-structured
      

      Cloud Logging 代理必须配置为提取结构化数据或非结构化数据。这些是专有选项。如果您为代理配置非结构化数据,则所有日志条目都包含一个 textPayload 字段。但是,如果您按照本快速入门中的说明为结构化数据配置代理,则某些类型的日志数据会包含 jsonPayload 字段。如需了解详情,请参阅 结构化日志记录操作

    • 启动代理

      sudo service google-fluentd start
      

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

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

  1. 在 Cloud Console 中,选择 Monitoring

    转到“监控”

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

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

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

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

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

  5. 目标:

    1. 选择 HTTP 作为协议。
    2. 选择 实例 作为 资源类型
    3. 适用于 字段,请选择 单个 并且对于实例名称,请选择 lamp-1-vm
    4. 将其他所有字段保留为默认值,然后点击 下一步
  6. 响应验证:将这些字段保留为默认值,然后点击 下一步

  7. 提醒和通知

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

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

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

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

创建信息中心和图表

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

  1. 转至 Monitoring

    转到“监控”

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

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

  4. 点击添加图表

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

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

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

    • 对于资源类型,选择 GCE 虚拟机实例 (GCE VM Instance)。
    • 对于指标,输入 CPU,然后选择CPU 负载 (1m) (CPU load(1m))。
  7. 点击保存

    显示已配置的图表。

  8. 要创建第二个图表,请点击 Add Chart

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

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

    • 对于资源类型,选择 GCE 虚拟机实例 (GCE VM Instance)。
    • 对于指标,选择接收的字节数作。
  11. 点击保存

对检查和提醒进行测试

此流程最长可能需要 40 分钟。其中包含一个供您参考的示例时间轴。在此时间轴中,当前时间为 12:00。

12:00 等待

转到 Monitoring。在 正常运行时间检查 图块中,等待 My Uptime Check 的图标变为内含对勾标记的绿色圈。此阶段的最长等待时间为 5 分钟。

显示正常运行时间检查通过。

12:15 My Uptime Check 图标为绿色。对检查和提醒进行测试。

转到 虚拟机实例 页面,选择您的实例,然后点击 停止

12:25 收到提醒通知。

重启虚拟机,解决“问题”。返回到 虚拟机实例 页面,选择您的实例,然后点击 启动

12:40 事件解决

再次收到提醒通知。

查看日志

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

要查看图表中显示的资源的日志,请执行以下操作:

  1. 转到显示您要查看的图表的信息中心。

  2. 在图表中,点击 更多 ,然后点击 查看日志

    显示从图表的“更多”菜单中选择“查看日志”。

或者,您也可以转到 Logging,然后指定过滤条件参数:

  1. 在 Cloud Console 中,转到 Logging

    转至 Logging

  2. 更改日志查看器设置以查看您要看的日志:

    • 点击 菜单 ,然后选择 清除过滤条件并返回基本模式
    • 在第一个下拉列表中,选择 G​C​E 虚拟机实例 lamp-1-vm
    • 在第二个下拉列表中,选择 syslog,然后点击确定
    • 其他字段保留默认值。系统会显示虚拟机实例中的日志。

      显示控制台中的日志视图。

清理

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

删除项目

如果您为此快速入门创建了新项目,请删除该项目。 否则,请跳过此部分。

  1. 在 Cloud Console 中,转到管理资源页面。

    转到“管理资源”页面

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除快速入门资源

如果您在本快速入门中使用了现有项目,请删除您的提醒政策、正常运行时间检查、信息中心和虚拟机实例:

  1. 转到 Monitoring:

    转到“监控”

  2. 删除提醒政策:

    1. 选择提醒
    2. 选择 My Uptime Check Policy,然后点击 删除
  3. 删除正常运行时间检查:

    1. 选择正常运行时间检查
    2. 选择 My Uptime check,然后点击删除
  4. 删除信息中心:

    1. 选择信息中心
    2. 选择名为 Quickstart dashboard 的信息中心,然后点击 删除 。确认删除操作。
  5. 删除您创建的虚拟机实例:

    1. 在 Cloud Console 中,转到虚拟机实例页面。

      转到“虚拟机实例”页面

    2. 点击您要删除的实例对应的复选框。
    3. 点击删除 以删除实例。

后续步骤

  • 请参阅支持的指标,获取指标列表。 如果您想创建自己的 Monitoring 指标,请参阅 自定义指标

  • 要使用 Monitoring API,请参阅 API 参考

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

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