1
安装 monitedge
部署告警引擎到私有网络
2
创建数据源
配置要监控的数据来源
3
创建告警规则
定义告警条件和通知方式
安装 monitedge
monitedge 需要部署在用户私有网络内,负责从 SaaS 同步告警规则,周期性查询数据源并进行阈值判定,产生告警事件并推送给 SaaS 端。
菜单入口:告警引擎 → 引擎安装/升级
支持 Linux、Docker、Kubernetes 三种安装方式。
告警引擎状态
monitedge 安装完成后,会自动连接 SaaS 端并周期性同步告警规则。您可以在告警引擎状态页面查看当前状态信息。
长期没有心跳的引擎实例会展示删除按钮,可点击移除以避免引擎失联告警。
引擎失联告警
monitedge 挂掉影响很大,因此提供引擎失联告警。
多个实例组成的引擎集群,只要集群中有一个实例存活,就不会触发引擎失联告警。
创建数据源
菜单入口:数据源 → 新建
创建告警规则
菜单入口:告警规则 告警规则可能会很多,Monitors 提供树形分组结构进行分类管理。每个告警规则都要属于某个分组,您可以先创建分组,再在分组下创建告警规则。 创建 / 编辑告警规则的页面是一个单页表单,自上而下分为六个区块:基础配置、数据源与查询、告警判定、检测频率 & 生效时间、事件配置、调查入口。基础配置
附加标签的写法
附加标签的值有三种写法,按值的内容区分:
Go 模板可以使用以下变量:
- 模板只支持
if/else和index、len、printf、print、replace、urlquery以及比较、逻辑函数,不支持range、with、define。 - 读取不存在的 key 时,
$labels和$annotations得到空字符串,$values得到0。渲染结果为空的标签不会推送。 - 同一个值不能同时使用
${...}和{{...}}。 - 渲染失败的标签不会推送,告警事件照常推送,错误原因写入
__alert_rule_label_template_error标签,可在告警详情中查看。 - 标签名首尾的空白会在保存时去掉,去掉后不能重复;标签名不能以
__alert_rule_开头。全部附加标签按 JSON 计合计不超过 1024 个字符,job和instance的值不超过 255 个字符。 - 告警引擎渲染备注描述、自定义字段和标题时,
$appendLabels中的模板标签仍是模板原文。需要在这些位置使用查询结果时,请直接引用$annotations。
数据源与查询
区块 2 由两段组成:数据源 决定规则生效到哪些数据源,查询语句 决定从数据源里查什么、怎么查。数据源
先选择 数据源类型。这里只列出已配置过数据源的类型;如果还没有任何数据源,点击 前往数据源管理页面(在新标签页打开,不会丢失当前表单)先创建。
然后选择规则生效到哪些数据源,一个规则可以生效到多个数据源:
- 名称通配:按名称匹配,新建规则时默认为
*(该类型下的所有数据源)。*匹配任意字符串(如db-*),?匹配单个字符,[0-9]、[a-z]匹配字符范围,[!0-9]匹配不在范围内的字符。数据源改名会影响匹配。 - 精确匹配:从下拉列表选择具体数据源,不受改名影响。
保存规则时,您需要对规则引用的每个数据源都有查询权限,包括名称通配在保存时匹配到的数据源(主体账号与 Admin 除外)。因此一条通配规则可能因为匹配到您无权查询的数据源而无法保存。只停用规则不受此限制。数据源授权见数据源管理。
查询语句
配置查询类型与查询语句。点击 使用说明 可以查看写法说明。表格型查询的值字段、标签字段与附加信息如何映射,详见查询结果字段映射。
AI 查询助手
选择数据源类型后,点击查询输入框右上角的 AI 帮我写,查询助手会结合当前规则的数据源、查询类型、阈值和其他查询,帮您生成或改写查询语句。- 生成的语句和相关参数(如 SLS 的项目 / 日志库、腾讯云 CLS 的地域 / 日志主题)会自动填入表单,也可以点击结果卡片上的 回填 重新填入。
- 主查询、恢复查询、关联查询、查询预览,以及实体树中的 PromQL 都可以使用查询助手。
- 回填不会自动保存规则,保存前请确认语句与阈值匹配。
告警判定
告警判定提供三种检测方式,每种是一个页签,在页签内的卡片标题右侧启用。已启用的页签标题后会显示对勾。 |------|----------| | 阈值判定 | 按级别填写阈值表达式,满足条件并达到触发次数后,产生对应级别的告警。高级别触发后不再判断低级别;Critical、Warning、Info 至少填写一项 | | 数据缺失 | “之前查到过数据,现在查不到了”或“所有查询均无返回数据”时告警,两个条件可以分别启用 | | 数据存在 | 查询到数据即视为满足条件,达到触发次数后按设定级别产生告警 | 每个页签分为“告警触发”和“告警恢复”两张卡片(数据缺失页签合并为一张“触发与恢复条件”)。主要字段:触发方式:连续命中与累计命中
- 累计命中下,命中次数不能大于检测次数,两者都不能超过 10000
累计命中需要告警引擎
v0.69.0 及以上。 更早版本的引擎会按连续命中执行,告警可能延迟或漏报。告警恢复
恢复方式的可选项由检测方式决定:检测频率与生效时间
重复通知的最大次数和重复间隔,以及各检测方式的命中次数和恢复次数都必须不小于 1,否则规则不会执行。
事件配置
事件配置包括自定义字段与关联查询(默认折叠)、备注描述和重复发送配置。最大通知次数并不代表终端用户收到的消息提醒次数。因为 Monitors 产生的告警事件会投递到 On-call,可能会被聚合降噪,最终发送次数取决于 On-call 配置。
调查入口
区块 6 用于配置调查入口:把每条告警直接接到一个仪表盘视图或一份查好的初始查询上,值班人员从告警一跳就能看到该看的图、该查的数据。
最多 20 个入口,可以拖动调整顺序(顺序只影响展示);点击入口右侧的眼睛图标可以按该规则的一条真实告警预览跳转。入口随规则保存生效,渲染成快照后随告警事件下发,因此改规则不会影响已经产生的告警。
字段含义、模板变量、校验限制与快照语义详见调查入口。
查看效果
完成配置后,如果告警条件触发,告警规则前的状态会变成Triggered。
规则状态由 Flashmonit 当前活跃告警决定:Triggered 表示该规则至少有一个活跃告警,Healthy 表示当前没有活跃告警。
点击状态徽章(Triggered 或 Healthy),页面会切换到“活跃告警”标签页,并按该规则自动过滤(URL 参数 active_alert_rule_id),方便直接查看该规则当前产生的活跃告警。历史告警事件可到 On-call 中查看。详见活跃告警。
规则运行详情
告警规则列表的每一行都提供运行时自省能力。点击行操作菜单(行尾⋮)中的运行详情,打开规则运行详情抽屉,帮助您判断规则的执行健康度并快速排障。
抽屉顶部可以选择要查看的数据源(规则可能绑定多个数据源);这个选择器按查看者对各数据源的查询(readonly)权限过滤,没有查询权限的数据源会被静默丢弃,受限查看者看到的数据源可能少于规则实际绑定的数量。下方分为两个标签页:
当前状态
- 状态徽章:
运行正常(normal)、执行异常(abnormal)、等待首次执行(waiting)、状态已过期(stale)。当中心配置已保存但 Edge 尚未上报新版本时,额外显示配置待生效标识;规则被禁用时显示规则已停用标识 - 最近执行:执行时间、执行耗时、执行结果、查询结果数、最近成功、连续失败、运行阶段、状态更新时间
- 告警实例:活跃实例总数,并按检测模式拆分为 Threshold(阈值判定)、AnyData(数据存在)、NoData(数据缺失),以及最近产生的事件类型(告警触发、重复通知、告警恢复、告警关闭)
- Edge 与配置:负责该规则的 Edge 集群、Edge 实例、版本、在线状态和最近心跳
等待首次执行 或 状态已过期 时页面会给出原因提示;负责该规则的 Edge 不在线,或执行出现错误时,会以醒目横幅展示错误类型和错误摘要。
执行历史
按时间范围查询该规则的历史执行记录(支持最近 15 分钟、1 小时、4 小时、1 天,最长 24 小时)。每条记录带执行摘要徽章:执行失败、产生事件、告警恢复、定期采样;展开后可查看日志入库时间、Edge 实例与集群、运行阶段、连续失败次数、各检测模式活跃实例数、产生的事件以及错误摘要。
执行历史只记录关键执行摘要(异常、事件、恢复和定期采样),不保证每轮评估都生成记录;匹配记录超过 200 条时仅展示最近 200 条,请缩小时间范围。
批量操作
告警规则列表支持多选后进行批量操作,提升规则管理效率。批量启用/禁用/删除
在列表中勾选多条规则后,可以一键批量启用、批量禁用或批量删除。批量编辑字段
勾选多条规则后点击批量更新,可以统一修改以下 10 个字段:
操作方式:在批量更新面板中先选择要修改的字段,然后设置新值,点击确定即可批量应用到所有选中规则。
批量更新附加标签和自定义字段时,使用专用的元数据编辑器,支持两种更新方式:
部分规则更新失败时,会提示失败条数和第一个失败原因,其余规则照常更新。
批量移动
勾选多条规则后,可以将它们批量移动到其他文件夹中。导入告警规则
菜单入口:告警规则 → 导入 导入采用文件上传方式,一次上传一个规则文件(.yaml、.yml 或 .json,不超过 1 MB)。系统会自动识别文件格式,并在导入前展示预检结果,支持以下四种来源:
导入配置
文件上传后可以配置:- 同名规则处理方式:
跳过同名规则(默认,目标分组中已有同名规则时不导入)或创建副本(为同名规则创建副本) - 导入后启用规则:仅对 Flashduty Rules YAML 来源显示。关闭时,导入的 Flashduty 规则保持停用
- 协作空间:指定告警事件投递的协作空间
预检结果
系统解析文件后展示预检结果表格,逐条列出规则的导入名称、状态(可导入 / 跳过 / 无效)和说明。勾选要导入的规则(默认选中所有可导入的规则)后提交。
Nightingale 规则导入后统一保持停用,需检查数据源匹配和转换警告后再手动启用。常见的转换说明包括:Doris 数据源映射为 MySQL、仅保留最高级别告警条件、级别抑制/查询关联/通知目标等配置未保留、恢复语义按 Flashduty 规则能力近似转换、
Local 时区转换为 Asia/Shanghai、全天生效时间转换为 00:00-23:59、缺少评估间隔时持续时间按 15 秒间隔换算等。导入结果
提交后系统展示导入结果:成功、跳过和无效的条数。如果一条都没有导入成功,可以在弹窗中查看原因后重新选择。导出告警规则
在列表中勾选需要导出的规则,点击导出按钮。系统以 YAML 格式(Flashduty Rules YAML bundle)展示所选规则的完整配置,您可以:- 下载:将 YAML 保存为
alert-rules.yaml文件 - 复制:将 YAML 内容复制到剪贴板