Skip to main content

告警规则

告警由规则、规则挂载、全局告警设置和通知渠道组成。

内置规则

ID名称指标条件冷却
-1node_offlinenode.offline>= 10
-2raid_failedraid.failed>= 130 分钟

内置规则默认挂载。规则挂载表可以对具体节点禁用或启用规则。

支持的指标

指标说明支持 core_plus
cpu.usage_ratioCPU 使用率,比例值 0..1
cpu.load11 分钟 load
cpu.load55 分钟 load
cpu.load1515 分钟 load
mem.used已用内存字节
mem.used_ratio内存使用率,比例值 0..1
disk.usage.used_ratio主挂载点磁盘使用率
net.recv_bps接收速率 B/s
net.sent_bps发送速率 B/s
conn.tcpTCP 连接数
raid.failedRAID 失败成员或非健康阵列数量

disk.usage.used_ratio 优先使用 / 挂载点;没有 / 时,为兼容旧行为回退到第一个挂载点。

操作符

  • >
  • >=
  • <
  • <=
  • ==
  • !=

持续时间

允许值:

  • 0
  • 60
  • 300

单位是秒。创建规则时未传 duration_sec 默认 60

阈值模式

模式说明
static直接使用 threshold
core_plus只支持 load 指标,阈值为 CPU 核心数 + threshold + threshold_offset

static 模式下 threshold_offset 必须为 0

CPU 核心数优先使用逻辑核心,其次物理核心。

告警生命周期

  1. 节点上报后标记该节点告警需要评估。
  2. 告警服务读取热点快照。
  3. 编译启用的规则和该节点挂载状态。
  4. 满足条件并达到持续时间后打开事件。
  5. 不满足条件后关闭事件。
  6. 按全局设置选择通知渠道,写入通知 outbox。
  7. worker 带租约重试发送通知。

告警服务启动后 1 分钟内不会新开告警事件。

规则挂载

规则挂载是 (rule_id, server_id) -> enabled

接口:

PUT /api/admin/alerts/mounts

请求:

{
"rule_ids": [-1, 10],
"server_ids": [1, 2],
"mounted": true
}

rule_ids 可包含内置规则 ID。server_ids 必须是存在的节点。

全局告警设置

接口:

PUT /api/admin/alerts/settings

请求:

{
"enabled": true,
"channel_ids": [1, 2]
}

channel_ids 可以为空数组,表示启用告警但不发送通知。