跳到主要内容
版本:v1.7.x

告警阈值规则配置

提示

告警阈值规则是 HertzBeat 的核心功能,用户可以通过阈值规则来配置告警的触发条件。
阈值规则支持实时阈值和计划阈值,实时阈值可以在监控数据采集时直接触发告警,计划阈值支持 PromQL 等表达式在指定时间段内计算触发告警。
支持可视化页面配置或更高灵活性的表达式规则配置,支持配置触发次数,告警级别,通知模板,关联指定监控等。

threshold

实时阈值

实时阈值是指在监控数据采集时直接触发告警,适用于对实时性要求较高的场景。

创建实时阈值规则

系统页面 -> 告警 -> 告警阈值 -> 新增阈值 -> 新增实时阈值规则

配置阈值,例如: 选择SSL证书指标对象,配置告警表达式-当指标expiredtrue触发,即equals(expired,"true") , 设置告警级别通知模板信息等。

HertzBeat

配置项说明:

  • 阈值名称:定义此阈值规则的唯一名称
  • 指标对象:选择我们需要配置阈值的监控指标对象 例如:网站监控类型下的 -> 响应时间指标
  • 阈值规则:配置具体指标的告警触发规则,支持图形界面和表达式规则,表达式环境变量和操作符见页面提示。阈值表达式详细帮助见 阈值表达式帮助
  • 关联监控:应用此阈值规则到指定的监控对象(支持直接绑定和标签关联),若未配置,则应用到所有符合此阈值类型规则的监控对象上。
  • 告警级别:触发阈值的告警级别,从低到高依次为:警告-warning,严重-critical,紧急-emergency
  • 触发次数:设置触发阈值多少次之后才会真正的触发告警
  • 通知模板:告警触发后发送的通知信息模板,模板环境变量见页面提示,例如:${__instancename__} ${__metric__} 指标的值为 ${responseTime},大于 50 触发告警
  • 附加标签:给此阈值规则附加标签,当产生告警时,此标签也会附加到告警上。
  • 附加声明:给此阈值规则附加声明信息(声明内容支持环境变量),当产生告警时,此声明信息会被渲染并附加到告警上。
  • 启用告警:此告警阈值配置开启生效或关闭

阈值告警配置完毕,已经被成功触发的告警信息可以在【告警中心】看到。 若需要将告警信息邮件,微信,钉钉飞书通知给相关人员,可以在【消息通知】配置。

计划阈值

计划阈值规则是指系统按照设定的周期性时间间隔,执行一次表达式规则(如 PromQL),以判断指定时间范围内的监控数据是否满足告警条件。这类规则适用于需要评估趋势或聚合数据的场景,而不是对单个实时数据点做出立即反应。

计划阈值表达式语法

计划阈值使用基于 ANTLR 语法的专用表达式语言,支持 PromQL 风格的查询。语法包括:

  1. 查询表达式: 引用监控数据,支持 PromQL 风格,具体语法请查询配置的时序数据库官网关于 PromQL 的文档

        cpu_usage
    memory{\__field\__="field1"}
  2. 比较表达式: 将值与阈值进行比较

        cpu_usage > 80
    memory_usage >= 90.5
    response_time < 1000
  3. 逻辑表达式: 组合多个条件

        cpu_usage > 80 and memory_usage > 70
    disk_usage > 90 or inode_usage > 85
    cpu_usage > 80 unless maintenance_mode == 1
  4. 括号表达式: 控制求值顺序

        (cpu_usage > 80 or memory_usage > 90) and service_status == 1

创建定时阈值规则

阈值规则配置,例如:针对一组 CPU 指标,设定表达式 cpu_usage{instance="server1"} > 80,当满足该表达式时触发告警。除此之外还可以设置执行周期、告警级别、通知模板等内容。

threshold

各配置项说明如下:

  • 规则名称:用于唯一标识该阈值规则的名称。
  • 阈值表达式:用于定义告警条件的表达式,系统会按照"执行周期"定期对其进行评估。表达式支持:
    • 查询标识符: 引用监控指标(如 cpu_usage, memory{instance="server1"}
    • 比较操作符: >, >=, <, <=, ==, !=
    • 逻辑操作符: and, or, unless
    • 括号: 用于分组和控制求值顺序
    • 数字字面量: 阈值(如 80, 90.5
  • 执行周期:表达式的执行时间间隔,单位为秒。例如 300 表示每 5 分钟评估一次表达式。
  • 告警级别:设定当触发告警时的严重程度,包括:warning(警告)、critical(严重)、emergency(紧急)。
  • 触发次数:表达式连续满足告警条件的次数,超过该次数后才实际触发告警。
  • 告警内容:当告警被触发后发送的通知内容模板,页面上提供了可用的模板变量供参考。
  • 附加标签:给此阈值规则附加标签,当产生告警时,此标签也会附加到告警上。
  • 附加声明:给此阈值规则附加声明信息(声明内容支持环境变量),当产生告警时,此声明信息会被渲染并附加到告警上。
  • 启用告警:用于控制该阈值规则是否启用。

阈值规则配置完成后,成功触发的告警将显示在【告警中心】中。 如需通过邮件、企业微信、钉钉、飞书等方式发送告警通知,请前往【通知配置】中进行设置。