本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
API Monitoring 的主要用途之一是向您通知异常事件或模式,例如流量高峰或延迟时间。如需跟踪此类事件,您可以设置在发生指定事件时触发的提醒。触发提醒的实际事件称为突发事件。
您可以为提醒设置特定的规则,例如,代理上的 500 响应代码(内部服务错误)可能会触发提醒。发生提醒事件时,您可以在 Google Cloud 控制台提醒页面的突发事件窗格中查看提醒的详细信息。
如果您希望在触发特定提醒时接收通知,则可以为提醒设置通知。突发事件发生时,Apigee 会向您发送通知,其中包含事件摘要(包括指向 Google Cloud 控制台和 Apigee 界面的链接),以做进一步调查。
API Monitoring 中有两种类型的提醒:
- 基于指标的提醒,它由 API 指标中的更改触发。
- 基于日志的指标提醒,它基于 Cloud Logging 存储的 API 数据。
基于指标的提醒
当 API 数据的指标达到指定级别或开始快速变化时,将触发基于指标的提醒。您可以使用两个主要属性来定义提醒规则:
- 指标:触发提醒的数量,例如请求数。
- 阈值:触发提醒时指标必须达到的级别。
以下部分提供了基于指标的提醒示例。
代理上的响应代码 500 提醒
当返回响应代码 500(内部服务器错误)时,以下示例会创建提醒。您可以为任何响应代码创建类似的提醒。
如需创建提醒,请先执行以下步骤:
在 Google Cloud 控制台中打开创建提醒政策页面。
- 点击选择指标。
- 取消选择有效按钮。
注意:如果贵组织中没有最近的 API 流量数据,则下一步中的指标不会显示,除非取消选择此选项。
- 按如下方式选择指标:
- 如果您使用的是 Apigee Hybrid v1.12,请将以下内容复制并粘贴到选择指标字段中:
apigee.googleapis.com/proxy/response_count
- 选择 Apigee 代理。
- 在右侧打开的窗格中,选择代理。
- 在右侧的下一个窗格中,选择 Apigee 代理响应计数。
- 点击应用。
- 如果您使用的是 Apigee Hybrid v1.12,请将以下内容复制并粘贴到选择指标字段中:
- 为响应代码添加过滤条件,如下所示:
- 点击添加过滤条件。
- 点击过滤条件字段,然后从下拉菜单中选择 response_code。
- 在比较条件中,选择 =。
- 在值字段中,输入 500。
- 点击完成。
配置提醒触发器
如需配置触发提醒的事件,请先点击左侧窗格中的配置触发器。之后,执行以下步骤:
- 在条件类型下,选择阈值。
- 在提醒触发器字段中,选择任何时序违反。
- 在阈值位置字段中,选择高于阈值。
- 在阈值字段中,输入 1。
通过这些设置,只要系统返回包含代码 500 的响应,就会触发提醒。
点击下一步,打开配置通知并最终确定提醒窗格。
设置提醒通知
在配置通知并最终确定提醒窗格中,您可以设置将在触发提醒时发送的通知。为此,请执行以下操作:
点击通知渠道字段。如果您已经为通知创建了渠道(例如电子邮件地址或短信号码),则可以在通知渠道下选择该渠道。
否则,您需要通过选择管理通知渠道来添加渠道。此操作会打开通知渠道窗格,您可以在其中添加一个或多个渠道。如需了解详情,请参阅管理通知渠道。完成后,返回到配置通知并最终确定提醒窗格。
注意:创建渠道后,您可能需要点击管理通知渠道旁边的刷新按钮以显示新渠道。 选择一个或多个通知渠道后,点击确定。
- 在文档字段中,您可以添加将随通知一起发送的消息。例如,消息可能描述提醒的原因,并包含介绍如何响应提醒的文档链接。
- 点击下一步查看提醒的详细信息。如果您对它们感到满意,请点击创建政策以创建提醒政策。
添加条件:代理上 HTTP POST 请求的响应代码 500 提醒
您可以为一个提醒创建多个条件。例如,在上一部分代理中的响应代码 500 的提醒中,您可能希望添加仅针对 HTTP POST 请求触发的提醒的条件。为此,只需按照与上一示例相同的步骤进行操作,但在第 8 步之后,再添加一个过滤条件,如下所示:
- 点击添加过滤条件。
- 点击过滤条件字段,然后从下拉列表中选择 HTTP 方法。
- 在比较器字段中,选择 =。
- 在值字段中,输入 POST。
- 点击完成。
然后,继续执行配置提醒触发器中的步骤。完成后,当代理收到来自 HTTP POST 请求的 500 响应代码时,就会触发提醒。
如需查看相关示例,请参阅响应代码和 HTTP 方法组合的提醒。
查看突发事件详细信息
触发提醒的 API 事件称为突发事件。您可以在 Google Cloud 控制台的提醒页面中查看近期突发事件的详细信息。
指标和过滤器
指标是触发提醒的数量,例如请求数。本部分介绍可用于创建基于指标的提醒的指标和过滤条件。 指标有以下两种:
- 新指标:新版 Apigee 指标,其性能和可靠性均得到提升。这些指标目前适用于 Apigee 和 Apigee Hybrid v1.12 及更高版本。我们建议您尽可能使用新指标。
- 原始指标:原始指标仍然受支持,可与 Apigee Hybrid v1.10 和 v1.11 搭配使用。
新指标
下表列出了新指标。
指标 | 说明 |
---|---|
apigee.googleapis.com/proxy/details |
与部署到 Apigee 环境的代理相关的详细信息。 |
apigee.googleapis.com/proxy/request_count |
自上次记录样本以来向 Apigee 代理请求的次数。 |
apigee.googleapis.com/proxy/response_count |
Apigee API 代理发送的响应数量。 |
apigee.googleapis.com/proxy/latencies |
根据从 Apigee 代理接收到请求的那一刻到响应从 Apigee 代理发送至客户端的这段时间计算得出的延迟时间分布。 |
apigee.googleapis.com/target/request_count |
自上次记录样本以来发送到 Apigee 目标的请求数。 |
apigee.googleapis.com/target/response_count |
自上次记录样本以来从 Apigee 目标接收到的响应数。 |
apigee.googleapis.com/target/latencies |
根据从请求发送至 Apigee 目标的那一刻到 Apigee 代理接收到响应的这段时间计算得出的延迟时间分布此时间不包括 Apigee API 代理开销。 |
原始指标
下面列出了上表中所示的原始版本的指标,这些原始版本指标仍然受支持,仅可与 Apigee Hybrid v1.10 和 v1.11 搭配使用。
指标 | 说明 |
---|---|
apigee.googleapis.com/proxyv2/details |
与部署到 Apigee 环境的代理相关的详细信息。 |
apigee.googleapis.com/proxyv2/request_count |
Apigee API 代理收到的请求总数。 |
apigee.googleapis.com/proxyv2/response_count |
Apigee API 代理返回的响应总数。 |
apigee.googleapis.com/proxyv2/latencies_percentile |
一个请求的所有 API 代理响应的百分位数。 |
apigee.googleapis.com/targetv2/request_count |
Apigee API 目标收到的请求总数。 |
apigee.googleapis.com/targetv2/response_count |
Apigee API 目标返回的响应总数。 |
apigee.googleapis.com/targetv2/latencies_percentile |
一个请求的所有 API 目标响应的百分位数。 |
过滤条件
过滤器让您可为 API 数据子集创建提醒。过滤器指定定义子集的条件。例如,您可以根据单个代理的数据创建提醒。
您可以从以下过滤器中进行选择:
过滤 | 说明 | 可应用过滤器的指标 |
---|---|---|
env |
数据的环境。 | 全部 |
location |
数据的位置。 | 全部 |
proxy_name |
数据的代理。 | 全部 |
proxy_deployment_type |
Apigee 代理的部署类型 | apigee.googleapis.com/proxy/details apigee.googleapis.com/proxyv2/details |
runtime_version |
数据的运行时版本。 | 原始指标 |
instance_id |
数据的实例 ID。 | 原始指标 |
method |
数据的 HTTP 方法。 | 全部 |
response_code |
数据的 HTTP 响应代码。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
fault_code |
数据的故障代码。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
fault_source |
数据的故障来源。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
percentile |
Apigee 代理响应延迟时间百分位数。 | apigee.googleapis.com/proxyv2/latencies_percentile |
基于日志的提醒
除了上一部分介绍的基于指标的提醒之外,您还可以创建基于日志的提醒,用于监控 Cloud Logging 存储的 API 数据。
设置基于日志的提醒
下一个示例展示了如何设置基于日志的提醒。 如需了解详情,请参阅在日志浏览器中构建查询。
- 在 Google Cloud 控制台中打开日志浏览器。
- 选择日志浏览器右侧的显示查询。
- 在查询窗格中,输入如下所示的查询。
resource.type="apigee.googleapis.com/Environment" logName="projects/<project_id>/logs/apigee.googleapis.com%2Fanomaly_event"
- 点击 Run query。结果显示在“查询结果”部分中。验证查询返回您希望发出提醒的日志条目。
- 点击查询窗格下方的创建提醒。
- 按照创建基于日志的提醒政策对话框中的过程创建提醒。如需了解详情,请参阅配置基于日志的提醒。