Google Maps Platform Monitoring

Cloud Monitoring 会收集您的 API 指标、服务指标,以及您使用的 Google Cloud Platform 资源的指标。本主题将介绍如何配置 Cloud Monitoring,以及如何使用它来监控 API 的使用情况并创建信息中心和提醒。

Cloud Monitoring 具有大量功能和选项。本主题将介绍 Cloud Monitoring 并提供基本示例。如需了解所有功能(包括查看更多示例),请参阅 Cloud Monitoring 文档。

配置 Cloud Monitoring

借助 Monitoring,您可以查看和管理以下项目的指标:

  • 单个项目
  • 单个组织中的多个项目
  • 多个组织中的多个项目

若要确保项目的指标可用,请执行以下操作:

  1. 在 Google Cloud 控制台中,选择 Monitoring

    前往 Monitoring

  2. 确保您已选择正确的项目。
  3. 在 Monitoring 导航窗格中,点击指标范围右侧的 >。以下屏幕截图展示了选择 AllEnvironments 项目后显示的页面:

    此项目监控的指标屏幕截图。系统列出了每个项目及其项目 ID 和角色。

Metrics monitored by this project(此项目监控的指标)表格列出了当前指标范围内可访问哪些项目的指标。表格中的每一行都列出了一个项目以及该项目的角色:

  • 限定范围的项目:限定范围的项目会存储您配置的拨测、提醒政策、组和信息中心。指标范围与限定范围的项目之间是 1 对 1 的关系。在此例中,AllEnvironments 项目是限定范围的项目。
  • 监控的项目:可在当前指标范围内查看监控项目的指标。在此例中,Staging 项目和 Production 项目是监控的项目。

下列项目可以查看此项目的指标表格中列出了哪些项目的指标范围包含当前项目。上方的屏幕截图显示,其他项目无法访问 AllEnvironments 项目所存储的指标。

如需了解详情(包括如何添加和移除项目),请参阅配置 Cloud Monitoring

探索指标

如需探索指标数据,请使用 Cloud Monitoring 随附的 Metrics Explorer 来构建图表。例如,如果您想查看某个 API 的配额用量,可以使用 Metrics Explorer 构建一个图表来显示最新数据。

下图所示图表详细说明了各 Maps API 的配额用量:

所有 Maps API 的配额指标数据的屏幕截图。屏幕截图中显示了一个条形图,各个条形中的每一段对应一个不同的 API。

上图是一张堆叠条形图,图中各个条形的每一段表示一个 API。您可以创建不同的图表类型,如折线图、条形图和热点图,还可以创建能显示多达 10 个不同指标的单个图表。

在此图中:

  • 图表左侧的资源类型指标字段定义了图表中显示的指标数据。
  • 通过图表上方的图表类型下拉列表,您可以选择图表类型。在此例中,图表类型设置为堆叠条形图
  • 图表上方的时间间隔设置为 1 周
  • 图表下方是 servicequota_metrics、API method 和指标 value 的列表,用于定义图表的数据。选择添加过滤条件可使用这些信息来过滤要显示的数据。

离开 Metrics Explorer 页面时,图表将被舍弃,因此,您无需删除任何不需要的工件。或者,您也可以将图表保存到自定义信息中心或与他人分享。如需详细了解如何将图表添加到信息中心,请参阅下文的创建信息中心部分。

绘制单个指标的图表

