/cmr/alert

alert

警报规则定义条件并在 CMR 控制器上运行其动作。设备规则使用 labels 选择设备。状态警报在所有配置的状态条件匹配期间保持活动,并在变为活动时运行一次动作。只有当条件停止匹配然后再次匹配后才会再次触发。事件警报为每次匹配的发生运行动作,并且从不保持活动或计入活动警报计数器。一条规则可以包含多个状态条件,但最多只能有一个事件条件。大多数警报按设备应用;upgrade-job-done 是整个升级任务的系统事件。条件、动作和警报范围参见 CMR - 警报规则。


cmr/alert

Package: cmr Type: Directory

警报规则定义条件并在 CMR 控制器上运行其动作。设备规则使用 labels 选择设备。状态警报在所有配置的状态条件匹配期间保持活动,并在变为活动时运行一次动作。只有当条件停止匹配然后再次匹配后才会再次触发。事件警报为每次匹配的发生运行动作,并且从不保持活动或计入活动警报计数器。一条规则可以包含多个状态条件,但最多只能有一个事件条件。大多数警报按设备应用;upgrade-job-done 是整个升级任务的系统事件。条件、动作和警报范围参见 CMR - 警报规则。

标志名称描述
Xdisabled警报规则已禁用。
参数类型描述
namestring警报规则名称。
labelsobject通过标签选择警报规则适用的设备。支持 + 和 - 符号分别作为 AND 和 AND NOT 运算符;如果未提供符号,则使用 OR 运算符。 当 labels 未设置时,规则适用于所有已连接设备(labels=all)。
connectedbool匹配设备已连接(yes)或已断开(no)的状态条件。 默认值:no。
cpu-abovenum当 CPU 负载高于给定百分比值(0..100)时发出警报;等于阈值的值也会触发规则。 默认值:unset。
cpu-belownum当 CPU 负载低于给定百分比值(0..100)时发出警报;仅在严格低于阈值时触发。 默认值:unset。
hdd-abovenum当磁盘(HDD)负载高于给定百分比值(0..100)时发出警报;等于阈值的值也会触发规则。 默认值:unset。
hdd-belownum当磁盘(HDD)负载低于给定百分比值(0..100)时发出警报;仅在严格低于阈值时触发。 默认值:unset。
mem-abovenum当 RAM 负载高于给定百分比值(0..100)时发出警报;等于阈值的值也会触发规则。 默认值:unset。
mem-belownum当 RAM 负载低于给定百分比值(0..100)时发出警报;仅在严格低于阈值时触发。 默认值:unset。
health-abovenum当由 health-value 命名的健康传感器高于给定值时发出警报;等于阈值的值也会触发规则。不上报该传感器的设备会被忽略。 默认值:unset。
health-belownum当由 health-value 命名的健康传感器低于给定值时发出警报;仅在严格低于阈值时触发。不上报该传感器的设备会被忽略。 默认值:unset。
health-valuestring要比较的健康传感器名称,与 /system/health/print 中的名称匹配,例如 cpu-temperature。在动作文本中使用 [cpu-temperature] 风格的占位符。
interface-changealt { change: enum (any) , change: ubit (running, not-running, added, removed) }在接口状态变化时发出警报: - any(默认)- 任何状态变化。 - running - 接口链路启用。 - not-running - 接口链路断开。 - added - 首次看到接口。 - removed - 不再看到接口。 running 和 not-running 跟随接口的链路状态,而不是其管理状态:在没有连接的情况下启用或禁用接口不会触发,而实际的链路丢失或恢复会触发。
interface-typealt { type: enum (any) , type: ubit (ethernet, wifi, bridge) }将 interface-change 警报限制为一种接口类型: - any(默认)- 任何类型的接口。 - ethernet - 以太网端口。 - wifi - 无线接口。 - bridge - 网桥接口。
upgrade-availablebool当设备有更新的 RouterOS 版本可用时发出警报。 默认值:no。
disconnected-more-thantime当设备断开连接的时间超过给定时长时发出警报。 默认值:unset。
upgrade-job-donealt { cond: enum (yes) , cond: ubit (success, fail) }当升级任务完成时发出警报;规则在整个任务中触发一次,即任务的最后一个设备完成时: - yes(默认)- 任何结果。 - success - 任务成功完成。 - fail - 任务失败。 未安装升级就结束的任务被视为失败任务,因此 yes 和 fail 变体都会触发。
upgrade-donealt { cond: enum (yes) , cond: ubit (success, fail) }当设备升级完成时发出警报;规则会为每个完成升级的设备触发一次: - yes(默认)- 任何结果。 - success - 升级成功完成。 - fail - 升级失败。 当设备没有更新版本可用时,其升级仍以失败结束([upgrade-error] 为 no upgrade available),因此 yes 和 fail 变体都会触发。
unpaired-device-connectedbool当未与控制器的配对的设备连接时发出警报。 默认值:no。
rebootedbool当设备意外重启时触发的事件条件。 默认值:no。
log-topicsmulti { array-id, array-id, topic: super { ! , topic: enum } }要跟踪的日志主题;在主题前加 ! 可排除它。与 log-regex 一起定义日志消息事件条件。CMR 会自动指示设备转发匹配的日志消息。
log-regexstring将日志消息与给定的正则表达式匹配。每条匹配配置主题和正则表达式的消息会触发动作,而不会创建持久的活动警报。
action.logstring警报触发时向日志写入消息。消息可以包含 [device] 或 [cpu-usage] 等占位符,替换为触发设备的值;不适用的占位符呈现为 unknown。
action.log-topicsmulti { array-id, topic: enum }要将消息写入的日志主题。 默认值:cmr,info。
action.log-prefixstring日志消息的前缀。设置后,前缀会直接添加到消息前,不带分隔符;未设置时,消息按原样写入。
action.scriptenum警报触发时运行指定的系统脚本。脚本必须允许自身以降低的权限运行;否则动作会失败并显示 executing script ... from cmr failed ... (not enough permissions)。将脚本的 dont-require-permissions 设置为 yes。
action.script-varsmulti { array-id, script-var: string }要使 action.script 可用的变量名列表:每个变量填充为触发设备的值。例如 device、identity、address、board、version 在脚本中成为 $device、$identity 等。带连字符的名称(例如 cpu-usage)不能作为普通脚本变量读取。
action.http-urlstringHTTP webhook URL to call when the alert fires. On a failed call the alert writes alert "<name>" HTTP action failed: <reason> to the cmr topic with warning severity and counts the failure in action-failures; the other actions still run.
action.http-methodenum (get | post | put | delete | head | patch)用于 webhook 的 HTTP 方法: - get - post - put - delete - head - patch
action.http-bodystring发送到 webhook 的 HTTP 请求正文。支持与日志消息相同的占位符,按设备替换(例如 [device] 和 [version])。不会自动添加 Content-Type 头;当接收方期望时,请使用 action.http-headers 添加,例如为 JSON 正文添加 Content-Type: application/json。
action.http-headersmulti { header: string }Additional HTTP headers sent with the webhook, each as Header: value. The request also carries the controller's RouterOS <version> user-agent.
reset-on-disconnectenum (yes | no) { yes:0, no:-1 }当设备断开连接时清除(重置)状态警报,以便重新连接的设备如果仍然匹配则再次触发规则:yes 或 no。默认值:no(状态在断开连接期间保留)。事件警报没有可重置的持久状态。
severityenum (critical | high | medium | low)警报的严重性: - critical - high - medium(默认) - low
categorymulti { array-id, category: enum }分配给警报的类别。类别是分组标签:服务器根据规则的条件分配一个(例如 performance、availability、version、network 或 logging),并且可以更改为任何值。
只读参数类型描述
devicesnum警报规则匹配的设备数量(由 labels 选择的设备)。当规则覆盖所有设备时,此计数包括控制器本身。
devices-onnum具有活动状态警报的设备数量。事件发生不会增加此计数。
firednum警报已触发的总次数。
action-failuresnum警报动作失败的次数,例如无法访问 webhook。