Log Service支援將日誌投遞到SIEM,以確保阿里雲上的所有法規、審計與其他相關日誌能夠匯入到您的安全營運中心(SOC)中。
名詞解釋
SIEM:安全資訊與事件管理系統(Security Information and Event Management),如Splunk,IBM QRadar等。
Splunk HEC:Splunk的HTTP事件接收器(Splunk HTTP Event Collector),一個 HTTP或HTTPS介面,用於接收日誌。
部署建議
系統參數:Linux(如Ubuntu x64)作業系統。
硬體參數:
2.0+ GHz X 8核。
16 GB記憶體,推薦32GB。
1 Gbps網卡。
至少2 GB可用磁碟空間,建議10 GB以上。
網路參數:
從組織內的環境到阿里雲的頻寬應該大於資料在阿里雲端產生的速度,否則日誌無法即時消費。假設資料產生速度均勻,峰值為平時的2倍左右,每天產生1 TB原始日誌。資料轉送為5倍壓縮的情境下,推薦頻寬應該在4 MB/s(32 Mbps)左右。
Python語言:我們用Python語言進行消費。Java 語言用法,請參考通過消費組消費日誌。
Python SDK
推薦使用標準CPython解譯器。
Log Service的Python SDK可以使用python3 -m pip install aliyun-log-python-sdk -U命令進行安裝。
更多Log ServicePython SDK的使用,請參見User Guide。
協同消費庫
協同消費庫(Consumer Library)是Log Service中對日誌進行消費的進階模式,提供了消費組的概念對消費端進行抽象和管理,和直接使用SDK進行資料讀取的區別在於,使用者無需關心Log Service的實現細節,只需要專註於商務邏輯,另外,消費者之間的負載平衡、failover 等使用者也都無需關心。
在Log Service中,一個日誌庫(LogStore)下面會有多個分區(Shard),協同消費庫將 shard 分配給一個消費組下面的消費者,分配方式遵循以下原則:
每個shard只會分配到一個消費者。
一個消費者可以同時擁有多個shard。
新的消費者加入一個消費組,這個消費組的 shard 從屬關係會調整,以達到消費負載平衡的目的,但是上面的分配原則不會變,分配過程對使用者透明。
協同消費庫的另一個功能是儲存 checkpoint,方便程式故障恢複時能接著從斷點繼續消費,從而保證資料不會被重複消費。
Spark Streaming、Storm 以及 Flink Connector 都以 Consumer Library 作為基礎實現。
投遞方式
推薦使用Log Service消費組構建程式實現即時消費,然後通過HTTPS或者Syslog來發送日誌給SIEM。
HTTPS投遞方式請參考投遞日誌到SIEM。
Syslog投遞方式請參考通過Syslog投遞日誌到SIEM。