MSE流量防护功能能够检测到异常流量或攻击行为,并将这些事件上报至日志服务 SLS(Simple Log Service)。SLS是一个集日志收集、存储、分析于一体的服务,能够实时地对大量数据进行索引和查询。通过将流量防护事件上报至SLS,您可以方便地监控和分析这些事件,为您的网络安全提供及时的响应和保护。本文介绍如何将MSE微服务治理流量防护的触发事件上报至SLS,其中流量防护触发事件由sentinel-block.log采集。
前提条件
使用MSE微服务治理流量防护功能,且配置了流量防护规则。具体操作,请参见流量防护。
开启日志采集组件
如果在创建ACK集群时已经开启了日志服务,可以跳过该步骤,否则可以按照以下步骤开启日志采集组件。具体操作,请参见创建集群时安装Logtail。
此操作仅适用于专有版Kubernetes和托管版Kubernetes。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在日志与监控页签,找到logtail-ds,然后单击安装。
接入数据
设置SLS接入的数据来源。采集Sentinel日志记录并按解析格式上报至SLS。采集文件格式,请参见数据来源与解析格式。
登录日志服务控制台。
在控制台页面单击快速接入数据,在弹窗接入数据区域的搜索框中输入Kubernetes,然后单击Kubernetes-文件。
在选择日志空间步骤,选择项目Project和日志库Logstore,然后单击下一步。
其中Project选择创建的名为k8s-log-{your_k8s_cluster_id}的Project,也可以选择其他Project。日志库Logstore可以选择已有的或者新建,具体操作,请参见创建Logstore。
在机器组配置步骤,选中目标机器组(k8s-group-${your_k8s_cluster_id}),将该机器组从源机器组移动到应用机器组,单击下一步。
如果选择了其他Project,可以按照页面提示创建机器组。
在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+)
在查询分析配置步骤,等待预览数据右侧的自动刷新完成。添加并修改部分索引字段,然后单击下一步。
字段名称
类型
别名
__tag__:_namespace_
text
namespace
__tag__:container_name_
text
appName
ruleId
long
无需填写
resource
text
time
text
expType
text
blockNum
double
单击查询日志返回Project。
监控上报验证
登录日志服务控制台。
在对应Project可以看到监控指标已经上报至SLS新建的Logstore中。
常见问题
SLS控制台未显示相关日志
您可以登录容器服务管理控制台,单击对应的集群。在集群信息页面,单击通过CloudShell管理集群。输入如下命令进行验证。
cd ~/logs/csp/ # 替换为对应的日志路径
tail -n 10 sentinel-block.log
预期结果如下,表明已产生限流日志。如果没有产生对应日志,请检查前提条件是否配置正确,重点关注MSE控制台中流量防护规则配置是否正确以及是否发生限流。