如需使用 Metrics Explorer 配置图表,请执行以下操作:

  1. 在 Cloud 控制台中,选择 Monitoring

    前往 Monitoring

  2. 在导航窗格中,选择 Metrics Explorer
  3. 在工具栏中,从图表类型下拉列表中选择堆叠条形图,从而以条形图的形式查看指标数据。
  4. 选择时间间隔,例如 1 周
  5. 指定要在图表上显示的数据。如需使用菜单驱动型界面或输入过滤条件,请选择配置标签页。如需使用 Monitoring Query Language (MQL),请选择 MQL 标签页。
    1. 如需绘制配额用量图表,请选择 Consumer Quota(使用方配额)作为资源类型。或者,如果您要创建 API 用量图表,请选择已使用的 APIGoogle Maps API(请参阅用量指标部分,详细了解适用于 Google Maps Platform 各 API 的用量指标)。将鼠标悬停在每种资源类型上即可查看对应的说明。
    2. 指标中,选择 Rate quota usage(速率配额用量)。图表会自动更新以显示相应的指标数据。 请注意,该指标还有其他配额选项。将鼠标悬停在每个指标上即可查看对应的说明。如需详细了解 Metrics Explorer 的字段,请参阅选择指标选择如何显示已绘制成图表的数据
  6. (可选)使用以下选项调整数据显示方式:
    1. 如果只想查看部分数据,请添加过滤条件。如需添加过滤条件,请选择添加过滤条件并在对话框中填写信息。如需了解详情,请参阅过滤已绘制成图表的数据。例如,如需查看单个 API 的数据,请执行以下操作:
      1. Label(标签)字段中,选择 method(方法)。
      2. Comparison(比较)字段中,选择 =(等于)
      3. Value(值)字段中,选择特定方法的名称。系统会提示您选择数据显示方法的名称。
      4. 选择完成以更新图表。
    2. 如需按标签对时序进行分组,请使用分组依据字段。您为此字段选择一个值后,系统会自动为汇总方式字段选择一个值。
    3. 如需指定如何组合时序,请设置汇总方式字段。例如,如果分组依据字段为空,并且汇总方式字段设置为“平均值”,则图表会显示时序的平均值。
    4. 如需配置各时序的处理方式,请选择高级选项。如需了解详情,请参阅使用 Metrics Explorer 时选择指标
  7. 根据需要将图表添加到信息中心。

    离开 Metrics Explorer 页面时,图表将被舍弃。您可以根据需要选择保存图表,将图表保存到新的或现有信息中心。如需详细了解如何将图表添加到信息中心,请参阅下文的创建信息中心部分。

绘制多个指标的图表

在某些情况下,您可能希望在同一图表上显示多个指标。例如,您可能希望在显示配额用量的图表上也显示配额限制。一个图表最多可显示 10 个指标。

如需向现有图表添加指标,请执行以下操作:

  1. 在现有图表中,选择屏幕底部的添加其他指标
  2. 选择相应指标,然后按照上文中配置初始指标的方式,为要添加的指标指定时序显示方式。

如需详细了解如何探索指标,请参阅以下资源:

创建信息中心

信息中心可让您以一系列图表的形式查看和监控时序数据。Cloud Monitoring 支持预定义信息中心和自定义信息中心:

  • 预定义信息中心是系统针对您使用的 Google Cloud Platform 服务而自动安装的。此类信息中心不可配置。
  • 自定义信息中心是指您创建的信息中心。借助自定义信息中心,您可以定义要查看的数据以及查看数据的方式。例如,您可以显示项目中存储的指标数据、提醒政策和日志。您还可以在图表上、通过刻度盘图/统计信息摘要图表或以表格形式显示时序数据。

如需创建自定义信息中心,您可以使用 Cloud 控制台或 Cloud Monitoring API。下图展示了一个包含两个图表的自定义信息中心:

  • 左侧是配额图表
  • 右侧是 API 计数图表

自定义信息中心的屏幕截图,其中显示了两个图表。左侧是配额图表,右侧是 API 用量图表。两个图表的横轴都表示时间点。

创建指标图表,然后将图表添加到信息中心,从而创建自定义信息中心。您可以在 Metrics Explorer 中创建图表,然后将其添加到新信息中心或现有信息中心。或者,您也可以创建信息中心,然后修改该信息中心以添加图表。

