Skip to main content
告警引擎(monitedge)是部署在你私有网络中的核心组件,负责从 Flashduty SaaS 端同步告警规则,从本地数据源读取数据进行异常判定,并将告警事件推送到 SaaS 端进行后续处理。 菜单入口:告警引擎 告警引擎页面包含三个标签页:告警引擎状态引擎安装/升级引擎失联告警

告警引擎状态

展示所有已注册的告警引擎实例信息,列表每 5 秒自动刷新。
引擎实例超过 30 秒未上报心跳,状态会标记为离线(红色)。离线的引擎实例会显示删除按钮,你可以点击清除已不存在的实例记录。

集群数据源 MD5 校验

同一集群内的多个引擎实例应该使用相同的数据源配置。如果系统检测到集群内不同实例的数据源配置 MD5 不一致,会在集群名称前显示红色警示标记,提示你尽快检查引擎配置。

引擎安装/升级

提供一键生成安装和升级命令的功能,支持三种部署方式。

安装配置

1

选择部署方式

选择 LinuxDockerKubernetes
2

设置引擎集群名字

同机房部署多个实例时,使用相同的集群名字可组成高可用集群。不同机房使用不同的集群名字。
一般每个机房分别部署一套告警引擎集群,集群名字建议设置为机房名称。
3

选择 API Key

从下拉列表中选择已有的 API Key,或点击管理 API Key创建新的 Key。
4

复制命令执行

页面会根据你的选择自动生成安装命令和升级命令,复制后在目标机器上执行即可。

部署方式对比

API Key 管理

API Key 用于告警引擎与 SaaS 端的身份认证。你可以在引擎安装/升级页面点击管理 API Key打开管理面板。

功能说明

管理面板中还会展示每个 API Key 的当前状态:
删除 API Key 后,使用该 Key 的所有引擎实例将无法与 SaaS 端通信。请确保在删除前已将相关引擎切换到其他有效的 API Key。

权限要求

  • 创建 API Key 需要 ApiKeyCreate 权限
  • 删除 API Key 需要 ApiKeyDelete 权限
如果你没有操作权限,请联系管理员前往访问控制页面授权。

引擎 CLI 参数参考

monitedge 二进制通过命令行参数进行配置。以下是与告警推送相关的核心参数。

告警推送参数

普通告警规则的 firing / repeat / recovery 事件由批量投递服务(alertruledelivery)发送到 SaaS 端 POST /monit/api/edge/alert-rule/v1/events 接口:事件先进入各 worker 的队列,再按批次合并发送,单批不超过 200 条事件且不超过 4 MB。 重试策略说明:批量投递采用指数退避重试——首次失败后等待 alerter.serverSleep(默认 3 秒),之后每次失败等待时间翻倍,最大 30 秒,重试没有次数上限,直到投递成功或引擎实例关闭。相比旧的固定间隔重试,指数退避能在网络短暂拥塞时避免高频无效重试。
早期版本通过 alerter.serverConcurrencyalerter.serverRetry 控制一个内部内存队列的并发消费(固定间隔、有限次数重试)。该消费者已不再启动,普通告警规则的投递已切换到上述批量投递服务,这两个参数不再生效,无需配置。
调优建议
  • 高吞吐场景(规则数量多、告警频率高):可适当提高 alerter.alertRuleDeliveryWorkers(例如 128),减少事件在队列中的积压时间;必要时同步提高 alerter.alertRuleEventQueueSize
  • 网络或 CPU 受限场景:可适当降低 alerter.alertRuleDeliveryWorkers(例如 16–32),避免并发出站连接过多影响其他业务流量。
  • 网络质量差、丢包率高的场景:可适当增大 alerter.serverSleep(例如 10s),让退避从更长的初始间隔开始,减少拥塞期间的无效请求。