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控制臺中流量防護規則配置是否正確以及是否發生限流。