设置到期提醒

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

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

关于 TLS 证书

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

TLS 证书是一种数字文件,用于识别 TLS 事务中的实体。Edge 使用 TLS 证书为以下各项配置 TLS:

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

关于过期提醒

您可以使用过期提醒,在环境中的任何 TLS 证书即将过期时发出通知,而不是等待证书过期以及对 API 的请求失败。触发提醒后,您可以更新证书,以免客户看到服务中断。

配置提醒时,请不要指定单个证书,而是指定具体的环境。 当部署的任何证书被安排在指定时间范围内过期时,系统就会触发提醒。

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

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

添加到期提醒和通知

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

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

    • 1 天
    • 14 天
    • 30 天
    维度 该维度固定为与环境中的任何 TLS 证书对应的“任何 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 界面中依次点击 Analyze > Events。系统会显示新的事件信息中心:

  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
}'

$ACCESS_TOKEN 设置为 OAuth 2.0 访问令牌,如获取 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'

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