跳到主要内容
版本:3.10.x

配置告警

API7 网关会监控网关实例、证书、许可证用量和请求状态码,并在条件超过阈值时通知你。告警由控制台中的三个概念组成:

  • 联系人:可复用的通知目的地,包括电子邮件或 Webhook。
  • 告警策略:需要评估的事件、规则、网关组和检查间隔,以及触发后通知的联系人。
  • 告警历史:过去 30 天的告警和已发送通知记录。

有关告警评估和投递方式,请参阅告警和联系人

配置联系人

创建策略前,至少配置一个联系人,以便网关发送通知。

  1. 在顶部导航栏选择 Organization,然后选择 Contact Points
  2. 点击 Add Contact Point,选择以下类型之一:
    • Email:输入一个或多个收件地址。电子邮件投递需要 SMTP 服务器,可在 Organization > Settings > SMTP Server 中配置。
    • Webhook:输入目标 URL。可将通知转发到 Slack(通过 Slack Incoming Webhooks)、PagerDuty、Microsoft Teams 或其他接收告警负载的 HTTP 端点。

一个告警策略可以关联多个联系人,例如同时通知值班邮件列表和 Slack 频道。

推荐的告警策略

控制台提供 20 多种内置事件类型。以下策略适用于大多数生产环境。请从 Alert > Policies > Add Alert Policy 创建策略。

事件用途建议检查间隔
网关实例离线数据面节点停止报告心跳且不再提供流量。60 分钟
控制面与数据面之间的 mTLS 证书即将过期此类证书的有效期为 13 个月;证书过期会中断控制面与数据面通信。1440 分钟(每天)
SSL 证书即将过期在客户端遇到 TLS 错误前轮换监听器证书。1440 分钟(每天)
许可证允许的 CPU 配额已超出所有数据面实例的 CPU 核数超过 API7 企业版许可证配额。60 分钟
健康网关实例数网关组低于 SLO 要求的最小实例数。30 分钟
状态码 500 的数量或比例发现影响一定比例流量的上游或网关故障。30 分钟

有关事件和控制面评估方式,请参阅告警和联系人。有关通知模板可用的变量,请参阅告警变量与模板

自定义通知内容

电子邮件主题、电子邮件正文和 Webhook 负载可以包含以下模板变量:

变量说明
{{ .AlertPolicyName }}告警策略名称。
{{ .Description }}告警策略描述。
{{ .Severity }}严重程度,包括 HighMediumLow
{{ .TriggerGatewayGroup }}触发告警的网关组名称,多个名称以逗号分隔。
{{ .AlertTime }}告警时间,可使用 {{ .AlertTime.Format "2006 Jan 02 15:04:05" }} 格式化。
{{ .AlertDetail }}触发告警事件的易读描述。嵌入 JSON Webhook 正文时,请使用 escape 函数({{ .AlertDetail | escape }})。

完整变量参考请参阅告警变量与模板

查看告警历史

告警事件及其投递通知会保留 30 天。在控制台侧边导航栏中选择 Alert,然后点击 History。每条记录包含触发的策略、严重程度、触发时间、涉及的网关组以及已发送的告警详情。

后续步骤