變數是值的預留位置,您可以在查詢分析語句中使用變數。通過變數,您可以建立更具互動性和動態性的儀錶盤。
功能入口
不支援在Logstore查詢分析頁面的查詢分析語句中設定變數。
進入儀錶盤頁面。
在Project列表地區,單擊目標Project。
在左側導覽列中,選擇
。在儀錶盤列表中,單擊目標儀錶盤。
在儀錶盤頁面,單擊編輯。
單擊建立圖表或找到靶心圖表表,選擇 ,進入圖表編輯頁面。
在查詢分析語句中,設定變數。
配置說明
當您在互動事件或過濾器中設定了變數時,需在查詢分析語句中添加變數。變數的文法為${{變數名|預設值}}
。例如host=~"^.*"
可設定為host=~"${{host|^.*}}"
。
互動事件
為當前統計圖表設定變數並儲存到儀錶盤A,如果其他統計圖表的互動事件為跳轉到儀錶盤A且設定的變數名和當前統計圖表的變數名相同,則單擊其他統計圖表中的值時會跳轉到儀錶盤A,且變數替換為觸發互動事件的值,並以替換變數後的查詢分析語句重新整理統計圖表。更多資訊,請參見互動事件。
過濾器
如果儀錶盤中已有添加了變數的統計圖表,則添加變數類型的過濾器後,自動將統計圖表的查詢和分析語句中的變數替換為您選擇的變數值。對整個儀錶盤已設定該變數的統計圖表都生效。配置樣本,請參見添加變數類型的過濾器。
變數替換
變數替換相當於為單個統計圖表添加變數類型的過濾器。您在通用配置中設定了變數替換後,Log Service將在當前統計圖表的左上邊添加一個過濾器。您可以在過濾器中選擇對應的值,Log Service會自動將查詢和分析語句中的變數替換為您所選擇的變數值,執行一次查詢和分析操作。配置樣本,請參見樣本2:設定變數替換。
配置樣本
樣本1:在查詢分析語句中設定變數
在如下查詢分析語句中,將request_method欄位的值設定為變數,即將星號(*)設定為${{method|PUT}}
。
request_method: * | SELECT __time__ - __time__ %60 AS time, COUNT(1) AS PV GROUP BY time ORDER BY time
樣本2:設定變數替換
在如下查詢分析語句中,將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
在通用配置中設定變數替換。
設定變數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
。