监控 API 使用量

本页面介绍了如何使用 API 指标来跟踪和了解 Google API 和 Google Cloud API 的使用情况。

Google API 会生成详细使用情况指标,帮助您:

  • 跟踪和了解 Google API 的使用情况。
  • 监控应用和 Google API 的性能。
  • 发现您的应用与 Google API 之间的问题。

当您排查问题或需要 Google 提供技术支持时,它可以显著缩短解决时间。

Google API 生成的指标是 Google 自己的站点可靠性工程师用来评估服务运行状况的标准信号。这些指标涵盖了请求计数、错误率、总延迟时间、后端延迟时间、请求大小和响应大小。如需了解 API 指标定义,请参阅 Cloud Monitoring 文档

您可以在以下两个位置查看 API 指标:API 信息中心Cloud Monitoring。您看到的指标特定于您的项目,这些指标并不反映整体服务状态。

使用 API 信息中心

如需查看 API 指标,最简单的方法是使用 Google Cloud 控制台的 API 信息中心。您可以查看所有 API 使用情况的概览,也可以深入了解特定 API 的使用情况。

如需大致了解您的 API 使用情况,请执行以下操作:

  1. 访问 Cloud 控制台的 API 和服务部分。 默认情况下,系统会显示主要 API 信息中心。在此页面中,您可以看到当前为项目启用的所有 API 以及以下指标的概览图表:

    • 流量:您的项目每秒请求已启用 API 的次数
    • 错误:导致错误的已启用 API 请求所占的百分比
    • 中间值延迟时间:已启用 API 请求的中间值延迟时间(如有)。

要查看特定 API 的详细使用信息,请执行以下操作:

  1. 在 API 信息中心主 API 列表中选择要查看的 API。 该 API 的“概览”页面显示更详细的流量图表,其中按响应代码细分。
  2. 如需了解更详细的使用信息,请选择查看指标。 默认会显示以下预构建图表,但还能显示更多图表:

    • 流量(按响应代码)
    • 错误(按 API 方法)
    • 第 50、第 95 和第 99 百分位数的总体延迟
    • 延迟时间(按 API 方法,中间值)
  3. 如果要添加更多图表,您可以从选择图表下拉菜单中选择其他预构建的图表。

使用 Cloud Monitoring

如果您使用 Cloud Monitoring,则可使用 Metrics Explorer 深入了解可用的指标数据,以便更深入地了解您的 API 使用情况。Cloud Monitoring 支持多种不同的指标,您可将这些指标与过滤器和聚合功能结合使用,从全新的角度深入了解应用性能。例如,您可将请求计数指标与 HTTP 响应代码类上的过滤器结合使用,构建一个显示错误率的信息中心,也可以查看向 Cloud Pub/Sub API 发送的请求的第 95 百分位的延迟。

如需在 Metrics Explorer 中查看 API 指标,请选择已使用的 API 作为资源类型,然后选择其中一个 serviceruntime 指标。然后使用过滤器和聚合选项来优化数据。找到需要的 API 用量信息后,您可以使用 Cloud Monitoring 创建自定义信息中心和提醒,以帮助您继续监控和维护稳健的应用。您可以在以下页面中找到执行上述操作的方法:

如需了解详情,请参阅 Metrics Explorer

使用 API 指标进行问题排查

如果您在出现问题时需要与 Google 联系,API 指标可能特别有用,甚至可能让您知道根本不需要联系支持。例如:

  • 如果您对某项服务的所有调用都因为单个凭据 ID 而非其他原因,该账号可能会出现问题,您无需打开票证即可自行解决此问题。
  • 您正在对应用进行问题排查,并注意到应用性能下降与关键 GCP 服务的第 50 百分位延迟持续增加之间存在关联。在这种情况下请务必致电联系我们并提供这些数据,以便我们尽快开始解决问题。
  • GCP 服务报告的延迟结果看起来很好,并且与之前保持不变,但您的应用内指标报告调用此服务的延迟异常高。这说明您的网络存在问题。 请致电您的网络提供商(某些情况下需要联系 Google)以启动调试流程。

最佳做法

虽然 API 指标是一个非常有用的工具,但您需要考虑一些问题,以确保它们能够提供有用的信息,在根据指标值设置提醒时尤其要考虑。以下最佳做法有助于您充分利用 API 指标数据。

延迟是否导致问题?

虽然某些服务对延迟极为敏感,但对于其他服务,规模和可靠性更为重要。一些 API(例如 Cloud StorageBigQuery 可能会在客户未注意的情况下有几秒钟的高延迟。利用 API 指标数据,您可以了解用户对指定服务的需求。

查找非常规更改

在您决定针对特定指标值发出警报之前,请考虑哪些行为实际上是异常行为。通过查看您的 API 指标,您可以了解到大多数服务的延迟结果都属于正态分布范围:中间是一个大驼峰,两边都是异常值。这些指标有助于您了解正态分布情况,以便您将应用设计为在分布曲线内正常工作。利用这些指标,您还可以将分布更改情况与应用未按预期工作的时间相关联,从而找到问题的根本原因。我们预计第 99 百分位看起来与中间值截然不同 - 我们不希望这些百分位随着时间推移而发生巨大变化。

您也可能会看到某些类型的请求花费的时间比其他请求更长。如果上传到 Google 相册的照片的中间值大小为 4 MB,但您通常上传 20 MB 的 RAW 文件,您上传 20 张照片的平均时间可能比大多数用户长很多,但这仍是您的正常行为。

所有这些都表示在首次检测到一秒长的 RPC 或 5xx HTTP 调用时发出警报并不是特别有用。相反,在调查将 Google 服务作为应用所遇到的问题的可能原因时,应比较返回代码和延迟率随时间推移的变化,并查看与在应用中观察到的问题相关的持续偏离常规的变化

流量速率

当您有大量流量流向 API 时,API 指标最为有用。如果您只是间歇性调用服务,则您的 API 指标在统计上将无效,也不会为您提供有意义的分类信息。

例如,如果您要跟踪服务的第 99.5 百分位的延迟,并且每小时只执行 100 次调用,观察两小时内的测量数据只会为您提供一个数据点来代表第 99.5 百分位,而不会为您提供有关 API 或应用的正常行为的更多信息。确保流量速率、您跟踪的百分位数以及您考虑的时间窗口会生成足够数量的特征数据点,否则监控数据对您不会有多大帮助。

支持的 API

所有 Google API 和 Google Cloud API,以及在 Cloud Endpoints 和 API Gateway 的基础上构建的 API 都支持 API 指标。如果您是 API 使用者,则可以在 API 信息中心中查看 Consumed API 指标。如果您是 API 提供方,则可以在 Endpoints 信息中心中查看“已提供的 API”指标。