基于SLS的流量防护告警

通过将日志采集到SLS中,可以对日志进行实时统计分析,并根据实际需求自定义告警规则。当系统日志流量超过预设阈值时,将自动通过多种渠道发送告警通知给运维人员,以实现对突发流量、异常流量等情况的快速响应,从而保障应用程序的稳定性和安全性。本文介绍在完成日志采集后,如何配置基于SLS的流量防护告警。

前提条件

  • 开通日志服务SLS,完成Logstore设置与数据接入。具体操作,请参见开通日志服务

  • 使用MSE微服务治理流量防护功能,且配置了流量防护规则。具体操作,请参见流量防护

  • 将流量防护事件采集到了SLS。具体操作,请参见MSE流量防护事件上报至SLS

操作步骤

以下步骤只展示需要关注的配置项,具体操作,请参见设置日志告警

  1. 登录日志服务控制台

  2. 选择在MSE流量防护事件上报至SLS中创建或使用的Project。

  3. 单击左侧导航栏的日志存储.png图标,进入日志存储页面。

  4. 单击需要配置告警规则的Logstore,然后单击右上角的告警.png图标。

    另存为告警.png

  5. 添加告警规则查询语句。

    1. 告警监控规则面板,单击查询统计右侧的查询统计.png图标,并在查询文本框中添加如下告警规则查询语句。

      * | select resource,expType,ruleId,blockNum,time,appName,namespace
    2. 选择输出目标SLS通知并打开开启开关。选择告警策略极简模式,设置相应的告警策略。

      创建完成的规则可以在告警中心查看。

  6. 设置告警触发后展示的内容。

    1. 单击左侧导航栏的告警.png图标,进入告警中心

    2. 单击通知策略页签,然后单击内容模板页签。

    3. 内容模板页签,单击创建。在添加内容模板对话框中,设置标识符、名称和发送内容。内容模板的示例如下。

      • 只展示第一个触发的事件详情。

        - 告警名称:{{ alert.alert_name }}
        - 告警严重度:{{ alert.severity }}
        - 触发条件:{{ alert.condition }}
        - 所属环境:{{ alert.annotations.namespace }}
        - 所属应用:{{ alert.annotations.appName }}
        - 接口: {{ alert.annotations.resource }}
        - 类型:{{ alert.annotations.expType }}
        - 命中规则:{{ alert.annotations.ruleId }}
        - 限流QPS:{{alert.annotations.blockNum}}
        - 命中时间:{{ alert.annotations.time }}
        
        - 详情: [[查看详情]({{ alert.query_url }})]
      • 展示所有触发的事件详情。

        - 告警名称:{{ alert.alert_name }}
        - 告警严重度:{{ alert.severity }}
        - 触发条件:{{ alert.condition }}
        
        {%- for result in alert.fire_results %}
        - 应用:{{ result.appName }}
        - 接口:{{ result.resource }}
        - 类型:{{ result.expType }}
        - 命中规则:{{ result.ruleId }}
        - 限流QPS:{{result.blockNum}}
        - 命中时间:{{ result.time }}
        {%- endfor %}
        - 详情: [[查看详情]({{ alert.query_url }})]

告警验证

在触发告警规则后,短信接收到限流触发后的告警内容及告警恢复的内容如下。

日志告警.jpg

其他接收方式或模板格式请按需求自定义设置。

相关文档