设置到期提醒

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

使用 TLS 到期 提醒,以便在环境中的 TLS 证书即将到期时发出 通知。

TLS 证书简介

TLS(传输层安全协议)是用于在 Web 服务器和 Web 客户端(例如浏览器或应用)之间建立加密链接的标准安全技术 。加密链接可确保服务器和客户端之间传递的所有数据保持私密 。

TLS 证书是一个数字文件,用于标识 TLS 交易中的实体。Edge 使用 TLS 证书为以下内容配置 TLS:

TLS 证书包含到期日期。如果 TLS 证书过期,则 TLS 连接会失败,直到您更新证书为止。这意味着,在您更新证书之前,对您的 API 的所有请求都会失败。

关于到期提醒

与其等待证书到期并等待对您的 API 的请求失败,不如使用 到期提醒,以便在环境中的任何 TLS 证书即将到期时发出通知。 触发提醒后,您可以更新证书,这样您的客户就不会看到任何服务中断。

配置提醒时,请勿指定单个证书,而是指定特定环境。 当部署的任何证书计划在指定时间范围内到期时,系统会触发提醒。

您可以将到期提醒设置为在以下时间发生:

  • 任何证书到期前 1 天
  • 任何证书到期前 14 天
  • 任何证书到期前 30 天
如需详细了解提醒,请参阅设置提醒和通知

添加到期提醒和通知

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

    为即将到期的证书配置时间范围。您可以选择在证书即将到期时发出提醒:

    • 1 天
    • 14 天
    • 30 天
    维度 维度固定为 Any TLS Certificates 值,对应于 环境中的任何 TLS 证书。
  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 界面中依次点击分析 > 事件 。新的事件信息中心随即显示:

  2. 通过以下方式过滤事件信息中心:

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

将提醒 API 与到期提醒搭配使用

您用于创建和管理到期提醒的大多数 API 与您用于固定提醒的 API 相同。对于已更正提醒和到期提醒,以下提醒 API 的工作原理相同:

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

  • 获取提醒 - 列出所有提醒,包括已更正提醒和异常值提醒。
  • 创建提醒 - 创建固定或异常值提醒。
  • 更新提醒 - 更新已更正或异常值提醒定义。

创建或更新到期提醒

使用相同的 API 创建更新 到期提醒,如同当前针对固定提醒执行的操作那样。用于创建或更新到期提醒的 API 调用正文与已更正提醒所用的正文相同,但进行了以下更改:

  • 您必须添加以下新属性,以指定提醒是到期提醒:

    "alertType": "cert"
    "alertSubType": "certfixed"

    这些属性的默认值为:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 数组中:

    • metrics 属性仅接受 expiration 值。
    • 使用 gracePeriodSeconds 属性以秒为单位指定证书到期的时间范围,最长为 30 天。
    • 不支持 thresholddurationSecondscomparator 属性。
  • conditions 数组的 dimensions 元素中:
    • 您必须将 certificate 属性的值设置为 ANY
    • 您必须将 proxy 属性的值设置为 ALL
    • 不支持 statusCodedeveloperAppcollectionfaultCodeCategoryfaultCodeSubCategoryfaultCodeName 属性。
  • 到期提醒不支持 reportEnabled 属性。

以下示例 API 调用创建了一个到期提醒,当生产环境中的任何证书将在未来 30 天内到期时,就会触发此到期提醒。触发该提醒时,系统会向指定的电子邮件地址发送通知:

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 Cert Expiry Alert",
  "description":"My Cert Expiry Alert",
  "environment":"prod",
  "enabled":true,
  "alertType": "cert",
  "alertSubType": "certfixed",
  "conditions":[
  {
    "description":"My Cert Expiry Alert",
    "dimensions":{
      "org":"myorg",
      "env":"prod",
      "proxy":"ALL",
      "certificate": "ANY"
    },
    "metric":"expiration",
    "gracePeriodSeconds": 2592000
  }],
  "notifications":[{
    "channel":"email",
    "destination":"ops@acme.com"
  }],
  "playbook":"http://acme.com/pb.html",
  "throttleIntervalSeconds":3600,
  "reportEnabled":false
}'

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

获取到期提醒

默认情况下,Get Alerts API 将返回所有定义的提醒(包括固定提醒和到期提醒)的相关信息。此 API 现在接受查询参数,可用于过滤结果:

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

例如,使用以下 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=cert&alertSubType=certfixed'

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