设置路况提醒

您正在查看 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 代理和地区等结果。

    将特定维度设为:

    • 代理 - 设置为特定代理或所有代理。 代理不支持“任意”值。您可以为每个感兴趣的代理添加单独的提醒。
    • 地区 - 设置为特定地区或所有地区。 地区不支持“任意”值。您可以为自己感兴趣的每个地区分别添加提醒。
  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
}'

按照获取 OAuth 2.0 访问令牌中的说明,将 $ACCESS_TOKEN 设置为您的 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'

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