本文介绍告警监控规则的数据结构。

Alert

字段 数据类型 是否必填 说明
name String 告警监控规则ID。在URL中展示。
displayName String 告警监控规则名称。在告警列表中展示。
state String 告警监控规则的状态。取值如下:
  • Enabled:启用。
  • Disabled(默认值):禁用。
type String 固定为Alert。
description String 兼容字段,设置为空字符串即可。
schedule Schedule 检查频率相关的配置。更多信息,请参见Schedule
configuration Configuration 告警监控规则的详细配置。更多信息,请参见Configuration

Schedule

字段 数据类型 是否必填 说明
type String 检查频率类型,日志服务根据您配置的频率对查询和分析结果进行检查。取值如下:
  • FixedRate:按照固定间隔检查查询和分析结果。
  • Cron:通过Cron表达式指定时间间隔,按照指定的时间间隔检查查询和分析结果。
  • Weekly:在周几的某个固定时间点检查一次查询和分析结果。
  • Daily:在每天的某个固定时间点检查一次查询和分析结果。
  • Hourly:每小时检查一次查询和分析结果。
interval String 时间间隔,例如5m、1h。

type被设置为FixedRate时,必须设置interval

cronExpression String Cron表达式,最小精度为分钟,24小时制。例如0 0/1 * * *,表示从00:00开始,每隔1小时检查一次。

type被设置为Cron时,必须设置cronExpression

dayOfWeek Integer 可选值为0~6,分别表示周日到周六。

type被设置为Weekly时,必须设置dayOfWeek

hour Integer 可取值为0~23,分别表示每个小时。

type被设置为Weekly或Daily时,必须设置hour

runImmediately Boolean 创建告警监控规则后,是否立即执行。

Configuration

字段 数据类型 是否必填 说明
version String 固定为2.0。
type String 固定为default。
dashboard String 告警历史仪表盘。建议设置为internal-alert-analysis。
queryList AlertQuery 查询统计列表。
groupConfiguration GroupConfiguration 分组评估配置。更多信息,请参见GroupConfiguration
joinConfigurations []JoinConfiguration 集合操作配置。更多信息,请参见JoinConfiguration
  • 如果queryList中只有一项查询统计,则不需要设置joinConfigurations
  • 如果queryList中有2~3个查询统计,则必须设置joinConfigurations,用于关联多个查询分析结果。更多信息,请参见多集合操作机制
severityConfigurations []SeverityConfiguration 触发条件,至少设置一条触发条件。更多信息,请参见SeverityConfigurations
labels []Tag 标签。更多信息,请参见Tag
annotations []Tag 标注。更多信息,请参见Tag
autoAnnotation Boolean 是否开启自动添加标注。
  • true(默认):开启自动添加标注功能,系统自动在告警中添加__count__等信息。更多信息,请参见自动标注
  • false:关闭自动添加标注功能。
sendResolved Boolean 是否发送恢复通知。
  • true:告警恢复时,触发一条恢复告警。更多信息,请参见恢复通知
  • false(默认):关闭告警恢复通知功能。
threshold Integer 设置连续触发阈值。当累计的触发次数达到该值时,产生一条告警。不满足触发条件时不计入统计。
noDataFire Boolean 无数据是否触发告警。
  • true:如果查询和分析的结果(有多个时,进行集合操作后的结果)为无数据的次数超过连续触发阈值,则产生一条告警。更多信息,请参见无数据告警
  • false(默认):关闭无数据告警功能。
noDataSeverity Integer 无数据触发告警时的告警严重度。更多信息,请参见告警严重度
policyConfiguration PolicyConfiguration 告警策略配置。更多信息,请参见PolicyConfiguration
tags []String 自定义设置告警监控规则的类别。
说明 Java SDK 0.6.74及以上版本支持。

AlertQuery

字段 数据类型 是否必填 说明
storeType String 查询数据源类型。取值如下:
  • log:日志库。
  • metric:时序库。
  • meta:资源数据。
region String 目标Project所在地域。
  • storeType被设置为log或metric时,设置region为目标Project所在地域。
  • storeType被设置为meta时,设置project为空字符串。
