告警严重度是什么
在日常的打日志过程中,我们经常会按照不同日志级别来打日志,在日志级别中经常可以看到Info,Warn,Error,Crtical等级别,一般来说,越严重的日志越值得关注,因为它可能意味着系统出现了严重的故障,导致不可用等行为。同样,在监控系统中,如果在监控某不同指标时,如果指标的值偏离了我们设定的阈值,会触发一条告警,这条告警也应该表明事件的严重程度,比如机器down机的问题要比CPU使用率超过70%的问题要更严重,同样,CPU使用率达到90%要比CPU达到75%的问题要严重。
在SLS新版告警中使用告警严重度来表示告警触发时的严重程度,在SLS新版告警中,支持在告警监控规则中配置告警严重度,告警严重度被分为报告,低,中,高,严重五种级别,在配置告警时可以指定当前告警触发时的告警严重度;同时我们还支持动态告警严重度,根据监控指标值来动态设置告警严重度,为告警配置增加了更多的灵活性。在后文中会对动态告警严重度有详细的介绍。
告警严重度有什么用
一条告警触发之后,如果只标明了告警严重度,在收到告警时,告警上的严重度可以决定我们对这条告警的处理方式,比如一条严重度为报告或者低的告警,直接忽略即可,但是对于严重级别的告警,我们就不能忽略了;同时,在SLS新版告警中还支持在行动策略中按照不同的严重度设置不同的处理方式,比如严重度为中的发送邮箱,严重度为高的发短信,严重度为严重的发送语音电话;或者根据不同的严重度发送给不同的组,严重度中的发给值班组,严重度为高发送给运维组。告警的严重度的作用主要体现在对告警的处理和降噪上,在SLS的告警策略和行动策略中,都支持根据告警严重度来设置,比如当严重的告警的产生时,可以抑制严重度为低的告警,可以参考告警抑制策略。
在SLS告警监控中配置告警严重度
静态告警严重度
首先来看下静态严重度,静态严重度是指在告警监控规则中直接选择告警严重度,如果被监控的指标满足触发条件,就会触发告警,该告警在触发时,会携带一个告警严重度的告警属性,这条告警的严重度即为设置的严重度;这种情况一般对确定性的监控目标来设定。
下面以一个15分钟内Nginx日志的500错误次数为监控目标,来举例说明告警严重度的设置。比
如在15分钟内出现500错误的次数超过了10次,就触发告警,这条告警的严重度设置为中,也就是错误次数达到11次或者80次,产生的告警严重度都是中,告警监控规则中配置的即为告警触发时的严重度。
动态告警严重度
SLS新版告警的告警监控规则支持通过监控指标的值的范围来设置动态严重度。动态告警严重度时指在配置监控规则时,我们可以根据监控指标的值的不同范围,来指定不同的严重度,比如监控目标是CPU使用率,超过70%就告警,但是如果CPU使用率在80%以下,告警严重度为中;CPU使用率在90%以下严重度为高,在90%以上严重度为严重。
下图展示了某监控指标的值在不同的区间时,产生的告警可以设置为不同的严重度,不同的颜色框标记不同的严重度,比如取值区间在0-20之间严重度为中(绿色显示),20-40之间严重度为高(黄色显示),40-60之间严重度是严重(红色显示)。
接下来以Nginx日志为例,监控某站点的500错误环比昨天同时期,有没有增高,如果有增高5%发出告警,同比超过100%时为严重,超过50%为高,其他超过10%时告警为中。
?
你
查询统计:
5g0lselectcoalescediff[2],
host:www.abc.comandstatus
(selectcompare(cnt,6400)asdifffrom
m(select
asratiofrom
fromlog))
count1ascnt
每5分钟检测站点的500错误环比昨日增加多少
分组评估:
5分钟
不分组
超过5%就触发告警
触发条件:
有数据匹配
0.05
ratio
超过100%为严重
严重度:
告警严重度:
严重(Critical-...
有数据匹配
ratio>1
当:
O
超过50%为高
高(High-8)
严重度:
有数据匹配
O
ratio>-0.5
其他为中
默认严重度
中(Medium-6)
多条件判断顺序自上而下
设置动态告警严重度时,可以设置多个不同的“当...时严重度为...”,如上图所示,在设置时需要把条件更严格的放在上面,条件更宽松的放在下面;比如ratio >= 1 比 ratio >= 0.5的条件为严格,所以ratio >= 1 需要放在上面,当且仅当上面的条件不满足时,才会评估下面的条件,如果先判断ratio >= 1 是否满足,如果不满足,会判断 ratio >= 0.5,如果还不满足,就会走到默认严重度。
默认严重度不可省略
在设置动态严重度时,默认严重度不可省略,默认严重度是一个托底行为,上面的所有条件都不满足时,会匹配到默认严重度。
与触发条件的关系
告警严重度中的条件设置与触发条件中的评估表达式语法类似,告警严重度的判断是在触发条件判断之后。触发条件用来决定告警是否触发,只有在触发后,触发产生一条告警,告警的严重度才有意义,一般情况下,动态告警严重度的条件需要比触发条件设置的严格一些,比如上述例子中触发条件是ratio > 0.05,动态严重度的设置条件可以设置为ratio >= 0.5和ratio >= 1
告警严重度在分组评估中的使用
在SLS新版告警监控中,有一个分组评估的设置,允许用户对监控目标进行分组评估,告警严重度的判断也是在分组之后进行的,会对每组产生的告警进行严重度评估。
比如可以同时监控不同ECS产生的监控数据,在配置对这些ECS的时序监控时,只需要分组条件设置为标签自动,触发条件设置为 value > 80%时,如下图,host2,host3,host4会分别产生一条告警信息。
产生的告警如下
同理,动态告警严重度也会根据每组中的指标值,来判断不同的严重度,比如我们在设置value > 95时告警严重度为严重,value > 90 时严重度为高;
则在上述例子中host3, host4产生的告警2和告警3为严重,host2产生的告警1严重度为高。
至此,在SLS新版中告警的严重度介绍就完毕了,其中主要涉及静态告警严重度和动态告警严重度的设置,动态告警严重度的设置使得监控配置更加的灵活。
参考
进一步参考
- SLS(日志服务)云原生观测分析平台:https://www.aliyun.com/product/sls
- SLS新版告警文档首页:https://help.aliyun.com/document_detail/207609.html
- 欢迎扫群加入阿里云-日志服务(SLS)技术交流(集团同学请直接搜索群号11702236加入), 获得第一手资料与支持
- 后续系列直播与培训视频会同步到B站,敬请留意
最后,如果您还想了解更多智能运维前沿资讯,欢迎您报名参加【数智创新行·智能运维专场】。
6月25日|上海·西岸国际人工智能中心
数智创新行上海站·智能运维专场
阿里云将带来云原生智能运维解决方案,满足海量事件有效感知、高效响应,可观测数据统一分析、故障定位,以及基于AI的异常检测等需求,助力企业构建自己的运维平台,成为开发、运维人员高效可靠的助手。
扫描海报二维码或点击下方链接报名, 期待您一起开启智能运维新时代!
https://www.aliyun.com/page-source//developer/special/osssalon