全部產品
Search
文件中心

Simple Log Service:通過變數動態調整查詢分析語句的參數

更新時間:Oct 17, 2024

每個統計圖表實際對應一個或多個查詢分析語句,語句中的變數是用於動態調整查詢參數的預留位置,使用者可以通過設定變數對統計圖表或整個儀錶盤進行篩選,而無需修改查詢分析語句。另外,變數可以和互動事件配合使用,例如單擊儀錶盤後跳轉到Logstore,以替換變數後的查詢分析語句查詢日誌。

使用情境

變數的文法為${{變數名|預設值}},例如對於欄位名method有多個欄位值PUTPOSTGETDELETE,則變數為${{method|PUT}}。變數可以單獨使用,也可以和互動事件配合使用。

預留位置變數

對儀錶盤或統計圖表進行篩選

image

將查詢分析語句中的欄位設定為變數後,可以對整個儀錶盤或單個統計圖表進行篩選,無需修改查詢分析語句。例如,上圖只查看要求方法為POST的資料。

和互動事件配合使用

image

image

為請求狀態的統計圖表設定互動事件為開啟日誌庫後,單擊儀錶盤上的欄位值200,會自動跳轉到Logstore查詢狀態值為200的日誌。

配置樣本

篩選整個儀錶盤

如果儀錶盤中已有添加了變數的統計圖表,則添加變數類型的過濾器後,自動將統計圖表的查詢和分析語句中的變數替換為您選擇的變數值。對整個儀錶盤已設定該變數的統計圖表都生效。

  • 添加變數類型的過濾器:將Nginx訪問日誌採集到Log Service後,您可以通過查詢和分析語句查看每分鐘的訪問PV。例如您想查看每10秒、60秒或600秒的訪問PV,則可以添加變數類型的過濾器,避免多次修改查詢和分析語句進行查詢。

篩選單個統計圖表

通用配置中設定了變數替換後,Log Service將在當前統計圖表的左上方添加一個過濾器。您可以在過濾器中選擇對應的值,Log Service會自動將查詢和分析語句中的變數替換為您所選擇的變數值,執行一次查詢和分析操作。

  1. 在如下查詢分析語句中,將60設定為變數,格式為${{date | 60}}

    * | select __time__ - __time__ % 60 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
  2. 通用配置中設定變數替換。

    image

    設定變數key為date,變數的顯示名稱為時間,變數值的顯示名稱為min、hour,對應的變數值為60、3600。

    變數替換

    設定完成後,統計圖表的左上方將出現一個過濾器。選擇對應的值後,Log Service將根據您選擇的值執行一次查詢與分析操作。例如您選擇hour,對應的查詢分析語句為:

    * | SELECT __time__ - __time__ %3600 AS time, COUNT(*) AS pv, approx_distinct(remote_addr) AS uv GROUP BY time ORDER BY time LIMIT 10000

    變數替換

和互動事件配合使用

單擊儀錶盤實現互動事件後,變數替換為觸發互動事件的值,並以替換變數後的查詢分析語句重新整理統計圖表。

為儀錶盤添加互動事件實現下鑽分析:兩個樣本都以Nginx訪問日誌為例。

  • 樣本一:當您單擊餅圖中的狀態為200的部分後,會跳轉到Logstore查詢狀態為200的日誌,查詢時間範圍和儀錶盤的時間範圍相同。

  • 樣本二:將日誌採集到名為website_log的日誌庫中並建立兩個儀錶盤(RequestMethod和destination_drilldown),在RequestMethod儀錶盤中單擊各個要求方法即可跳轉到destination_drilldown儀錶盤查看對應的PV趨勢。