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

背景信息

本实践提供了13个日志图表和告警配置范例供您参考,分别是4XX比例(忽略拦截数据)、5XX比例异常告警、QPS异常告警、QPS突增告警、QPS突降告警、5分钟内ACL拦截情况告警、5分钟内WAF拦截情况告警、5分钟内CC拦截情况告警、5分钟内防扫描拦截情况、5分钟内单IP攻击量预警、5分钟内单IP攻击域名数量告警、5分钟平均时延情况、UID维度流量突降告警场景。

前提条件

操作步骤

  1. 登录Web应用防火墙控制台,在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。
  2. 进入日志服务高级管理页面。
    1. 在左侧导航栏,单击安全运营 > 日志服务
    2. 日志服务页面右上角,单击高级管理
    3. 在弹出的对话框中,单击确定
  3. 创建WAF日志分析仪表盘。
    1. Project列表中,定位到要操作的WAF日志项目,单击Project名称。
    2. 输入查询语句,并单击查询/分析
      说明 关于围绕监控指标进行查询/分析时用到的SQL查询语句,请参见查询与分析语句
    3. 查询结束后,单击日志字段下的仪表盘图标,在统计图表页签,单击添加到仪表盘
    4. 添加到仪表盘对话框,完成以下配置,并单击确定
      配置项 说明
      操作类型 选择新建仪表盘
      布局模式 选择仪表盘的布局模式。
      仪表盘名称 设置仪表盘名称。
  4. 配置日志图表。
    1. 单击仪表盘右上角的编辑
    2. 在仪表盘编辑模式下,根据需要编辑、删除当前仪表盘中已有图表或通过复制添加新的图表。
      说明 您可以先通过复制添加图表,然后再编辑图表的配置。通过该方式在仪表盘里添加多个图表,实现多样化的数据展示以及告警配置。
      • 通过复制添加新的图表
        1. 定位到要复制的图表,将光标悬置在图表右上角的选项图标(操作选项)上,并单击复制

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

        2. 用光标拖动复制生成的图表到仪表盘上的合适位置。
      • 编辑已有图表
        1. 定位到要编辑的图表,将光标悬置在图表右上角的选项图标(操作选项)上,并单击编辑
        2. 编辑页面,根据需要修改当前图表的配置,例如图表名称、SQL查询语句、相对统计时间、图表类型等,并单击确定
          说明 如果您修改了SQL查询语句,则必须单击预览,由系统自动检查语句的正确性后才可以单击确定。如果SQL查询语句有问题,您会收到报错信息,这时确定按钮不可操作。只有将SQL查询语句修改正确后,您才可以单击确定
      • 删除已有图表

        定位到要删除的图表,将光标悬置在图表右上角的选项图标(操作选项)上,并单击删除

  5. 配置日志告警。
    1. 在仪表盘右上角,选择告警列表 > 新建
    2. 创建告警页面,完成以下告警配置,并单击下一步
      配置项 说明
      告警名称 告警的名称。名称长度为1~64个字符。
      关联图表 设置告警中关联的图表。

      设置关联图表时,查询区间为服务端每次执行查询时,读取的数据时间范围,支持相对时间与整点时间。例如,执行时间点为14:30:06,设置查询区间为15分钟(相对),则查询区间为 14:15:06- 14:30:06;设置查询区间为15分钟(整点时间),则查询区间为:14:15:00- 14:30:00。

      需要添加多个图表时,只需单击添加并设置即可。最多支持关联三个图表。图表名称前的编号为该图表在告警中的编号,您可以在触发条件中通过编号指定关联的图表。

      频率 服务端每次执行告警检查的时间。
      说明 目前服务端只返回检查结果中的前100条数据。
      触发条件 判断告警是否触发的条件表达式,满足该条件时会根据执行间隔通知间隔发送告警通知。

      图表默认从0开始编号,在触发条件里用$0表示第一个图表。例如,您可以设置$0.domainnum>=10,表示第一个图表中domainnum字段值大于等于10时触发告警。

      多个条件之间使用&&连接,表示逻辑与的关系,即必须同时满足;使用||连接,表示逻辑或的关系,即满足其中一个即可。

      说明 更多告警条件表达式语法请参见告警条件表达式语法
      高级选项
      触发通知阈值 累计触发次数达到该阈值时根据通知间隔发送告警。不满足触发条件时不计入统计。默认触发通知阈值为1,即满足一次触发条件即可检查通知间隔

      通过配置触发通知阈值可以实现多次触发、一次通知。例如,配置触发通知阈值为100,则累计触发次数达到100次时检查通知间隔。如果同时满足触发通知阈值通知间隔,则发送通知。发送通知之后,累计次数会清零。如果因网络异常等原因执行检查失败,不计入累计次数。

      说明 关于在告警配置中用到的监控指标以及监控指标的阈值设置建议,请参见常用监控指标
      通知间隔 两次告警通知之间的时间间隔。

      如果某次执行满足了触发条件,而且累计的触发次数已经达到触发通知阈值,且距离上次发送通知已经达到了通知间隔,则发送通知。如设置通知间隔为5分钟,则5分钟内至多收到一次通知。默认无间隔。

      说明 通过配置触发通知阈值和通知间隔可以实现告警抑制的功能,防止收到过多的告警信息。
      说明 触发通知阈值通知间隔、检查频率三个条件配合使用,表示日志系统按照设置的检查频率去检查触发条件是否满足,并在通知间隔内达到触发通知阈值次数时推送告警信息。
    3. 创建告警页面,完成通知设置,并单击提交
      日志服务支持多种常用的告警通知方式,例如短信语音邮件WebHook+钉钉机器人等。您必须先在通知列表右侧选择要使用的通知方式,然后完成具体配置。支持选择并配置多种通知方式。
      • 短信告警

        设置接收告警的手机号码发送内容。发送内容中可以指定告警字段。单击查看全部变量了解各字段的含义。

      • 语音告警

        设置接收告警的手机号码发送内容

      • 邮件告警

        设置接收告警的收件人邮箱地址、告警邮件的主题发送内容

      • WebHook+钉钉机器人

        设置接收告警的钉钉群机器人的webhook地址(请求地址)和发送内容