设置路况提醒

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

使用流量提醒,当环境、代理或区域的流量在某个时间范围内变化达到指定百分比时发出通知。

您将时间范围设置为:

  • 1 小时
  • 1 天
  • 7 天
  • 15 天(仅限 API)
  • 30 天(仅限 API)

此提醒的运作方式是将当前时间范围内的流量与上一个时间范围内的流量进行比较。 例如,您将时间范围指定为一小时。然后,提醒会将最近一小时的流量与前一小时的流量进行比较,从而计算出流量的百分比变化:

percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100

正值表示流量增加了,负值表示流量减少了。

然后,您可以将触发流量提醒的阈值设置为 API 流量在指定时间段内增加或减少的百分比。

在设置该百分比之前,请确保该百分比与您的正常流量模式保持一致。例如,如果您的 API 流量通常在一天中波动,并且在某些高峰期每小时流量峰值高达 100%,那么这些峰值是正常的,不应触发提醒。但是,如果您随后将提醒配置为在每小时流量增加 50% 时触发,则会针对正常流量收到不必要的提醒。

如需详细了解提醒,请参阅设置提醒和通知

添加路况提醒和通知

如需添加路况提醒和通知,请执行以下操作:
  1. 在 Edge 界面中点击分析 > 提醒规则
  2. 点击 +提醒
  3. 输入以下有关提醒的常规信息:
    字段 说明
    提醒名称 提醒的名称。使用对触发器的描述且对您有意义的名称。 该名称不能超过 128 个字符。
    说明 提醒的说明。
    提醒类型 选择总流量。如需了解详情,请参阅关于提醒类型
    环境 从下拉列表中选择环境。
    状态 切换以启用或停用提醒。
  4. 定义将触发提醒的条件的阈值和维度。
    条件字段 说明
    阈值

    指定在流量与上一个时间间隔相比增加或减少特定百分比时发出提醒。

    将增加的百分比设置为大于或等于 0% 的值。 将递减幅度百分比设置为大于或等于 0% 且小于或等于 100% 的值。

    您可以选择的时间间隔:

    • 1 小时
    • 1 天
    • 1 周
    维度

    点击 +添加维度,然后指定要返回其结果的维度详细信息,包括 API 代理和区域。

    将特定维度设为:

    • 代理 - 设置为特定代理或所有代理。 代理不支持"Any"这个值。不过,您可以为感兴趣的每个代理添加单独的提醒。
    • 区域 - 设置为特定区域或所有区域。 区域不支持"Any"的值。不过,您可以为感兴趣的每个区域添加单独的提醒。
  5. 点击 + 通知 即可添加提醒通知。
    通知详情 说明
    Channel 选择要使用的通知渠道并指定目标位置:Email、Slack、PagerDuty 或网络钩子。
    目标 根据所选渠道类型指定目标位置:
    • 电子邮件地址 - 电子邮件地址,例如 joe@company.com
    • Slack - Slack 频道网址,例如 https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty - PagerDuty 代码,例如 abcd1234efgh56789
    • 网络钩子 - 网络钩子网址,例如 https://apigee.com/test-webhook

      注意:您只能为每条通知指定一个目标位置。 要为同一渠道类型指定多个目的位置,请添加其他通知。

  6. 如需添加其他通知,请重复上一步。
  7. 如果您添加了通知,请设置以下字段:
    字段 说明
    Playbook (可选)自由格式文本字段,用于提供在提醒触发时解决提醒的推荐措施的简短说明。您还可以指定一个链接,指向您引用了最佳做法的内部 Wiki 或社区页面。此字段中的信息会包含在通知中。此字段中的内容不能超过 1500 个字符。
    Throttle 发送通知的频率。从下拉列表中选择一个值。
  8. 点击保存

在事件信息中心内查看提醒

当 Edge 检测到某个提醒条件时,会自动将该条件记录到 Edge 界面中的事件信息中心。事件信息中心中显示的事件列表包含所有提醒,包括已修复的提醒和认证提醒。

要查看提醒,请执行以下操作:

  1. 在 Edge 界面中依次点击 Analyze > Events。系统会显示新的事件信息中心:

  2. 按以下条件过滤事件信息中心:

    • 环境
    • 区域
    • 时间段
  3. 在事件信息中心内选择一行,以显示包含即将过期证书的密钥库,以进一步调查提醒。您可以从“密钥库”页面上传新证书,并删除即将过期的证书。

将提醒 API 与流量提醒搭配使用

您用来创建和管理流量提醒的大多数 API 都与用于其他类型的提醒的 API 相同:

但是,一些 API 具有用于支持异常值提醒的其他属性,包括:

  • 接收提醒 - 列出所有提醒,包括已修正提醒和异常提醒。
  • 创建提醒 - 创建已修正或异常的提醒。
  • 更新提醒 - 更新已修正或异常的提醒定义。

创建或更新路况提醒

使用与当前其他提醒类型相同的 API 创建更新流量提醒。用于创建或更新流量提醒的 API 调用正文与其他提醒相同,但具有以下更改:

  • 添加以下新属性,将提醒指定为交通提醒:

    "alertType": "runtime"
    "alertSubType": "trafficfixed"

    这些属性的默认值为:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 数组的 dimensions 元素中:
    • 您必须设置 orgenvproxyregion 属性的值。仅支持这些属性。您可以将 proxyregion 设置为 ALL
    • 您必须将 traffic 属性的值设置为 total
  • conditions 数组中:

    • metrics 属性的值必须为 trafficChange
    • comparator 属性设置为 increasedBydecreasedBy
    • threshold 属性包含一个正值,用于指定流量增加或减少的百分比,其中值 1.0 对应于 100%。对于 increasedBy,该值必须大于或等于 0.0 (0%)。对于 decreasedBy,该值必须大于或等于 0.0 (0%) 且小于或等于 1.0 (100%)。
    • durationSeconds 属性设置为以下值之一:3600(1 小时)、86400(1 天)、604800(7 天)、1296000(15 天)、2592000(30 天)。
  • 路况提醒不支持 reportEnabled 属性。
以下示例展示了如何设置在组织和环境的流量在一小时内增加 50% 时触发的提醒。 触发提醒时,系统会向指定的 PagerDuty 代码发送通知。
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Traffic Alert",
     "description":"My traffic alert",
     "environment":"prod",
     "enabled":true,
     "alertType":"runtime",
     "alertSubType":"trafficfixed",
     "conditions":[
     {
        "description":"",
        "dimensions": {
            "org":"nyorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ALL",
            "traffic":"total"
        },
        "metric": "trafficChange",
        "threshold": 0.5,
        "durationSeconds": 3600,
        "comparator": "increasedBy"
     }
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

$ACCESS_TOKEN 设置为 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。如需了解此示例中使用的 c网址 选项,请参阅使用 c网址

如需详细了解如何使用此 API,请参阅查看事件

接收路况提醒

默认情况下,Get Alerts API 会返回有关所有已定义提醒的信息。此 API 现在接受查询参数,可用于过滤结果:

  • enabled - 如果 true 指定仅返回已启用的提醒。默认值为 false
  • alertType - 指定要返回的提醒类型。允许的值包括 runtime(默认值)和 cert
  • alertSubType - 指定要返回的提醒子类型。 默认值未设置,表示返回所有提醒子类型。

例如,使用以下 API 调用仅返回为名为 myorg 的组织启用的提醒:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

以下调用仅返回流量提醒(包括已启用和已停用):

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=trafficfixed'

$ACCESS_TOKEN 设置为 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。如需了解此示例中使用的 c网址 选项,请参阅使用 c网址