告警自愈不生效

Q:在告警规则中使用回调地址不生效,${ibex}/1为自愈脚本ID,自愈脚本单独执行可以正常使用

A:

告警自愈涉及三个模块:n9e(创建任务),ibex(ibex-sever,收集任务)和 categraf(ibex-agent,执行任务)。如果在日志排查中确认 ibex 和 categraf 都没有被触发,可以在 n9e 的日志中按关键字event_callback_ibex 来过滤查找错误原因。

此外,有三点需要注意:

  1. 当自愈脚本单独执行时,它会根据自愈脚本配置的主机(host)下发任务并执行,这表明 Ibex 通道正常工作。
  2. 配置回调地址 ${ibex}/1,系统将尝试创建 Ibex 任务,但是,执行任务的主机(host)将从触发告警事件的 TargetIdent 中获取(在 metric 类型的告警中 TargetIdent 等价于时序数据的 ident 标签)。 ​简而言之,通过将 ${ibex}/1 配置为回调地址,系统能够根据告警事件中的标识(TargetIdent)动态确定执行自愈脚本的主机,并创建相应的 Ibex 任务。
  3. 在 ibex 任务创建中会有权限控制,使用非 admin 用户创建的自愈脚本时,目标主机必须归属于自愈脚本所在业务组,否则无法成功创建任务。如果校验失败,日志中将出现 no permission关键字。