monitedge)是部署在你私有网络中的核心组件,负责从 Flashduty SaaS 端同步告警规则,从本地数据源读取数据进行异常判定,并将告警事件推送到 SaaS 端进行后续处理。
菜单入口:告警引擎
告警引擎页面包含三个标签页:告警引擎状态、引擎安装/升级、引擎失联告警。
告警引擎状态
展示所有已注册的告警引擎实例信息,列表每 5 秒自动刷新。引擎实例超过 30 秒未上报心跳,状态会标记为离线(红色)。离线的引擎实例会显示删除按钮,你可以点击清除已不存在的实例记录。
集群数据源 MD5 校验
同一集群内的多个引擎实例应该使用相同的数据源配置。如果系统检测到集群内不同实例的数据源配置 MD5 不一致,会在集群名称前显示红色警示标记,提示你尽快检查引擎配置。引擎安装/升级
提供一键生成安装和升级命令的功能,支持三种部署方式。安装配置
1
选择部署方式
选择 Linux、Docker 或 Kubernetes。
2
设置引擎集群名字
同机房部署多个实例时,使用相同的集群名字可组成高可用集群。不同机房使用不同的集群名字。
3
选择 API Key
从下拉列表中选择已有的 API Key,或点击管理 API Key创建新的 Key。
4
复制命令执行
页面会根据你的选择自动生成安装命令和升级命令,复制后在目标机器上执行即可。
部署方式对比
API Key 管理
API Key 用于告警引擎与 SaaS 端的身份认证。你可以在引擎安装/升级页面点击管理 API Key打开管理面板。功能说明
管理面板中还会展示每个 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.serverConcurrency 和 alerter.serverRetry 控制一个内部内存队列的并发消费(固定间隔、有限次数重试)。该消费者已不再启动,普通告警规则的投递已切换到上述批量投递服务,这两个参数不再生效,无需配置。- 高吞吐场景(规则数量多、告警频率高):可适当提高
alerter.alertRuleDeliveryWorkers(例如 128),减少事件在队列中的积压时间;必要时同步提高alerter.alertRuleEventQueueSize。 - 网络或 CPU 受限场景:可适当降低
alerter.alertRuleDeliveryWorkers(例如 16–32),避免并发出站连接过多影响其他业务流量。 - 网络质量差、丢包率高的场景:可适当增大
alerter.serverSleep(例如 10s),让退避从更长的初始间隔开始,减少拥塞期间的无效请求。