本文介紹在CloudLens for SLS中自訂分析Simple Log Service資源用量的常用情境。
背景資訊
CloudLens for SLS推出賬單資料(免費),用於監控計費用量。賬單資料來源於費用中心,Simple Log Service使用賬單拉取加工任務將資料拉取到Table Store中進行儲存(賬單資料所使用的Table Store執行個體免費),並通過Simple Log Service外部資料關聯能力,提供賬單資料的查詢分析能力。
基於賬單資料,CloudLens for SLS提供了資源用量監控報表,協助您分析Simple Log Service計費項目用量,即時監控用量情況。另外,您還可以使用賬單資料,實現Simple Log Service資源使用者的自訂SQL分析、警示等功能。
功能入口
- 登入Log Service控制台。
在日誌應用地區的雲產品Lens頁簽中,單擊CloudLens for SLS。
更多資訊,請參見CloudLens for SLS。
賬單資料介紹
Log Service賬單資料包含每一個Simple Log Service執行個體在不同計費項目產生的使用量。在自訂分析前,您需要瞭解Simple Log Service賬單資料中的執行個體、計費項目等基本概念。
基本概念 | 欄位 | 說明 |
執行個體 | InstanceID | Simple Log Service的最小粒度資源,對應Simple Log ServiceLogstore。 |
計費項目 | BillingItem | Simple Log Service的收費項,例如儲存空間-日誌熱儲存、索引流量-日誌索引等。 |
執行個體
Simple Log Service執行個體是Simple Log Service的最小粒度資源(Logstore),組成結構為${aliUid};${Project};${Logstore};${Region},詳細說明如下表所示。
變數 | 說明 |
| 阿里雲帳號ID。 |
| Simple Log Service的資源嵌入式管理單元,是進行多使用者隔離與存取控制的主要邊界。更多資訊,請參見專案(Project)。 |
| Simple Log Service中日誌資料的採集、儲存和查詢單元。更多資訊,請參見日誌庫(Logstore)。 |
| Simple Log Service資料中心所在的物理位置。您可以在建立Project時指定地區,一旦指定之後就不允許更改。更多資訊,請參見開服地區。 |
計費項目
Simple Log Service計費項目是Simple Log Service提供能力的收費項。在Simple Log Service中所有計費項目都是單獨計費的,例如您儲存日誌會產生日誌儲存費用,您採集日誌會產生寫流量費用等。計費項目說明,請參見按使用功能計費模式計費項目。
在賬單資料中,BillingItem欄位代表計費項目。Simple Log Service的計費項目組成,請參見計費組成。
SLS用量分析典型情境
在賬單資料的基礎上,您可以自訂分析賬單,以實現即時監控資源用量的能力。
用量趨勢與執行個體用量明細監控
您可以監控用量趨勢與執行個體用量明細,從而處理賬單資料異常突變情況。
用量趨勢監控
您可以使用date_trunc函數實現不同時間粒紋的用量趨勢統計分析。
查詢與分析語句
其中BillingItem為計費項目,Usage為用量。
* | select date_trunc('day', __time__) as "日期", BillingItem, round(sum(Usage), 3) as "用量" FROM instance_bill where productcode = 'sls' group by "日期", BillingItem order by "日期"查詢與分析結果:您可以使用流圖(Pro版本)直觀地展示查詢與分析結果。其中,設定x軸欄位為日期,y軸欄位為用量,彙總列為BillingItem。

執行個體用量明細監控
對用量明細進行統計分析時,往往需要精細到某個執行個體的費用以及用量,以SLS執行個體為例,您可以組合費用、用量和儲存量的分析語句。其中:
t1為計費項目用量統計,統計每個執行個體的各計費項目的用量資訊。
t2為執行個體費用統計,統計每個執行個體的應付費用、同比上月的佔比,其中PretaxAmount為應付費用。
t3為儲存量總量統計,儲存量以天為單位,儲存量的用量資訊只統計截止到您所選時間範圍最後一日的總量。
查詢與分析語句
* | with t1 as ( select InstanceID, BillingItem, sum(Usage) as Usage FROM instance_bill where ProductCode = 'sls' and BillingItem not like '%儲存空間%' and BillingItem not like '%Storage%' group by InstanceID, BillingItem ), t2 as ( select InstanceID, round(di [1], 3) as "費用", concat( cast(round(di [3] * 100 -100, 3) as varchar), '%' ) "同比上月" from( select InstanceID, compare(cost, 2592000) as di FROM ( select InstanceID, round(sum(PretaxAmount), 2) as cost FROM instance_bill where ProductCode = 'sls' group by InstanceID ) group by InstanceID ) ), t3 as ( select InstanceID, max_by("儲存空間", t) as "儲存空間" FROM ( select t, InstanceID, round(sum("儲存空間"), 2) as "儲存空間" from( select date_trunc('day', __time__) as t, InstanceID, case when BillingItem like '%儲存空間%' or BillingItem like '%Storage%' then Usage else 0 end as "儲存空間" FROM instance_bill WHERE ProductCode = 'sls' group by t, InstanceID, "儲存空間" ) group by t, InstanceID order by t asc ) group by InstanceID ) select t1.InstanceID as InstanceID, t1.BillingItem as BillingItem, t1.Usage as Usage, t2."費用" as "費用(元)", t2."同比上月" as "同比上月(%)", t3."儲存空間" as "儲存空間" FROM t1 left join t2 on t1.InstanceID = t2.InstanceID left join t3 on t1.InstanceID = t3.InstanceID order by "費用 (元)" desc limit 150000查詢與分析結果
您可以使用交叉表直觀地展示每個執行個體的各個計費項目明細。其中,設定分類列為BillIngItem,指標列為Usage,彙總列為InstanceID、費用(元)、同比上月(%)、儲存空間。配置完成後,您可以監控到每個執行個體的費用及用量資料。同時通過對某個計費項目進行排序,可以直觀地統計某個計費項目用量對應的Top執行個體。

