设置提醒和通知

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

API Monitoring 的主要用途之一是向您通知异常事件或模式,例如流量高峰或延迟时间。如需跟踪此类事件,您可以设置在发生指定事件时触发的提醒。触发提醒的实际事件称为突发事件

您可以为提醒设置特定的规则,例如,代理上的 500 响应代码(内部服务错误)可能会触发提醒。发生提醒事件时,您可以在 Google Cloud 控制台提醒页面的突发事件窗格中查看提醒的详细信息。

如果您希望在触发特定提醒时接收通知,则可以为提醒设置通知。突发事件发生时,Apigee 会向您发送通知,其中包含事件摘要(包括指向 Google Cloud 控制台和 Apigee 界面的链接),以做进一步调查。

API Monitoring 中有两种类型的提醒:

基于指标的提醒

当 API 数据的指标达到指定级别或开始快速变化时,将触发基于指标的提醒。您可以使用两个主要属性来定义提醒规则:

  • 指标:触发提醒的数量,例如请求数。
  • 阈值:触发提醒时指标必须达到的级别。

以下部分提供了基于指标的提醒示例。

代理上的响应代码 500 提醒

当返回响应代码 500(内部服务器错误)时,以下示例会创建提醒。您可以为任何响应代码创建类似的提醒。

如需创建提醒,请先执行以下步骤:

  1. 在 Google Cloud 控制台中打开创建提醒政策页面。

  2. 点击选择指标
  3. 取消选择有效按钮。

    注意:如果贵组织中没有最近的 API 流量数据,则下一步中的指标不会显示,除非取消选择此选项。

  4. 按如下方式选择指标:
    1. 如果您使用的是 Apigee Hybrid v1.12,请将以下内容复制并粘贴到选择指标字段中:
      apigee.googleapis.com/proxy/response_count
    2. 选择 Apigee 代理
    3. 在右侧打开的窗格中,选择代理
    4. 在右侧的下一个窗格中,选择 Apigee 代理响应计数
    5. 点击应用
  5. 为响应代码添加过滤条件,如下所示:
    1. 点击添加过滤条件
    2. 点击过滤条件字段,然后从下拉菜单中选择 response_code
    3. 比较条件中,选择 =
    4. 字段中,输入 500
    5. 点击完成

配置提醒触发器

如需配置触发提醒的事件,请先点击左侧窗格中的配置触发器。之后,执行以下步骤:

  1. 条件类型下,选择阈值
  2. 提醒触发器字段中,选择任何时序违反
  3. 阈值位置字段中,选择高于阈值
  4. 阈值字段中,输入 1

通过这些设置,只要系统返回包含代码 500 的响应,就会触发提醒。

点击下一步,打开配置通知并最终确定提醒窗格。

设置提醒通知

配置通知并最终确定提醒窗格中,您可以设置将在触发提醒时发送的通知。为此,请执行以下操作:

  1. 点击通知渠道字段。如果您已经为通知创建了渠道(例如电子邮件地址或短信号码),则可以在通知渠道下选择该渠道。

    否则,您需要通过选择管理通知渠道来添加渠道。此操作会打开通知渠道窗格,您可以在其中添加一个或多个渠道。如需了解详情,请参阅管理通知渠道。完成后,返回到配置通知并最终确定提醒窗格。

    注意:创建渠道后,您可能需要点击管理通知渠道旁边的刷新按钮以显示新渠道。

    选择一个或多个通知渠道后,点击确定

  2. 文档字段中,您可以添加将随通知一起发送的消息。例如,消息可能描述提醒的原因,并包含介绍如何响应提醒的文档链接。
  3. 点击下一步查看提醒的详细信息。如果您对它们感到满意,请点击创建政策以创建提醒政策。

添加条件:代理上 HTTP POST 请求的响应代码 500 提醒

您可以为一个提醒创建多个条件。例如,在上一部分代理中的响应代码 500 的提醒中,您可能希望添加仅针对 HTTP POST 请求触发的提醒的条件。为此,只需按照与上一示例相同的步骤进行操作,但在第 8 步之后,再添加一个过滤条件,如下所示:

  1. 点击添加过滤条件
  2. 点击过滤条件字段,然后从下拉列表中选择 HTTP 方法
  3. 比较器字段中,选择 =
  4. 字段中,输入 POST
  5. 点击完成

然后,继续执行配置提醒触发器中的步骤。完成后,当代理收到来自 HTTP POST 请求的 500 响应代码时,就会触发提醒。

如需查看相关示例,请参阅响应代码和 HTTP 方法组合的提醒

查看突发事件详细信息

触发提醒的 API 事件称为突发事件。您可以在 Google Cloud 控制台的提醒页面中查看近期突发事件的详细信息。

指标和过滤器

指标是触发提醒的数量,例如请求数。本部分介绍可用于创建基于指标的提醒的指标和过滤条件。 指标有以下两种:

  • 新指标:新版 Apigee 指标,其性能和可靠性均得到提升。这些指标目前适用于 Apigee 和 Apigee Hybrid v1.12 及更高版本。我们建议您尽可能使用新指标。
  • 原始指标:原始指标仍然受支持,可与 Apigee Hybrid v1.10 和 v1.11 搭配使用。

新指标

下表列出了新指标。

指标 说明
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 搭配使用。

指标 说明
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 数据的代理。 全部
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 数据。

设置基于日志的提醒

下一个示例展示了如何设置基于日志的提醒。 如需了解详情,请参阅在日志浏览器中构建查询

  1. 在 Google Cloud 控制台中打开日志浏览器
  2. 选择日志浏览器右侧的显示查询
  3. 查询窗格中,输入如下所示的查询。
    resource.type="apigee.googleapis.com/Environment"
    logName="projects/<project_id>/logs/apigee.googleapis.com%2Fanomaly_event"

    设置提醒之间的时间。

  4. 点击 Run query。结果显示在“查询结果”部分中。验证查询返回您希望发出提醒的日志条目。
  5. 点击查询窗格下方的创建提醒
  6. 按照创建基于日志的提醒政策对话框中的过程创建提醒。如需了解详情,请参阅配置基于日志的提醒