API 指标可让您跟踪 Google API 和 Google Cloud API 的请求数、错误率和 延迟时间等信号,从而帮助您监控 应用性能并排查错误。您可以在 API 信息中心和 Cloud Monitoring中检查遥测数据,其中指标反映的是项目的流量,而不是整体服务状态。如需了解 API 指标定义,请参阅 Cloud Monitoring 文档。
使用 API 信息中心
如需查看 API 指标,最简单的方法是使用 Google Cloud 控制台的 API 信息中心。您可以查看所有 API 使用情况的概览,也可以深入了解特定 API 的使用情况。
如需大致了解您的 API 使用情况,请执行以下操作:
访问 Cloud 控制台的“API 和服务”部分。 默认情况下,系统会显示主要 API 信息中心。在此页面中,您可以看到当前为项目启用的所有 API 以及以下指标的概览图表:
- 流量:您的项目每秒请求已启用 API 的次数
- 错误:导致错误的已启用 API 请求所占的百分比
- 中间值延迟时间:已启用 API 请求的中间值延迟时间(如有)。
要查看特定 API 的详细使用信息,请执行以下操作:
- 在主要 API 信息中心的 API 列表中,选择要查看的 API。 API 的“概览”页面会显示更详细的流量图表,其中按响应代码进行了细分。
如需查看更详细的使用情况信息,请选择查看指标 。 默认会显示以下预构建图表,但还能显示更多图表:
- 流量(按响应代码)
- 错误(按 API 方法)
- 第 50、第 95 和第 99 百分位的总体延迟时间
- 延迟时间(按 API 方法,中位数)
如果要添加更多图表,您可以从选择图表下拉菜单中选择其他预构建的图表。
使用 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 Storage 或 BigQuery 可能会在客户未注意的情况下有几秒钟的高延迟。利用 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”指标。