告警与通知

告警状态

在「告警」按活动、已确认、已恢复或全部筛选记录。指标持续达到条件才会触发告警,恢复也依据真实采样判断;指标未知时不会自动当作恢复。

状态含义
活动条件已触发,仍待处理
已确认管理员已知晓,指标仍可能异常
已恢复规则根据后续指标判断问题已恢复

确认操作取消该告警尚未恢复的待重试通知,但无法撤回已经在发送中的消息。关闭规则会暂停评估、取消对应待重试告警通知,保留已有告警;重新开启后继续依据真实指标判断。

首次触发现场

新告警可展开「查看首次触发现场」,回看当时系统采样、请求窗口,以及触发前 15 分钟已落盘的前 5 个插件与前 5 个接口证据。

分钟聚合可能有延迟,缺失数据会明确提示。后续更新、确认和恢复不覆盖首次现场;旧告警不会补造现场。现场仅保存有限结构化信息,不包含原始日志、调用栈或请求正文。

默认告警配置

入口:插件设置 → 告警规则。

配置默认值
启用告警开启
持续时间60 秒
重复通知抑制30 分钟
CPU 使用率阈值85%
JVM 堆使用率阈值85%
磁盘使用率阈值90%
请求错误率阈值5%
P95 响应时间阈值1500 毫秒
高级诊断告警开启
最近 5 分钟 GC 时间占比阈值10%

持续时间可设 15–3600 秒,重复通知抑制可设 1–1440 分钟。按站点正常负载调整阈值,避免把短时波动当作长期故障。

高级告警包含持续高消耗插件、依赖异常、近期 GC 压力、持续堆增长及业务任务异常。目前任务规则包括最近一小时失败备份、运行超过 30 分钟的备份,以及待执行队列至少 100 项。

设置通知渠道

入口:插件设置 → 通知渠道。三个渠道默认均关闭,保存配置后可到告警页点击「测试通知」。测试会实际向配置的接收方发送消息。

Halo 站内通知

开启「启用 Halo 站内通知」,填写接收用户的 Halo 用户名,例如 admin,最多 20 个。告警、恢复和测试消息进入对应用户的通知中心。

Webhook

开启 Webhook,填写接收地址;按需设置签名密钥。默认只允许 HTTPS 公网地址,确实需要可信内网目标时,才开启「允许 Webhook 访问私有网络」。

接收端需要兼容 Insight 的消息格式,不能把任意聊天机器人的地址直接视为兼容。配置签名密钥后,接收端应校验签名再处理消息。

SMTP 邮件

配置填写方式
SMTP 主机邮件服务提供方的 SMTP 地址
SMTP 端口默认 587;465 自动使用 SMTPS
使用 STARTTLS默认开启;非 465 端口根据该设置升级 TLS
SMTP 用户名 / 密码服务方提供的登录凭据,可能需要独立授权码
发件地址与邮件服务允许的发件人一致
收件地址最多 10 个邮箱

STARTTLS 开启时必须成功升级 TLS,不允许回退到明文连接。密钥与密码保存在配置中,截图或提交配置时请勿包含这些字段的实际值。

投递历史与重试

「诊断 → 通知投递」显示渠道、状态、尝试次数和下次时间。消息先持久化到 SQLite,再发送;失败按照 30 / 60 / 120 / 240 秒退避,最多尝试 5 次,跨重启继续。

新告警状态会替代旧的待重试消息,禁用渠道会记为跳过。数据库不可用时尝试即时通知,但没有持久化重试保障。

成功表示渠道已接受,不代表收件人已经阅读。发送成功后、状态写入前若网络中断或进程崩溃,可能重复投递,接收端应考虑去重。

需要在 Halo 完全失去响应后收到提醒时,另行部署站外存活监测。