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 导航窗格中,点击 Metrics Scope(指标范围)右侧的 >。以下屏幕截图展示了选择 AllEnvironments 项目后显示的页面:

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

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

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

The projects listed below can view this project's metrics(下列项目可以查看此项目的指标)表格中列出了指标范围包含当前项目的项目。上方的屏幕截图显示,没有其他项目可以访问 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. 选择时间间隔,例如 1W(1 周)。
  5. 指定要在图表上显示的数据。如需使用菜单驱动型界面或输入过滤条件,请选择 Configuration(配置)标签页。如需使用 Monitoring Query Language (MQL),请选择 MQL 标签页。
    1. 如需绘制配额用量图表,请选择 Consumer Quota(使用方配额)作为资源类型。或者,如果您要创建 API 使用情况图表,请选择 Consumed API(已使用的 API)或 Google Maps API(请参阅用量指标部分,详细了解 Google Maps Platform API 可用的用量指标)。将鼠标悬停在每种资源类型上可查看对应的说明。
    2. 对于指标,选择 Rate quota usage(速率配额用量)。图表会自动更新以显示指标数据。 请注意,该指标还有其他配额选项。将鼠标悬停在每个指标上可查看对应的说明。如需详细了解 Metrics Explorer 的字段,请参阅选择指标选择如何显示已绘制成图表的数据
  6. (可选)使用以下选项细化显示的数据:
    1. 如需指定要显示的部分数据,请添加“过滤条件”。如需添加过滤条件,请选择 Add filter(添加过滤条件)并完成对话框。如需了解详情,请参阅过滤已绘制成图表的数据。例如,如需查看单个 API 的数据,请执行以下操作:
      1. Label(标签)字段中,选择 method(方法)。
      2. Comparison(比较)字段中,选择 = (equals)
      3. Value(值)字段中,选择特定方法的名称。您可以根据系统提示选择方法的名称,其中包含了要显示的数据。
      4. 选择 Done(完成)以更新图表。
    2. 如需按标签对时序进行分组,请使用 Group by(分组依据)字段。如果您为此字段选择一个值,则系统会自动为 Aggregator(汇总器)字段选择一个值。
    3. 如需指定如何组合时序,请设置 Aggregator(汇总器)字段。例如,如果 Group by(分组依据)字段为空,并且 Aggregator(汇总器)字段设置为“mean”(平均值),则图表会显示时序的平均值。
    4. 如需配置各时序的处理方式,请选择 Advanced Options(高级选项)。如需了解详情,请参阅使用 Metrics Explorer 时选择指标
  7. (可选)添加到信息中心。

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

绘制多个指标的图表

在某些情况下,您可能希望在同一图表上显示多个指标。例如,您可能希望在显示配额用量的同一图表上显示配额限制。一个图表最多可显示 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. 在“信息中心概览”页面中,点击 Create dashboard(创建信息中心)。
  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)
NOT_FOUND(Street View Static API、Geolocation API 和 Roads API)、
ZERO_RESULTS (Street View Static API)
404 404 4xx 5 (NOT_FOUND)
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 向项目添加提醒政策。如需了解如何查看项目的基于指标的提醒政策列表以及如何修改这些政策,请参阅以下内容:

创建提醒

创建提醒时,您需要:

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

以下示例显示了,当任何 API 的 Google Maps Platform 服务使用率在 5 分钟内超过 2 次请求时,如何设置触发提醒。

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

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

    前往 Monitoring

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

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