日志服务告警是SLS提供的一站式告警监控、降噪、事务管理、通知分派的智能运维平台,能够完美地支持开发运维、IT运维、安全运维、智能运维以及商务运维等场景下监控告警的需求。
在SLS的告警运维平台上,用户如果需要对某个数据资源(如Logstore和Metricstore)进行监控时,需要在对应Project下的数据资源上创建一个监控规则,当SLS根据监控规则检测出告警后,就会根据用户选择的告警策略和行动策略进行告警通知。
告警复制 VS 告警监控模板
随着使用SLS监控告警服务的用户越来越多,部分用户的业务数据因为一些原因(如不同区域、数据分流、按标签分类等原因)写入了不同Logstore,而这些业务数据的字段以及信息是完全一样的,对于这种数据,用户往往想要使用同样的一套监控规则来进行监控告警。SLS提供的告警复制功能可以快速地将一个监控规则复制到其他的Logstore中,如下图所示,复制以后实际上是在目标Logstore上创建了一个新的监控规则,新的监控规则与原来的监控规则配置相同,各自独立地根据频率对查询分析结果进行检查。
但是告警复制仍然存在如下限制:
- 修改某个监控规则后只会对当前应用的Logstore生效,如果所有的Logstore都需要更新监控规则,需要对所有的监控规则逐个手动进行更新,很消耗时间并且容易出错。
- 无法查看到使用了同样一套监控规则的Logstore列表,不能快速地调整监控规则应用的目标Logstore。
- 无法一键删除所有的监控规则。
基于上述问题,SLS推出了自定义告警监控模板的功能。
自定义告警监控模板的实现思路如下图所示,从图中可以明显看出与告警复制的实现有很大不同。自定义监控模板会将用户事先创建的监控规则转换成一个规则模板,用户后续可以将规则模板与目标数据资源进行关联或者消关联,这样可以快速地将一个规则应用到多个数据资源上。在后期修改监控规则时,本质上修改的也是监控规则模板,因为一次更新就可以对关联了该规则模板的所有数据资源生效,并且该监控规则模板也记录了所有关联的数据资源信息,用户可以很方便地就查看到详细的关联信息。
操作步骤
步骤1 创建一个告警监控规则
具体的步骤可以参考创建日志告警监控规则。
步骤2 转为模板并关联资源
在创建好的监控规则操作选项中选择转为模板
在转换的过程中就可以选择想要应用该规则的目标资源,也可以直接点击确定(默认会将转换后的监控规则模板应用到原Logstore上),后续再进行关联资源的操作。
步骤3 进行相关操作
成功转为模板后告警类别变为模板告警,并且后面支持的操作增加了关联资源和删除模板两个选项。
点击关联资源后的弹窗与步骤2中转为模板时的弹窗一样,用户可以在这里面进行数据资源的关联和取消关联,通过点击查看可以快速查看关联了该监控规则模板的所有数据资源。
关联了某些资源后,可以在对应Project的告警中心查看到自动创建出来的模板告警,取消了某些资源的关联后,可以在对应Project的告警中心查看到模板告警自动被删除。
点击模板告警的编辑后,会提示用户该告警监控规则的修改实际是是修改告警监控模板,也就是会对所有相关的告警监控规则起作用。
点击模板告警的删除模板后,可以删除掉关联了该监控规则模板的所有告警监控规则(以及该模板自身)。
使用限制
- 目前告警监控规则模板仅支持添加一条查询分析语句,对于一个监控规则中,有多个查询分析语句的情况,暂时不支持转化为告警监控模板。
- 由于告警监控规则模板涉及一次性对多个数据源进行规则监控,当前是RAM用户时,需要确保对所有相关联的Project、数据源有配置告警监控的权限,可以参考授予RAM用户告警操作权限。