全部产品
Search
文档中心

微服务引擎MSE:MSE流量防护事件上报至SLS

更新时间:Jun 02, 2026

MSE流量防护功能能够检测到异常流量或攻击行为,并将这些事件上报至日志服务 SLS(Simple Log Service)。SLS是一个集日志收集、存储、分析于一体的服务,能够实时地对大量数据进行索引和查询。通过将流量防护事件上报至SLS,您可以方便地监控和分析这些事件,为您的网络安全提供及时的响应和保护。本文介绍如何将MSE微服务治理流量防护的触发事件上报至SLS,其中流量防护触发事件由sentinel-block.log采集。

前提条件

开启日志采集组件

如果在创建ACK集群时已经开启了日志服务,可以跳过该步骤,否则可以按照以下步骤开启日志采集组件。具体操作,请参见创建集群时安装Logtail

说明

此操作仅适用于专有版Kubernetes和托管版Kubernetes。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理

  3. 日志与监控页签,找到logtail-ds,然后单击安装

接入数据

设置SLS接入的数据来源。采集Sentinel日志记录并按解析格式上报至SLS。采集文件格式,请参见数据来源与解析格式

  1. 登录日志服务控制台

  2. 在控制台页面单击快速接入数据,在弹窗接入数据区域的搜索框中输入Kubernetes,然后单击Kubernetes-文件

  3. 选择日志空间步骤,选择项目 Project日志库Logstore,然后单击下一步

    其中Project选择创建的名为k8s-log-{your_k8s_cluster_id}的Project,也可以选择其他Project。日志库Logstore可以选择已有的或者新建,具体操作,请参见创建基础LogStore

  4. 机器组配置步骤,选中目标机器组(k8s-group-${your_k8s_cluster_id}),将该机器组从源机器组移动到应用机器组,单击下一步

    如果选择了其他Project,可以按照页面提示创建机器组。

  5. Logtail配置步骤,设置数据来源与解析格式。配置完成后,单击下一步

    配置项

    说明

    配置名称

    输入配置名称。

    文件路径

    • /${user_home}/logs/csp/sentinel-block.log 为固定路径进行采集,其中${user_home}替换为系统的主目录,通常为root。

    • 具体路径,请参见重要日志

    日志样例

    输入如下内容进行设置。

    2024-08-28 06:53:14|1|/flow,FlowException,default,,32808,1724827994000|37,0,0

    处理模式

    处理插件组合(添加正则解析插件,关键配置参考示例,其他按需配置或保持默认)。

    正则表达式

    (\d+-\d+-\d+\s\d+:\d+:\d+)\|1\|([\s\S]*),([a-zA-Z]+),([a-zA-Z]+),([\s\S]*),(\d+),(\d+)\|(\d+),0,(\d+)

    原始字段设为 content,单击验证后可提取出 9 个字段:timeresourceexpTypelimitApporiginruleIdtimestampblockNumn。勾选解析失败时保留原始字段

  6. 查询分析配置步骤,等待预览数据右侧的自动刷新完成。添加并修改部分索引字段,然后单击下一步

    字段名称

    类型

    别名

    __tag__:_namespace_

    text

    namespace

    __tag__:container_name_

    text

    appName

    ruleId

    long

    无需填写

    resource

    text

    time

    text

    expType

    text

    blockNum

    double

  7. 单击查询日志返回Project。

监控上报验证

  1. 登录日志服务控制台

  2. 在对应Project可以看到监控指标已经上报至SLS新建的Logstore中。

    __tag__:__user_defined_id__: k8s-group-c7ebc423cebdd43c494daf02xxx
    __tag__:_cluster_id_: c7ebc423cebdd43c494daf02
    __tag__:_container_ip_: 10.7.xxx
    __tag__:_container_name_: spring-cloud-b
    __tag__:_image_name_: registry.cn-hangzhou.aliyuncs.com/mse-demo-hz/spring-cloud-b:3.0.1-fallback-test
    __tag__:_namespace_: mse-demo
    __tag__:_node_ip_: 10.7xxx
    __tag__:_node_name_: cn-hangzhou.10.7.xxx
    __tag__:_pod_name_: spring-cloud-b-54b48d6f6c-xxx
    __tag__:_pod_uid_: bcd0f5bd-3b4c-48d7-99c7-aefxxx
    blockNum: 71
    expType: FlowException
    limitApp: default
    n: 0
    origin: dubbo-provider-A
    resource: com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String)
    ruleId: 855
    time: 2023-09-15 03:46:22
    timestamp: 1694749582000

常见问题

SLS控制台未显示相关日志

您可以登录容器服务管理控制台,单击对应的集群。在集群信息页面,单击通过CloudShell管理集群。输入如下命令进行验证。

cd ~/logs/csp/ # 替换为对应的日志路径
tail -n 10 sentinel-block.log

预期结果如下,表明已产生限流日志。如果没有产生对应日志,请检查前提条件是否配置正确,重点关注MSE控制台中流量防护规则配置是否正确以及是否发生限流。

2023-09-14 08:51:04|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681464000|63,0
2023-09-14 08:51:05|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681465000|78,0
2023-09-14 08:51:06|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681466000|75,0
2023-09-14 08:51:07|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681467000|64,0
2023-09-14 08:51:08|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681468000|84,0
2023-09-14 08:51:09|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681469000|75,0
2023-09-14 08:51:10|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681470000|76,0
2023-09-14 08:51:11|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681471000|71,0
2023-09-14 08:51:12|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681472000|61,0
2023-09-14 08:51:13|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681473000|64,0
2023-09-14 08:51:14|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681474000|64,0
2023-09-14 08:51:15|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681475000|76,0
2023-09-14 08:51:16|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681476000|79,0
2023-09-14 08:51:17|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681477000|66,0
2023-09-14 08:51:18|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681478000|80,0
2023-09-14 08:51:19|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681479000|65,0
2023-09-14 08:51:20|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681480000|79,0
2023-09-14 08:51:21|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681481000|75,0
2023-09-14 08:51:22|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681482000|70,0
2023-09-14 08:51:23|1|com.alibacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681483000|77,0

相关文档

基于SLS的流量防护告警