如果您选择使用 Cloud Monitoring API 来管理自定义信息中心,则 Metrics Explorer 会提供两个有用的实用程序:

  • 如需为计划添加到信息中心的图表生成 JSON 表示法,请使用 Metrics Explorer 来配置图表。然后,您可以从 Metrics Explorer 工具栏中的 更多选项菜单项访问该 JSON 表示法。
  • 如需确定用于 Cloud Monitoring API 的 Monitoring 过滤条件的语法,请使用 Metrics Explorer 的菜单驱动型界面来配置图表。选择指标和过滤条件后,请切换到直接过滤模式,以查看等效的 Monitoring 过滤条件。

创建自定义信息中心

如需创建自定义信息中心,请执行以下操作:

  1. 在 Cloud 控制台中,选择 Monitoring

    前往 Monitoring

  2. 在导航窗格中,选择信息中心
  3. 在“信息中心概览”页面中,点击创建信息中心
  4. 对于您要添加到信息中心的每个图表,请执行以下操作:
    1. 添加图表中选择图表类型,或从库中将某个图表类型拖到图表区域。

      系统随即会显示所选类型的预配置图表。下例展示了一个折线图及其配置窗格:

      Metrics Explorer 的屏幕截图,您使用此工具创建要添加到信息中心的图表。

    2. 选择资源类型指标,然后按照您在上文中创建图表时的方式应用任何过滤条件。

      如需详细了解您的选择,请参阅添加信息中心 widget

  5. (可选)在信息中心工具栏中,点击添加图表以另外添加一个图表,然后重复前面的步骤对该图表进行自定义。
  6. 完成修改后,选择向左箭头退出信息中心,或选择任何其他 Monitoring 菜单项。系统会自动保存您的信息中心。

查看信息中心

如需查看信息中心,请执行以下操作:

  1. 在 Cloud 控制台中,选择 Monitoring

    前往 Monitoring

  2. 在导航窗格中,选择信息中心
  3. 选择您的自定义信息中心,或从列表中选择预定义信息中心。

如需详细了解如何创建信息中心,请参阅以下资源:

用量指标

系统提供了两组指标来监控 Google Maps Platform 各 API 的用量:一组是 Serviceruntime 指标(资源类型 consumed_api),适用于大多数 Google Cloud API;另一组是 Google Maps Platform 指标(资源类型 maps.googleapis.com/Api),专用于 Google Maps Platform 的各个 API。

这两组指标支持用于拆分 API 使用流量的同一组资源标签:project_idservicemethodversionlocationcredential_id。如需查看资源标签的说明,请参阅介绍相应指标资源的文档:

每组指标都有两个用量监控指标类型:请求数请求延迟时间

请求数指标中,您可以按 protocolgrpc_status_coderesponse_coderesponse_code_class 指标标签来拆分使用流量。此外,您还可以在 Google Maps Platform 指标中按 platform_type 拆分。

请求延迟时间指标中,您只能按 Google Maps Platform 指标中的 protocolplatform_typeresponse_coderesponse_code_class 指标标签来拆分使用流量。

如需详细了解指标类型和标签,请参阅介绍相应指标组的文档:

响应状态和响应代码标签之间的对应关系

下表显示了为响应 Google Maps Platform API 请求而返回的响应状态代码和 HTTP 响应代码与 Cloud Monitoring 中提供的响应代码标签(HTTP 响应代码、HTTP 响应代码类别、GRPC 状态代码)之间的对应关系。对于 gRPC 请求,GRPC 状态代码是一个数字形式的 gRPC 响应代码;对于 HTTP 请求,该状态代码则是等效的 gRPC 代码。

