Cloud Monitoring 概览

本文档简要介绍了 Cloud Monitoring 提供的服务, 提供什么。这些服务可帮助您了解应用的行为、健康状况和 应用和其他 Google Cloud 服务的性能。 Cloud Monitoring 会自动收集和存储大多数 Google Cloud 服务的性能信息。 您 可以收集 Prometheus 使用 Google Cloud Managed Service for Prometheus 监控指标。 如果您在 Compute Engine 虚拟机 (VM) 上安装 Ops Agent,则可以从您的应用和第三方应用收集指标和日志。

Google Cloud 控制台提供的提醒、测试和可视化服务 Cloud Monitoring 可帮助您解答如下重要问题:

  • 我的服务的负载情况如何?
  • 我的网站响应是否正常?
  • 我的服务是否表现良好?

Cloud Monitoring 为大多数项目提供 Google Cloud 控制台和 API 支持, 。某些服务还支持 Google Cloud CLI 或 Terraform。Cloud Monitoring API 参考文档页面,例如 alertPolicies.list, 让您可以在参考页面中直接尝试 API 调用。

Cloud Monitoring 服务

Cloud Monitoring 提供了多种不同的服务 来了解应用的健康状况和性能 您使用的其他 Google Cloud 服务。

提醒和通知

在效果指标的值符合您设定的条件时收到通知 创建提醒政策。提醒政策包含应收到通知的人员或群组的列表。Monitoring 支持 常见的通知渠道, 包括电子邮件、Cloud Mobile App 以及 PagerDuty 或 Slack 等服务。 例如,您可以创建提醒政策,以便在 在虚拟机的 CPU 利用率超过 80% 时触发。

每条通知都包含失败的相关信息 包含指向突发事件的链接。突发事件是一种持久性记录,可存储可用于排查失败问题的信息。通常,记录会列出突发事件的状态、日志链接、记录的指标数据的图表、标签和时长。

该提醒服务与许多 Google Cloud 服务集成。当这些 您可能会看到列出推荐的提醒的面板,或者 您可能会在图表上看到一个可让您创建提醒政策的按钮。 在这两种情况下,提醒政策都已预先配置, 您只需指定要接收通知的人员或群组列表。

您可以使用 Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 或 Terraform 创建和管理提醒政策。

主动监控和验证

如需测试服务的可用性、一致性和性能, 应用、网页和 API,创建 合成监控工具。例如: 您可以探测 HTTP、HTTPS 和 TCP 端点的响应, 拨测,并在出现以下情况时通知我: 端点无法响应。您还可以创建断链检查工具来抓取网页,并在检测到断链时通知您。

您可以使用 Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 或 Terraform 创建和管理合成监视器。

直观呈现数据

直观呈现数据以查看趋势、识别离群值并查看其他 您可以使用 信息中心图表服务:

数据收集和存储

Cloud Monitoring 会收集并存储以下类型的指标数据:

  • 系统和应用指标 Ops Agent 会收集有关系统资源和 应用 在 Compute Engine 实例上运行的您可以配置 Ops Agent 从第三方插件收集指标,例如 Apache 或 Nginx Web 服务器、MongoDB 或 PostgreSQL 数据库。
  • 基于日志的指标,用于记录写入 Cloud Logging 的日志的数字信息。Google 定义的基于日志的指标包括 您的服务检测到的错误数量以及 您的 Google Cloud 项目收到的日志条目的数量。 您还可以定义基于日志的指标。

查询语言

创建提醒政策或图表时, 提供一个查询来描述您要监控的数据或绘制图表:

监控大型系统

本部分介绍如何将资源作为 以及如何监控存储在 多个 Google Cloud 项目

以合集的形式管理资源

将资源作为集合进行管理 请创建一个资源组,而不是逐个创建。 资源组是资源的动态集合 满足您提供的特定条件的所有广告素材在添加和移除资源时(例如,通过将 Compute Engine 虚拟机实例添加到 Google Cloud 项目),实例组中的成员资格会自动更改。以下是资源组的示例:

  • 名称以字符串 prod- 开头的 Compute Engine 实例。
  • 带有 test-cluster 标记的资源。
  • 区域 A 或区域 B 中的 Amazon EC2 实例。

