告警与通知
告警状态
在「告警」按活动、已确认、已恢复或全部筛选记录。指标持续达到条件才会触发告警,恢复也依据真实采样判断;指标未知时不会自动当作恢复。
确认操作取消该告警尚未恢复的待重试通知,但无法撤回已经在发送中的消息。关闭规则会暂停评估、取消对应待重试告警通知,保留已有告警;重新开启后继续依据真实指标判断。
首次触发现场
新告警可展开「查看首次触发现场」,回看当时系统采样、请求窗口,以及触发前 15 分钟已落盘的前 5 个插件与前 5 个接口证据。
分钟聚合可能有延迟,缺失数据会明确提示。后续更新、确认和恢复不覆盖首次现场;旧告警不会补造现场。现场仅保存有限结构化信息,不包含原始日志、调用栈或请求正文。
默认告警配置
入口:插件设置 → 告警规则。
持续时间可设 15–3600 秒,重复通知抑制可设 1–1440 分钟。按站点正常负载调整阈值,避免把短时波动当作长期故障。
高级告警包含持续高消耗插件、依赖异常、近期 GC 压力、持续堆增长及业务任务异常。目前任务规则包括最近一小时失败备份、运行超过 30 分钟的备份,以及待执行队列至少 100 项。
设置通知渠道
入口:插件设置 → 通知渠道。三个渠道默认均关闭,保存配置后可到告警页点击「测试通知」。测试会实际向配置的接收方发送消息。
Halo 站内通知
开启「启用 Halo 站内通知」,填写接收用户的 Halo 用户名,例如 admin,最多 20 个。告警、恢复和测试消息进入对应用户的通知中心。
Webhook
开启 Webhook,填写接收地址;按需设置签名密钥。默认只允许 HTTPS 公网地址,确实需要可信内网目标时,才开启「允许 Webhook 访问私有网络」。
接收端需要兼容 Insight 的消息格式,不能把任意聊天机器人的地址直接视为兼容。配置签名密钥后,接收端应校验签名再处理消息。
SMTP 邮件
STARTTLS 开启时必须成功升级 TLS,不允许回退到明文连接。密钥与密码保存在配置中,截图或提交配置时请勿包含这些字段的实际值。
投递历史与重试
「诊断 → 通知投递」显示渠道、状态、尝试次数和下次时间。消息先持久化到 SQLite,再发送;失败按照 30 / 60 / 120 / 240 秒退避,最多尝试 5 次,跨重启继续。
新告警状态会替代旧的待重试消息,禁用渠道会记为跳过。数据库不可用时尝试即时通知,但没有持久化重试保障。
成功表示渠道已接受,不代表收件人已经阅读。发送成功后、状态写入前若网络中断或进程崩溃,可能重复投递,接收端应考虑去重。
需要在 Halo 完全失去响应后收到提醒时,另行部署站外存活监测。