API 响应中返回的响应代码 向 Monitoring 报告的响应代码
Maps API 状态 HTTP 响应代码 HTTP 响应代码 HTTP 响应代码类别 GRPC 状态代码
OK 200、
204、
302
200、
204、
302
2xx、
3xx
0 (OK)
DATA_NOT_AVAILABLE、
NOT_FOUND、
ZERO_RESULTS
200 200、404(1) 2xx、
4xx(1)
5 (NOT_FOUND)(1)
INVALID_REQUEST(参数值无效)、
MAX_ROUTE_LENGTH_EXCEEDED、
MAX_WAYPOINTS_EXCEEDED
200、
400
400 4xx 3 (INVALID_ARGUMENT)
INVALID_REQUEST(参数无效/缺少参数,请求解析错误) 200、
400
400 4xx 3 (INVALID_ARGUMENT)
REQUEST_DENIED 200、403、
200、400
403、
401(1)
4xx(1) 7 (PERMISSION_DENIED)、
16 (UNAUTHENTICATED)
OVER_DAILY_LIMIT、
OVER_QUERY_LIMIT、
RESOURCE_EXHAUSTED、
dailyLimitExceeded、
rateLimitExceeded、
userRateLimitExceeded
200、
403、
429
429(1) 4xx(1) 8 (RESOURCE_EXHAUSTED)
UNKNOWN_ERROR 200、500、
503
500(1)
503
5xx(1) 2 (UNKNOWN)/13 (INTERNAL)(1)
14 (UNAVAILABLE)
1 为了提高错误代码报告的一致性,Google Maps Platform 的各个 API 正在进行以下迁移:1) 将如下 Maps API 状态的 HTTP 响应代码/类别从 200/2xx 迁移到 404/4xx [GRPC 状态代码从 0 (OK) 迁移到 5 (NOT_FOUND)]:DATA_NOT_AVAILABLENOT_FOUNDZERO_RESULTS - 状态;2) 将如下 Maps API 状态的 HTTP 响应代码/类别从 200/2xx400/4xx 迁移到 403/4xx [GRPC 状态代码为 7 (PERMISSION_DENIED)]:REQUEST_DENIED;3) 将如下 Maps API 状态的 HTTP 响应代码/类别从 200/2xx403/4xx 迁移到 401/4xx [GRPC 状态代码为 16 (UNAUTHENTICATED)]:REQUEST_DENIED;4) 将如下 Maps API 状态的 HTTP 响应代码/类别从 200/2xx403/4xx 迁移到 429/4xxOVER_QUERY_LIMITdailyLimitExceededrateLimitExceededuserRateLimitExceeded;5) 将如下 Maps API 状态的 HTTP 响应代码/类别从 200/2xx 迁移到 500/5xx [GRPC 状态代码为 2 (UNKNOWN)、13 (INTERNAL)]:UNKNOWN_ERROR。在过渡期间,您可能会看到两种响应代码。Maps API 响应中返回的响应代码不会发生变化。您可以在 Metrics Explorer 中了解一段时间内报告的响应代码明细。

创建提醒

借助提醒,您可以及时了解您的应用中出现的问题,以便迅速解决问题。在 Cloud Monitoring 中,提醒政策描述了您希望在哪些情况下收到提醒以及希望如何获得通知。

提醒政策可以很简单,也可以很复杂。通过提醒政策,您可以配置是在单个时序满足条件时发出提醒,还是多个时序都满足条件时才发出提醒。例如:

  • 当特定 API 的请求数在 5 分钟内超过 1,000 个时通知我。
  • 当不少于 3 个 API 的 HTTP 200 响应的延迟时间第 90 百分位超过 100 毫秒时,通知待命团队。

下图显示了这样一个提醒定义:当 API 的请求数在 5 分钟内超过 20 个时生成通知:

表示提醒定义的屏幕截图,其中用多条折线表示各 Maps API 的请求数,用一条水平线表示触发提醒的阈值。

在此图中:

  • 此图表显示了一段时间内不同 API 的 API 调用次数。
  • 红线表示提醒阈值。如果 API 调用次数在 5 分钟内超过此阈值,将会触发提醒。在此例中,您可以看到一个 API 超出了此阈值。