實現用量趨勢與執行個體用量明細監控後,您可以清晰地觀測到資源用量情況。接下來,可以繼續對讀寫流量、儲存空間、索引用量等典型用量的變動情境進行進一步分析。
讀寫流量增長情境
您可以使用如下查詢與分析語句分析各執行個體的讀寫流量資料,然後通過統計圖表展示查詢與分析結果。
查詢與分析語句
* | select "日期", InstanceID, "用量" from( select date_trunc('day', __time__) as "日期", InstanceID, round(sum(Usage), 3) as "用量" FROM instance_bill where productcode = 'sls' and BillingItem = '讀寫流量' group by "日期", InstanceID ) group by "日期", "用量", InstanceID order by "日期" limit 10000
儲存空間用量增長情境
查詢與分析語句
* | select InstanceID, round(diffreal [1], 3) as "Usage", concat( cast( round(diffreal [1] / sum(diffreal [1]) over() * 100, 2) as varchar ), '%' ) as "用量佔比", concat( cast( coalesce(round(diffreal [5] * 100 -100), 2) as varchar ), '%' ) as "同比-1天", concat( cast( round(coalesce(diffreal [6] * 100 -100, 2)) as varchar ), '%' ) as "同比-2天", concat( cast( round(coalesce(diffreal [7] * 100 -100), 2) as varchar ), '%' ) as "同比-3天" from( select InstanceID, compare(Usage, 86400, 172800, 259200) as diffreal from( select InstanceID, sum(Usage) as Usage FROM instance_bill where ProductCode='sls' and BillingItem = '儲存空間' group by InstanceID ) group by InstanceID ) order by diffreal [1] desc limit 1000
您可以執行如下查詢與分析語句,針對instance5進一步分析儲存量上升原因。
查詢與分析語句
其中,需將
${instance5}替換為具體的執行個體。* | select date_trunc('day', __time__) as "日期", BillingItem, round(sum(Usage), 3) as "Usage" FROM instance_bill where productcode = 'sls' and InstanceID = ${instance5} group by "日期", BillingItem order by "日期"
實際使用量沒變,但用量統計為0情境
根據賬單資料排查計費方式是否為資源套件抵扣。
查詢與分析語句
分別查詢用量資料、資源套件抵扣資料量。
(*) | select InstanceID, BillingItem, Usage as "用量", DeductedByResourcePackage as "資源套件抵扣量" FROM instance_bill where productcode = 'sls'
判斷資源套件抵扣量是否為計費項目總用量。
查詢與分析語句
查詢資源套件抵扣前的原始資源用量。其中,資源套件抵扣用量為DeductedByResourcePackage,抵扣前總用量為Usage+DeductedByResourcePackage。
* | select date_trunc('day', __time__) as "日期", BillingItem, round(sum(Usage + DeductedByResourcePackage), 3) as "抵扣前總用量" FROM instance_bill where productcode = 'sls' group by "日期", BillingItem order by "日期"
配置用量警示
Simple Log Service警示是一站式的警示監控、降噪、交易管理、通知指派的智能營運平台。您可以通過使用SLS的警示功能,實現即時監控Simple Log Service用量的能力。在CloudLens for SLS中整合了異常檢測,可以快速進入警示中心。具體操作,請參見設定警示。
昨日整體用量警示
通常情況下,為了控制整體成本,您需要關注整體用量。例如使用如下查詢與分析語句查詢儲存空間用量。
查詢與分析語句
* | select round(sum(Usage), 2) as "儲存空間用量" from instance_bill where ProductCode='sls' and BillingItem='儲存空間'
單一執行個體用量警示
為了最佳化成本,您還需要關注具體執行個體的用量警示。例如使用如下查詢與分析語句查詢儲存空間用量,當單個執行個體的儲存空間用量超過10則警示。
查詢與分析語句
* | select InstanceID, "儲存空間用量" from( select InstanceID, round(sum(Usage), 2) as "儲存空間用量" FROM instance_bill where ProductCode = 'sls' and BillingItem = '儲存空間' group by InstanceID ) where "儲存空間用量" > 10
除了上述兩種警示情境外,您也可以根據實際業務需求自訂警示。具體操作,請參見快速設定日誌警示。