分组评估是告警监控规则中的一个参数。当告警监控系统对查询和分析结果进行计算时,可基于特定字段进行分组,每个分组单独评估触发条件并触发告警。即您可以使用一条告警监控规则同时监控多个目标,并对每个分组进行独立的告警管理和事务管理。
设置分组评估后,单次评估产生的告警分组最多为100个分组。超过100个分组时,会随机取其中100个发送到告警策略。
选择分组评估字段时,请选择具备标识监控实体特征的字段,字段的值可枚举。请勿选择不具备区分监控实体特征的字段。使用这些字段会产生很多分组,每个分组对应一个告警,造成告警风暴,导致错过重要的告警信息。
例如:选择Nginx日志中的host、method等字段,OSS访问日志中的bucket字段。请勿选择Nginx日志中的request_time、body_size等字段,错误日志中的err_cnt字段。
示例一:分组监控时序数据
例如您将多个服务器的指标数据存储在一个时序库中,但希望每个服务器的CPU使用率(cpu_util)超过95%时,日志服务可以分开发送每个服务器的告警信息。针对此需求,您可以在创建告警监控规则时设置分组评估。
具体配置如下:
查询统计:
* | select promql_query_range('cpu_util') from metrics limit 1000
该查询和分析语句用于统计CPU的使用率。
分组评估:标签自动
时序数据的查询和分析结果支持自动分组。
触发条件:有数据匹配,value > 95,严重度:高
当查询和分析结果中存在value的值大于95时,触发高级别的告警。
添加标注:配置告警的标题和描述等标注信息,您可以在标注信息中引用字段变量(例如${host})。更多信息,请参见标签和标注。
示例二:分组监控日志
例如您在监控OSS访问日志时,希望每分钟发生500错误超过1000次的Bucket可以分开告警。针对此需求,您可以在创建告警监控规则时设置分组评估。
具体配置如下:
查询统计:
http_status=500 | select bucket,count(1) as pv group by bucket having pv >1000 order by pv desc
该查询和分析语句用于统计发生500错误超过1000次的Bucket。
分组评估:标签自定义,bucket
查询和分析结果将根据bucket进行分组。
触发条件:
条件1:有数据匹配,pv > 3000,严重度:高
当查询和分析结果中存在pv的值大于3000时,触发高级别的告警。
条件2:有数据,严重度:中
当查询和分析结果中存在数据时触发中级别的告警。
添加标注:配置告警的标题和描述等标注信息,您可以在标注信息中引用字段变量(例如${pv})。更多信息,请参见标签和标注。