定义资源组后,您可以将组当作单个资源进行监控。例如,您可以配置正常运行时间检查来监控资源组。对于图表和提醒政策,您还可以根据群组名称进行过滤。

如需了解详情,请参阅配置资源群组

监控多个 Google Cloud 项目的指标

如需通过一个界面查看和监控多个 Google Cloud 项目和 AWS 账号的时序数据,请配置多项目指标范围

默认情况下,Google Cloud 控制台中的 Cloud Monitoring 页面仅提供对存储在“范围项目”中的时序的访问权限。通过 限定范围的项目是您使用 Google Cloud 控制台项目选择器。范围界定项目存储您配置的提醒合成监控工具信息中心监控组

范围界定项目还托管一个指标范围。指标范围定义了其指标对于范围界定项目可见的项目和账号。您可以配置指标范围,以包含来自其他 Google Cloud 项目和来自 AWS 账号的时间序列数据。如需了解如何修改指标范围,请参阅 为多个项目配置指标范围

Cloud Monitoring 数据模型

本部分介绍 Cloud Monitoring 数据模型:

  • 指标类型描述的是衡量的内容。指标类型的示例包括虚拟机的 CPU 利用率和 磁盘使用量百分比

  • 时间序列是一种数据结构,包含指标的带时间戳的测量结果以及关于这些测量结果的来源和含义的信息。

以下是有关时间序列所含内容的一些详细信息:

  • points 数组包含带有时间戳的测量结果。

    以下是包含两个值的 points 数组示例:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

    如需了解值的含义,您需要参考时间序列中包含的其他数据以及这些数据的定义。

  • resource 字段描述了受监控的硬件或软件组件。在 Cloud Monitoring 中,硬件或软件组件称为受监控的资源。受监控资源的示例包括 Compute Engine 实例和 App Engine 应用。有关 请参阅受监控的资源列表

    以下是 resource 字段的示例:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • type 字段将受监控资源列为 gce_instance,这表示这些测量是在 Compute Engine 虚拟机实例上进行的。

    • labels 字段包含键值对,用于提供受监控资源的其他信息。对于 gce_instance 类型,这些标签标识了受监控的虚拟机实例。

  • metric 字段描述了要测量的内容。

    以下是 metric 字段的示例:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • 对于 Google Cloud 服务,type 字段指定服务和受监控的内容。在此示例中,Compute Engine 服务会测量 CPU 利用率。如果 type 字段以 customexternal 开头时,则该指标是自定义指标或第三方定义的指标。
  • metricKind 字段描述了时间序列中相邻测量之间的关系:

    • GAUGE 指标用于存储在给定时间测量的事物值,例如每小时温度记录。

    • CUMULATIVE 指标会存储给定时刻(例如车辆中的里程表)测量的事物累计值。

    • DELTA 指标会存储指定时间段内所测量事物值的变化,例如,显示股票收益或损失的股票摘要。

  • valueType 字段描述测量的数据类型:INT64DOUBLEBOOLSTRINGDISTRIBUTION

Cloud Monitoring 会为每个配置组合写入一个时序, 资源和指标标签值。您可以使用这些标签对时间序列进行分组和过滤。例如,当 Google Cloud 项目包含多个 Compute Engine 虚拟机实例时,每个虚拟机实例的 CPU 利用率都是一个唯一时序。您可以通过以下几种方法显示这些数据:

  • 您可以显示每个虚拟机实例的 CPU 利用率。
  • 您可以通过以下方式显示特定虚拟机实例的 CPU 利用率 过滤时序以获取 instance_id 标签的单个值。
  • 您可以使用 machine_type 标签按虚拟机实例分组, 然后显示平均 CPU 利用率以下屏幕截图显示了采用此配置的图表:

    平均 CPU 利用率(按机器类型分组)。

价格

一般来说,Cloud Monitoring 系统指标是免费的, 不会来自外部系统、代理或应用。计费指标 按注入的字节数或提取的样本数收费。

如需详细了解 Cloud Monitoring 的价格,请参阅以下文档:

后续步骤

  • 如需了解如何配置 Google Cloud 项目以查看多个 Google Cloud 项目和 AWS 账号的指标,请参阅指标范围概览