project String 查询统计所关联的Project。
  • storeType被设置为log或metric时,设置project为目标Project。
  • storeType被设置为meta时,设置project为空字符串。
store String 查询统计所关联的Logstore、Metricstore或资源数据。
  • storeType被设置为log时,设置store为目标Logstore。
  • storeType被设置为metric时,设置store为目标Metricstore。
  • storeType被设置为meta时,设置store为目标资源数据名称。
roleArn String 访问数据所需的RAM角色的ARN。更多信息,请参见配置访问控制
query String 查询分析语句。
  • storeType被设置为log或metric时,设置query为查询分析语句。
  • storeType被设置为meta时,设置query为空字符串。
timeSpanType String 时间类型。更多信息,请参见查询统计时间范围

storeType被设置为log或metric时,必须设置timeSpanType

start String 开始时间。

storeType被设置为log或metric时,必须设置start

end String 结束时间。

storeType被设置为log或metric时,必须设置end

powerSqlMode String 是否使用独享SQL。取值如下:
  • auto:自动切换。
  • enable:启动。
  • disable:禁用。

GroupConfiguration

字段 数据类型 是否必填 说明
type String 分组评估类型。取值如下:
  • no_group:不分组。
  • custom:自定义。
  • labels_auto:标签自动。

    仅适用于时序数据。

fields []String 用于分组评估的字段。

type被设置为custom时,必须设置fields

JoinConfiguration

字段 数据类型 是否必填 说明
type String 集合操作类型。取值如下:
  • cross_join:笛卡尔积。
  • inner_join:内联。
  • left_join:左联。
  • right_join:右联。
  • full_join:全联。
  • left_exclude:左斥。
  • right_exclude:右斥。
  • concat:拼接,顺序遍历每个数据集。
  • no_join:不合并,只取第一个数据集。
condition String type被设置为inner_join、left_join、right_join、full_join、left_exclude或right_exclude时,必须设置condition,例如设置为$0.host == $1.ip

SeverityConfiguration

字段 数据类型 是否必填 说明
severity Integer 告警严重度。更多信息,请参见告警严重度
evalCondition ConditionConfiguration 触发条件。更多信息,请参见评估表达式语法
evalCondition.condition String 数据匹配表达式。
  • 不需要判定数据内容时,设置为空字符串即可。
  • 其余情况,需设置为表达式,例如errCnt > 10
evalCondition.countCondition String 数据条数判断表达式,表示有多少条数据满足条件。
  • 表示存在数据即满足时,设置为空字符串即可。
  • 其余情况,需设置为表达式,例如__count__ > 3

Tag

字段 数据类型 是否必填 说明
key String 字段名称。
value String 字段值。

PolicyConfiguration

字段 数据类型 是否必填 说明
alertPolicyId String 告警策略ID。
  • 如果是极简模式或普通模式,设置为sls.builtin.dynamic(系统内置的动态告警策略)。
  • 如果是高级模式,设置为指定的告警策略ID。
actionPolicyId String 使用的行动策略ID。

如果是高级模式且所选的告警策略未配置动态行动策略,则设置actionPolicyId为空字符串。

repeatInterval String 重复等待时间。例如5m、1h等。
useDefault Boolean 兼容字段,固定为false。

参考数据

告警严重度

告警严重度 取值
Critical(严重) 10
High(高) 8
Medium(中) 6
Low(低) 4
Report(报告) 2

查询统计的时间范围

timeSpanType start end 说明
Custom -15m absolute 整点15分钟。
Custom -100s -20s 相对时间,100秒前到20秒前的时间段。
Custom -60s now 相对60秒。
Custom -120m 空字符串 相对120分钟。
Relative -100s -20s 相对时间,100秒前到20秒前的时间段。
Relative -60s now 相对60秒。
Relative -120m 空字符串 相对120分钟。
Truncated -15m 任意 整点15分钟。
Today 任意 任意 今天0点到现在。
Yesterday 任意 任意 昨天0点到今天0点。