一、背景
日誌服務SLS((https://help.aliyun.com/document_detail/48869.html) 是阿里集團自研的一站式日誌平臺,它包含數據實時採集、數據加工、智能查詢分析以及數據分發四大基礎功能,用戶無需開發就能能夠開箱即用地使用它來提升運維、運營效率,建立 DT 時代海量日誌處理能力。
日誌服務SLS支持從40+渠道採集日誌數據,涵蓋客戶端、網頁、協議、SDK、API等多種日誌採集方式(https://help.aliyun.com/document_detail/28981.html),為用戶提供了強大的數據採集能力。然而在一些測試或Demo場景下,用戶無法接入日誌數據,或者SLS提供的數據採集方式會顯得門檻過高。試想如下三種場景:
場景一:用戶想體驗SLS對OSS(阿里雲對象存儲服務)訪問日誌的查詢分析和可視化能力,但是不想開通OSS服務。
場景二:用戶想在SLS中接入主機監控日誌來體驗SLS的時序存儲與分析能力,但是真實場景的數據由於敏感性原因無法接入。
場景三:用戶想持續往SLS的日誌庫中接入Nginx訪問日誌,以用於測試SLS的數據加工功能,但是沒有真實的Nginx日誌用於持續採集。通過代碼持續模擬Nginx訪問日誌,並通過SDK的方式寫入的方式對於用戶來說較為繁瑣。
在以上三種場景下,用戶想要使用SLS的日誌查詢分析、可視化以及數據加工等功能,卻苦於無法接入測試日誌數據。因此在類似的測試或者Demo場景下,為了使用SLS的各類功能,SLS提供的數據採集方式已不是接入數據的最佳選擇,而SLS數據實驗室和SLS數據模擬器將助力用戶更簡單、快速地接入貼近真實場景模擬數據。
二、SLS數據實驗室
“SLS數據實驗室”是SLS應用中心中的一款應用(APP),為用戶提供各種場景的模擬日誌數據及各種公共數據集數據,便於用戶體驗和熟悉日誌服務的查詢分析、可視化報表等各種操作。
1、使用SLS數據實驗室
用戶進入日誌服務控制檯後,在“日誌應用”區域單擊“數據實驗室”進入應用。初次使用數據實驗室的用戶需要根據提示完成雲資源訪問授權。
數據實驗室目前提供兩種場景:模擬數據和數據集。
1.模擬數據:根據模擬配置生成的數據。用戶可以根據需求修改部分字段值及時間範圍等配置,數據實驗室會根據用戶的配置產生數據。目前提供網站訪問日誌、數據庫審計日誌和主機監控日誌三種場景。
2.數據集:來自於各種場景的真實日誌數據,目前提供新冠疫情數據集場景。
以網站訪問日誌為例,在數據實驗室首頁點擊網站訪問日誌的初始化功能按鈕,進入數據模擬任務的配置界面。配置界面包含兩部分內容:範圍頻率配置與日誌字段配置。
在範圍頻率配置的標籤頁中可配置如下內容:
配置項 | 說明 |
---|---|
時間範圍 | 指定模擬數據生成的起始時間與結束時間。如果不指定結束時間,會持續生成模擬數據。 |
分佈模型 | 生成模擬數據的數據量分佈模型,包括隨機、週期與線性,用戶可以自定義分佈模型的相關參數。以週期分佈為例,用戶可以自定義變化週期、最小值、最大值和抖動值。 - 變化週期:數據量分佈變化週期,支持秒、分鐘、小時、天和周。 - 最小值:每秒最小數據量。 - 最大值:每秒最大數據量。 - 抖動值:例如設置抖動為0.1,模型數據量為count,則最終的數據量在[0.9count, 1.1count]之間隨機。 |
異常點 | 在分佈模型中所確定的數據量的基礎上,隨機選擇某些時間點,在這些時間點上,數據量會出現異常變化,用戶可以指定出現異常點的概率和異常點數據量變化的倍率。用戶可以配置多個異常選項。 |
在日誌字段配置的標籤頁中定義了字段名稱、字段數據類型、字段隨機參數和字段值等信息,用戶可以根據需求,調整字段隨機參數和字段值。
在配置完範圍頻率與日誌字段後,點擊開始導入按鈕,數據實驗室自動完成創建項目和Logstore、創建模擬任務、創建數據場景與生成模擬數據等任務,整個過程需要一分鐘左右的時間。
在模擬數據導入完成後,用戶點擊開始使用便可開始使用數據實驗室了。在數據實驗室首頁的“網站訪問日誌”區域,用戶可以執行:
1.查詢日誌:對生成的模擬數據進行查詢與分析
2.查看報表:查看該模擬場景的內置報表
3.數據配置:修改模擬任務的配置,並根據新的配置重新導入模擬數據。
4.刪除場景:刪除當前模擬場景。
2、使用限制
目前數據實驗室提供的網站訪問日誌、數據庫審計日誌、主機監控日誌與新冠疫情數據集這四個場景,均免費使用。需要注意的是,數據實驗室主要是便於用戶體驗和熟悉日誌服務的查詢分析與可視化的相關操作,因此在數據實驗室中Logstore僅用於存儲模擬數據,數據保留7天,shard數量為1,用戶無法進行數據寫入、編輯索引等操作。
三、SLS數據模擬器
SLS數據實驗室提供了三種模擬數據場景和一個數據集場景,以便於用戶體驗日誌服務的查詢分析與可視化的相關操作。數據實驗室用於存儲模擬數據的項目和日誌庫(Logstore)由實驗室自動創建,數據僅保留7天,shard數量為1,並且該Logstore僅用於存儲模擬數據,用戶無法進行數據寫入、編輯索引等操作。因此如果用戶想要在自建的Logstore中導入模擬數據,並基於此使用SLS的全鏈路功能時(數據採集、數據加工、智能查詢分析、數據消費等),數據實驗室便無法滿足需求。
1、使用SLS數據模擬器
SLS數據模擬器是SLS提供的一個專用於接入模擬數據的數據接入方式,用戶可以利用數據模擬器在自己的Logstore中生成並接入模擬數據。用戶可以通過兩種方式使用數據模擬器。第一種方式是在日誌服務控制檯首頁的接入數據功能區中,選擇模擬數據類的接入方式。
可通過點擊查看更多數據源查看所有支持的模擬數據場景。
第二種方式是進入項目(Project)後,在Logstore的功能菜單上,點擊數據接入->模擬接入側邊的“+”按鈕,隨後會彈出模擬接入的窗口。
目前SLS數據模擬器支持21種不同的數據模擬場景,包含各類阿里云云產品日誌(SLB七層日誌、OSS訪問日誌等)、自建開源/商業軟件日誌(Nginx訪問日誌、Kubernetes-Ingress日誌等)以及Metric日誌(主機監控日誌等)。
以SLB七層日誌為例,在日誌服務控制檯首頁接入數據功能區中,選擇模擬數據類的接入方式後,找到SLB七層日誌,並點擊模擬。
隨後根據提示選擇相應的項目和日誌庫(Logstore),用於存儲生成的模擬數據。如果沒有現成的項目和日誌庫,用戶也可以在這一步創建相應的項目和Logstore。如果是在項目內部的Logstore功能菜單上點擊的模擬接入,則會自動跳過此步驟。
注1: 如果點擊正常接入,則會引導用戶使用SLS提供的數據採集或接入方式,接入對應場景的真實數據,而非模擬場景。
注2: 目前數據模擬器暫時只支持成都區域(後續會逐步開放所有區域支持),因此用戶只能選擇或創建成都區域的項目和Logstore。
選擇完存儲模擬數據的項目和Logstore後,點擊下一步,進入模擬任務的配置界面。本步驟與數據實驗室中的模擬任務配置完全相同,允許用戶配置模擬任務的範圍頻率與日誌字段的相關信息,詳情可參考數據實驗室中相關配置步驟的介紹。
配置完範圍頻率與日誌字段的信息後,點擊開始導入,便會在Logstore中建立數據模擬任務並生成模擬數據(相應的日誌索引也會自動創建),此過程大約需要一分鐘左右的時間。
**
**
上述過程完成後,點擊開始使用,便可在Logstore中查詢到對應的模擬日誌數據。
2、模擬數據的查詢分析與可視化
除了在Logstore中生成模擬數據之外,每個模擬數據的場景還提供了一個或多個內置的可視化報表。以SLB七層日誌為例,該模擬場景提供了SLB訪問日誌和SLB操作日誌兩個可視化儀表盤。在模擬數據導入進Logstore後,會自動創建這兩個儀表盤,來可視化地展示模擬日誌的分析與統計情況。
除了使用內置儀表盤之外,用戶也可自定義地對模擬日誌進行查詢分析並創建對應的可視化圖表與儀表盤。
3、模擬數據的其他使用場景
除了對模擬日誌進行查詢分析與可視化外,用戶還可以在自己的Logstore中,基於生成的模擬日誌,使用SLS的全鏈路功能,如:
1.基於模擬日誌創建告警;
2.使用SLS數據加工功能對模擬日誌進行規整、富化、分發、彙總、重建索引等加工操作;
3.使用SLS數據投遞功能將模擬日誌實時投遞至OSS、MaxCompute等阿里雲產品中,對接數據倉庫;
4.使用SLS提供的日誌消費功能對模擬日誌進行實時消費,用於流計算、實時計算或對接開源生態(Flink,Blink,Spark Streaming...)等;
5....(更多功能參考日誌服務官方文檔)
4、使用限制
目前SLS數據模擬器只支持成都區域,用戶可以在成都區域的Logstore中接入模擬數據。後續會逐步開放所有區域,敬請期待。
結語
在很多測試或Demo場景下,模擬數據的接入是一個經常會遇到的痛點。SLS數據實驗室與數據模擬器為用戶提供了便捷的模擬數據接入方式,使用戶能快速、簡單地生成貼近真實場景的模擬數據到SLS日誌庫中。用戶可以基於SLS數據實驗室體驗日誌服務的查詢分析與可視化功能,也可以利用SLS數據模擬器將20+場景的模擬數據接入到自己的Logstore中,進而使用SLS的全鏈路功能(查詢分析、可視化、告警、數據加工...)。更進一步地,用戶還可以使用SLS數據投遞功能將模擬數據輸出到其他數據倉庫中,抑或是使用SLS日誌消費功能,將模擬數據用於流計算、實時計算等,對接開源生態。
最後預告一下,SLS數據模擬器將在未來提供更豐富完整的模擬場景支持,也將開放用戶自定義模擬數據場景,敬請期待!