在LogStore中存在很多時序資料,Log Service支援通過時序SPL指令和SPL函數處理LogStore中的時序資料。
什麼是Series
Series是由時間維度序列和指標維度序列組成的二維資料結構,適用於表達隨時間變化的觀測值集合。和Series相對應的是Table資料。
與Table模型的對比
對比維度 | Table模型 | Series模型 |
資料群組織方式 | 離散時間點記錄(行式儲存) | 連續時間序列(列式儲存) |
查詢模式 | 基於離散點的彙總計算 | 支援滑動視窗等時序運算 |
儲存效率 | 適合低頻離散事件 | 最佳化高頻連續指標儲存 |
樣本
以Nginx訪問日誌分析為例,計算URI維度分鐘級平均回應時間。
Table模型
*
| extend ts = to_unixtime(date_trunc('hour',date_parse(time_local, '%d/%b/%Y:%H:%i:%s')))
| stats avg_latency = avg(cast(upstream_response_time as double)) by ts,request_uri離散時間點彙總結果樣本:

Series模型實現
*
| stats avg_latency=avg(cast(upstream_response_time as double)) by time_local, request_uri
| make-series avg_latency default = 'last'
on time_local
from 'sls_begin_time' to 'sls_end_time'
step '1m'
by request_uri連續時間序列可視化樣本:

SPL指令
SPL指令用於將Table資料轉換為Series資料。
指令名稱 | 說明 |
將Table資料構建成Series資料。 | |
將SPL查詢結果渲染為圖表以實現可視化。 |
SPL函數
通過make-series處理資料得到serie後,可調用SPL函數進行可視化。
函數名稱 | 說明 |
時間轉換函式:將秒級時間戳記轉為納秒級,適用於高精度情境。 | |
時間序列預測函數:基於歷史資料預測未來趨勢,適用於監控、分析和規劃。 | |
異常檢測函數:基於機器學習演算法,識別時間序列中的異常點或異常模式,適用於監控、警示和資料分析等情境。 | |
時間序列分解與異常檢測函數:基於時間序列分解演算法,將未經處理資料拆分為趨勢、季節性和殘差分量,並通過統計方法分析殘差分量以識別異常點,適用於即時監控、根因分析及資料品質檢測等情境。 | |
用於時間序列分析的下鑽函數,允許在時間分組統計的基礎上,進一步對特定時間段內的資料進行細粒度分析。 | |
支援對多條時間序列(或向量資料)進行快速分組分析,識別相似形態的指標曲線、檢測異常模式或歸類資料模式。 | |
一種用於時間序列分析的函數。該函數從多個維度對時間序列進行分析並返回結果,具體包括:資料是否連續、資料缺失情況、序列是否穩定、序列是否具有周期性及周期長度、以及序列是否存在顯著趨勢。 | |
用於計算兩個對象之間的相似性。具體功能包括: 1. 如果兩個對象均為單個向量,返回兩序列的相似性。 2. 如果一個對象是向量組,另一個是單個向量,返迴向量組中每個向量與該單個向量的相似性。 3. 如果兩個對象均為向量組,返回兩組向量之間兩兩相似性的矩陣。 |