使用日志服务自定义WAF监控与告警

基于阿里云日志服务的告警功能,您可以为接入WAF并开启了日志服务的防护对象配置自定义监控图表和告警服务,对业务整体流量和安全状态进行监控和告警。本文介绍如何通过日志服务为WAF配置监控与告警。

前提条件

  • 已在接入管理页面完成Web业务接入。具体操作,请参见接入管理概述

  • 已开通日志服务。具体操作,请参见开启或关闭日志服务

    开启日志服务后,阿里云日志服务 SLS(Simple Log Service)将自动创建projectlogstore,并采集您指定防护对象的日志字段投递到该logstore中。因此,您可以在日志服务配置自定义WAF监控与告警。

操作步骤

  1. WAF控制台,为防护对象开启日志采集。

    1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

    2. 在左侧导航栏,选择安全运营 > 日志服务

    3. 日志服务页面上方,选择要查询日志的防护对象,开启日志采集状态开关。日志报表

      开启后,分钟级别生效。

  2. 在日志服务控制台,配置告警。

    1. 创建日志分析仪表盘。

      1. 登录日志服务控制台

      2. Project列表中,定位到要操作的WAF日志项目,单击Project名称。

      3. 输入查询语句,并单击查询/分析。具体操作,请参见步骤4

        说明

        关于对监控指标进行查询/分析时用到的SQL查询语句,请参见查询与分析语句

      4. 查询结束后,在统计图表页签,单击添加到仪表盘image.png

      5. 添加到仪表盘对话框,完成以下配置,并单击确认

        配置项

        说明

        操作类型

        选择新建仪表盘

        布局模式

        选择仪表盘布局模式。

        仪表盘名称

        为当前查询语句对应的仪表盘命名。

        成功创建仪表盘后,页面跳转到新建的仪表盘。仪表盘默认包含步骤iii使用的查询语句对应的图表,您可以根据需要在仪表盘编辑当前图表或添加更多的图表。

    2. 配置日志图表。

      1. 在日志服务控制台左侧导航栏,选择image.png > 仪表盘列表,单击目标仪表盘。

      2. 在仪表盘页面,单击编辑

      3. 在仪表盘编辑模式下,根据需要编辑、删除当前仪表盘中已有图表或通过复制添加新的图表。

        说明

        您可以先通过复制添加图表,然后再编辑图表的配置。通过该方式在仪表盘里添加多个图表,实现多样化的数据展示以及告警配置。

        • 通过复制添加新的图表

          1. 定位到要复制的图表,将光标悬置在图表右上角的操作选项图标上,单击复制

            成功复制图表后,当前图表旁边出现一个相同的图表。

          2. 用光标拖动复制生成的图表到仪表盘上的合适位置。

        • 编辑已有图表

          1. 定位到要编辑的图表,将光标悬置在图表右上角的操作图标上,单击编辑

          2. 编辑页面,根据需要修改当前图表的配置,例如图表名称、SQL查询语句、相对统计时间、图表类型等,并单击确定

            说明

            如果您修改了SQL查询语句,则必须单击预览,由系统自动检查语句的正确性后才可以单击确定。如果SQL查询语句有问题,您会收到报错信息,这时确定按钮不可操作。只有将SQL查询语句修改正确后,您才可以单击确定

        • 删除已有图表

          定位到要删除的图表,将光标悬置在图表右上角的编辑上,并单击删除

    3. 配置日志告警。

      1. 在仪表盘页面,选择告警 > 创建告警

      2. 新建告警面板中,配置如下参数,然后单击确定

        必要参数说明和配置示例如下所示:

        image

        参数

        描述

        示例

        规则名称

        配置告警监控规则名称。

        网站日志告警监控规则

        检查频率

        根据您配置的频率对查询和分析结果进行检查。

        • 每小时:每小时检查一次查询和分析结果。

        • 每天:在每天的某个固定时间点检查一次查询和分析结果。

        • 每周:在周几的某个固定时间点检查一次查询和分析结果。

        • 固定间隔:按照固定间隔检查查询和分析结果。

        • Cron:通过Cron表达式指定时间间隔,按照该指定的时间间隔检查查询和分析结果。

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

        每天,00:00

        查询统计

        单击输入框,在查询统计对话框中,设置查询和分析语句。关于查询分析的使用限制,请参见查询和分析

        • 关联报表:您可以选择监控仪表盘。

        • 高级配置:在高级配置页签下,您可以选择监控日志库、指标库和资源数据。

        配置多个查询统计时,您可以指定集合操作关联多个查询结果。更多信息,请参见设置查询统计语句

        • 0:选择网站审计中心仪表盘中的请求成功率图表。

        • 1:选择网站审计中心仪表盘中的响应时间趋势图表。

        • 集合操作配置为笛卡尔积

        分组评估

        日志服务支持对查询和分析结果进行分组。

        • 标签自定义:日志服务根据您配置的字段对查询和分析结果进行分组。分组后,每个组单独评估触发条件。在每个检查周期内,查询和分析结果满足触发条件时,各个分组各自产生一条告警。

          支持设置配置多个字段。

        • 不分组:在每个检查周期内,满足触发条件时,只产生一条告警。

        • 标签自动:当您在查询统计中选择指标库(即监控时序数据的查询和分析结果)时 ,日志服务支持标签自动分组。

          分组后,每个组单独评估触发条件。在每个检查周期内,查询和分析结果满足触发条件时,各个分组各自产生一条告警。

        不分组

        触发条件

        配置触发条件及严重度。

        • 触发条件

          • 有数据:当查询和分析结果中存在数据时,触发告警。

          • 有特定条数据:当查询和分析结果中存在N条数据时,触发告警。

          • 有数据匹配:当查询和分析结果中存在数据满足告警表达式时,触发告警。

          • 有特定条数据匹配:当查询和分析结果中存在N条数据满足告警表达式时,触发告警。

        • 严重度

          主要用于告警降噪控制和告警通知控制,即您在创建告警策略或行动策略时,可添加关于告警严重度的判断条件。更多信息,请参见设置告警严重度

          • 简单配置:直接选择告警严重度,则表示通过该规则产生的告警都为同一严重度。

          • 分条件配置:单击添加,分条件设置告警严重度。

        告警条件表达式的相关语法,请参见告警条件表达式语法

        • 有数据匹配

        • $0.success_ratio <90&&$1.平均响应时间\(s\) >60

        • 严重度:中

        说明

        当字段中存在括号()时,需使用反斜线(\)进行转义。

        添加标注

        日志服务允许您给产生的告警添加非标识性属性,键值对格式。主要用于告警降噪控制和告警通知控制,即您在创建告警策略或行动策略时,可添加关于标注的判断条件。更多信息,请参见添加标签和标注

        您还可以打开自动添加标注开关,系统自动在告警中添加__count__等信息。更多信息,请参见自动标注

        • 标题(title):监控网站请求成功率和平均响应时间

        • 描述(desc):请求成功率:${success_ratio},平均响应时间:${平均响应时间(s)}

        • 自动添加标注:打开

        连续触发阈值

        配置连续触发阈值。当累计的触发次数达到该值时,产生一条告警。不满足触发条件时不计入统计。

        1

        输出目标

        日志输入位置。请选择SLS通知。

        选择SLS通知。

        告警策略

        告警策略用于合并、静默和抑制已产生的告警。

        • 选择极简模式普通模式时,您无需配置告警策略。日志服务默认使用SLS内置动态告警策略(sls.builtin.dynamic)进行告警管理。

        • 选择高级模式时,您可以选择内置的或自定义的告警策略进行告警管理。如何创建告警策略,请参见创建告警策略

        极简模式

        行动策略

        行动策略用于控制告警通知渠道和频率等。

        • 告警策略选择为极简模式时,您只需配置行动组即可。

          您配置行动组后,日志服务自动为您创建一个名为规则名称-行动策略的行动策略。由该告警监控规则触发的所有告警都通过该行动策略发送通知。如何配置,请参见通知渠道说明

          重要

          您可以在行动策略管理页面,修改该行动策略。具体操作,请参见创建行动策略。如果您在修改行动策略时添加了判断条件,则此处的告警策略将自动变更为普通模式

        • 告警策略选择为普通模式高级模式时,您可以选择内置的或自定义的行动策略进行告警通知。如需创建行动策略,请参见创建行动策略

          其中,您选择告警策略选择为高级模式时,还可以开启或关闭自定义行动策略。更多信息,请参见动态行动策略机制

        • 渠道:短信

        • 接收人:SLS运维组

        • 内容模板:SLS内置内容模板

        • 发送时段:任意

        重复等待

        在重复等待时间内,重复的告警只会触发一次行动策略,即只发送一次告警通知。

        5分钟

      3. 在左侧导航栏,单击image.png图标,查看已创建的告警,设置告警通知对象通知策略等。具体操作,请参见1. 配置通知对象创建告警策略

        创建告警监控规则后,日志服务会根据您创建的规则监控查询和分析结果。当查询和分析结果满足触发条件时,触发告警。您可以在告警规则中心仪表盘中查看告警触发的记录。具体操作,请参见查看告警触发记录

相关文档

如果您想了解WAF日志服务提供的日志图表和告警配置范例,包括4XX比例异常告警(忽略拦截数据)、5XX比例异常告警、QPS告警、5分钟内防护规则拦截情况告警等,请参见WAF日志告警配置案例