告警规则
为容器退出、健康检查、资源阈值和重启爆发创建类型化告警规则。
告警规则将 Docker 事件和资源指标连接到你的通知渠道。当规则触发时,Dockerman 会向绑定到该规则的每个渠道广播消息。
预设规则
两条规则已预先配置,让你一键即可获得有用的覆盖:
| 预设 | 类型 | 行为 |
|---|---|---|
| Restart loop | restart_burst | 当任意容器在 5 分钟内重启 ≥ 3 次时触发。 |
| Container crash (non-zero exit) | container_exit_non_zero | 当任意容器以非零状态退出时触发。 |
两个预设默认禁用 — 在告警页面确认目标范围和通知渠道与你的环境匹配后再开启。一旦启用,它们与其他规则一样:可以编辑字段、变更目标、绑定渠道,或再次禁用。
预设受意外删除保护。如果你删除了预设,告警页面上的重置为默认操作会按出厂状态恢复它。
两个预设默认目标为所有容器。如果环境噪声较多,请在启用前将目标缩小到 Compose 项目或特定容器。
规则类型
Dockerman 预装了四种类型化规则。每种类型在 UI 中都有专用表单,而不是自由文本表达式,因此设置快速且不易出错。
资源阈值
当指标在持续时间内保持高于阈值时触发。
数据源: Stats 时间序列存储
字段:
| 字段 | 描述 |
|---|---|
| 指标 | cpu 或 mem_percent |
| 操作符 | > 或 >= |
| 阈值 | 要比较的百分比值 |
| 持续时间 | 指标必须保持高于阈值的秒数 |
使用场景: 发现内存泄漏、失控的 CPU 或达到资源限制的容器。
目标选择器
所有四种规则类型共享相同的目标选择器,因此你可以用一种一致的方式选择要监控的内容。
| 范围 | 行为 |
|---|---|
| 所有容器 | 规则适用于连接主机上的每个容器 |
| Compose 项目 | 规则适用于属于特定 Compose 项目的所有容器 |
| 特定容器 | 规则仅适用于你选择的容器 |
创建规则
点击添加规则
选择规则类型并填写表单字段。
设置目标
选择此规则是监控所有容器、Compose 项目还是特定容器。
配置冷却时间和严重级别
设置冷却时间以防止重复告警,并选择严重级别用于过滤。
保存并启用
规则立即开始评估。
冷却时间和静默窗口
冷却时间
规则触发后,它会进入冷却时间(每个规则可配置)。在冷却期间,即使条件仍然为真,规则也不会再次触发。这可以防止多个容器同时失败时的通知风暴。
静默窗口
设置规则完全不应触发的时间窗口,例如"02:00 - 05:00"用于计划维护窗口。规则在静默窗口期间仍然评估,但会抑制通知。
严重级别
每个规则都有一个严重级别:info、warning 或 critical。严重级别是用于过滤和历史搜索的元数据。它不影响路由;所有绑定的渠道都会收到每个告警,无论严重级别如何。
最近告警动态
告警页面包含一个最近告警动态,显示每次规则触发的时间,包括:
- 容器名称
- 触发的本地时间
- 规则名称和类型
- 上下文(指标值、退出代码等)
- 哪些渠道收到了通知
该列表使用标准化的数据表格模式,因此列宽会跨会话保留,你可以从顶部工具栏跨所有字段进行搜索。
路由模型
每个规则直接绑定到通知渠道列表。当规则触发时,消息会发送到列表中的每个渠道。此版本中没有全局路由表或基于严重级别的渠道映射。
提示
从针对所有容器并绑定到你主要通知渠道的 container_exit_non_zero 规则开始。它以零配置捕获最常见的故障模式。
- 使用至少 60 秒的
resource_threshold持续时间,以避免短暂峰值的误报。 - 将
restart_burst与低次数(例如 300 秒内 3 次重启)结合使用,以尽早发现崩溃循环。 - 定期查看告警历史以调整冷却时间。如果你看到同一事件的重复条目,请增加冷却时间。