当提醒政策的条件得到满足时,Cloud Monitoring 会开启一个突发事件并发出通知:

  • 突发事件是一种持久性记录,会在满足条件时存储受监控资源的相关信息。当条件不再满足时,突发事件会自动关闭。您可以利用提醒信息中心来查看所有突发事件,包括未结和已结突发事件。
  • 在配置提醒政策时,您可以指定要通知的人员。Monitoring 支持常见的通知渠道,包括电子邮件、Cloud Mobile App 以及 PagerDuty 或 Slack 等服务。如需查看通知渠道的完整列表,请参阅通知选项

提醒类型

Cloud Monitoring 支持多种类型的提醒。例如,您可以定义以下类型的提醒:

  • 指标阈值提醒:如果指标在特定时间段内高于或低于某个值,或指标增加或减少了某个预定义的百分比,则触发提醒。
  • 预算提醒:设置阈值规则,在您的费用(实际费用或预测费用)超过您设定的预算的一定百分比时触发通知。这类提醒不会限制 API 的使用,只会在支出金额接近指定金额时提醒您。
  • 配额提醒:Google Cloud Platform 设定了各种配额,可用来跟踪和限制项目或组织使用的资源。使用这类提醒可在您的用量接近配额限制时发出通知。

如需了解详情,请参阅提醒政策的类型

管理提醒政策

您可以使用 Cloud 控制台或 Cloud Monitoring API 向项目添加提醒政策。如需了解如何查看项目中基于指标的提醒政策列表以及如何修改这些政策,请参阅以下内容:

创建提醒

创建提醒时,您需要:

  • 根据指标数据,定义触发提醒的条件。
  • 指定接收提醒通知的通知渠道。

下例说明了如何通过设置,在 Google Maps Platform 对任一 API 的使用率超过 5 分钟内 2 个请求时,触发提醒。

如需创建提醒,请执行以下操作:

  1. 在 Cloud 控制台中,选择 Monitoring

    前往 Monitoring

  2. 选择提醒
  3. 选择 Edit Notifications Channel(修改通知渠道),以定义发出提醒通知的方式。在此例中,您将使用电子邮件地址。
    1. 找到 Email(电子邮件)渠道,选择 Add New(新增)。
    2. 输入电子邮件地址显示名称
    3. 选择保存
  4. 选择提醒
  5. 选择创建政策
  6. 选择一个时间间隔,例如 7 天
  7. 提醒条件下,选择 New condition(新建条件):
    1. 点击选择一个指标,选择已使用的 API 作为资源,选择请求数作为指标,然后选择应用
    2. (可选)图表下方是 servicequota_metrics、API method 和指标 value 的列表。请选择添加过滤条件,以根据这些信息过滤数据。例如,您可以使用过滤条件指定 method 必须等于 google.places.Autocomplete.http 才能触发提醒。
    3. Transform data(转换数据)下,为滚动窗口选择 5 分钟,为滚动窗口函数选择 mean(平均值)。
    4. 选择下一步
  8. Configure alert trigger(配置提醒触发条件)下,将阈值设置为 2,以指定在 5 分钟内请求数量超过 2 个时触发提醒。请注意,图表现在显示了一条红线,表示所选时间间隔内的提醒限制。通过图表,您可以看到提醒的触发位置。您可以使用此图表来根据需要调整限制。
  9. 点击下一步
  10. Configure notifications and finalize alert(配置通知并最终确定提醒)页面上,执行以下操作:
    1. 选择您为通知渠道创建的电子邮件地址。
    2. Name the alert(为提醒命名)下,输入 My Test Alert(我的测试提醒)。
    3. 选择创建政策
  11. 发出一些 API 请求。请确保在五分钟内发出两个以上的 API 请求,以生成提醒电子邮件通知。
  12. 收到提醒电子邮件后,前往提醒页面。
    1. 在列有提醒的表格中,点击提醒即可查看详细信息。
    2. 点击提醒名称即可查看有关提醒的信息,其中还包括一张图表,上面显示了触发相应提醒的事件。

如需详细了解提醒,请参阅以下资源: