您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
使用 TLS 到期提醒,可以在环境中的 TLS 证书即将到期时发出通知。
关于 TLS 证书
TLS(传输层安全协议)是一种在网络服务器和 Web 客户端(例如浏览器或应用)之间建立加密链接的标准安全技术。加密链接可确保服务器与客户端之间传递的所有数据保持私密状态。
TLS 证书是一种数字文件,用于识别 TLS 事务中的实体。Edge 使用 TLS 证书为以下各项配置 TLS:
- API 客户端对您的 API 代理的访问权限。 使用虚拟主机配置 TLS。
- 通过 Edge 访问您的后端服务。 使用边缘消息处理器上的目标端点和目标服务器配置 TLS。
TLS 证书包含到期日期。如果 TLS 证书过期,则 TLS 连接会失败,直到您更新证书。这意味着在您更新证书之前,对 API 的所有请求都将失败。
关于过期提醒
您可以使用过期提醒,在环境中的任何 TLS 证书即将过期时发出通知,而不是等待证书过期以及对 API 的请求失败。触发提醒后,您可以更新证书,以免客户看到服务中断。
配置提醒时,请不要指定单个证书,而是指定具体的环境。 当部署的任何证书被安排在指定时间范围内过期时,系统就会触发提醒。
您可以将到期提醒设置为在以下情况发生:
- 任何证书即将到期前 1 天
- 任何证书到期前 14 天
- 任何证书到期前 30 天
添加到期提醒和通知
如需添加到期提醒和通知,请执行以下操作:- 在 Edge 界面中点击分析 > 提醒规则。
- 点击 +提醒。
- 输入以下有关提醒的常规信息:
字段 说明 提醒名称 提醒的名称。使用对触发器的描述且对您有意义的名称。 该名称不能超过 128 个字符。 说明 提醒的说明。 提醒类型 选择 TLS 过期时间。如需了解详情,请参阅关于提醒类型。 环境 从下拉列表中选择环境。 状态 切换以启用或停用提醒。 - 定义将触发提醒的条件的阈值和维度。
条件字段 说明 阈值 为即将过期的证书配置时间范围。您可以选择在证书即将过期时发出提醒:
- 1 天
- 14 天
- 30 天
维度 该维度固定为与环境中的任何 TLS 证书对应的“任何 TLS 证书”值。 - 点击 + 通知 即可添加提醒通知。
通知详情 说明 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
注意:您只能为每条通知指定一个目的地。如需为同一渠道类型指定多个目的地,请添加其他通知。
- 电子邮件地址 - 电子邮件地址,例如
- 如需添加其他通知,请重复上一步。
- 如果您添加了通知,请设置以下字段:
字段 说明 Playbook (可选)自由格式文本字段,用于提供在提醒触发时解决提醒的推荐措施的简短说明。您还可以指定一个链接,指向您引用了最佳做法的内部 Wiki 或社区页面。此字段中的信息会包含在通知中。 此字段中的内容不能超过 1500 个字符。 Throttle 发送通知的频率。从下拉列表中选择一个值。 - 点击保存。
在事件信息中心内查看提醒
当 Edge 检测到某个提醒条件时,会自动将该条件记录到 Edge 界面中的事件信息中心。事件信息中心中显示的事件列表包含所有提醒,包括已修复的提醒和认证提醒。
要查看提醒,请执行以下操作:
在 Edge 界面中依次点击 Analyze > Events。系统会显示新的事件信息中心:
按以下条件过滤事件信息中心:
- 环境
- 区域
- 时间段
- 在事件信息中心内选择一行,以显示包含即将过期证书的密钥库,以进一步调查提醒。您可以从“密钥库”页面上传新证书,并删除即将过期的证书。
将提醒 API 与过期提醒一起使用
您用来创建和管理到期提醒的大多数 API 都与用于固定提醒的 API 相同。以下提醒 API 以相同方式处理固定提醒和到期提醒:
- 获取提醒 - 获取已修正或异常的提醒定义。
- 获取提醒历史记录 - 获取提醒历史记录指标。
- 删除提醒 - 删除固定或异常的提醒定义。
- 获取提醒实例 - 获取有关触发的提醒的信息。
- 获取提醒数量 - 获取提醒总数。
但是,一些 API 具有用于支持异常值提醒的其他属性,包括:
创建或更新过期提醒
使用与当前用于已修复提醒相同的 API 创建或更新到期提醒。用于创建或更新过期提醒的 API 调用的正文与固定提醒所使用的相同,但包含以下更改:
您必须添加以下新属性,以指定该提醒是过期提醒:
"alertType": "cert" "alertSubType": "certfixed"
这些属性的默认值为:
"alertType": "runtime" "alertSubType": "fixed"
在
conditions
数组中:metrics
属性仅接受expiration
的值。- 使用
gracePeriodSeconds
属性指定证书到期的时间范围(以秒为单位),最长为 30 天。 - 不支持
threshold
、durationSeconds
和comparator
属性。
- 在
conditions
数组的dimensions
元素中:- 您必须将
certificate
属性的值设置为ANY
。 - 您必须将
proxy
属性的值设置为ALL
。 - 不支持
statusCode
、developerApp
、collection
、faultCodeCategory
、faultCodeSubCategory
、faultCodeName
属性。
- 您必须将
- 过期提醒不支持
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网址。