變量的語法格式為${{變量名|默認值}}
,它允許您動態地調整查詢參數中的占位符。通過設定這些變量,您可以對統計圖表或整個儀表盤進行篩選,而無需直接改動查詢分析語句。本文向您介紹如何對儀表盤整體及單個統計圖表進行篩選。
添加過濾器篩選儀表盤
過濾器類型
每張統計圖表實際為一個查詢和分析語句,過濾器用于為儀表盤中的所有統計圖表批量修改查詢條件或替換占位符變量,實現對整個儀表盤數據的篩選功能。日志服務支持三種類型的過濾器:
過濾器類型的過濾器:通過日志字段的Key和Value進行過濾。在原查詢和分析語句的結果中,查找包含或者不包含
Key:Value
的日志。例如查看不同請求方法的訪問PV時,可以添加過濾器類型的過濾器,通過動態列表項快速查看。變量類型的過濾器:先添加變量,然后添加過濾器,自動將統計圖表的查詢和分析語句中的變量替換為您選擇的變量值。例如查看每10秒、60秒或600秒的訪問PV。
時序過濾器:采集時序數據后,可以通過Label和Value進行篩選,多個過濾條件取交集。
過濾器類型的過濾器
1. 將統計圖表添加到儀表盤
2. 添加過濾器類型的過濾器
在目標儀表盤的編輯模式下,單擊頁面的右上方的圖標。
在過濾器面板中,完成以下設置,然后單擊確定。
用于動態列表項預覽的示例查詢與分析語句如下:
*|select distinct request_method
參數
說明
名稱
過濾器名稱。
類型
過濾器:創建過濾器類型的過濾器,通過字段名和字段值進行過濾。在執行過濾器操作時,將其作為過濾條件增加到查詢和分析語句前,使用AND或NOT進行連接,默認為AND。
AND:
Value AND [search query] | [sql query]
NOT:
Value NOT [search query] | [sql query]
在靜態列表項中添加值,支持設置多個值。
全局過濾
開啟全局過濾,表示在所有字段中過濾Value,無需指定Key。
關閉全局過濾,表示僅在指定的Key中過濾Value。
Key值
在Key值中配置目標字段名。
別名
列的別名。
自動過濾
開啟自動過濾,會自動過濾掉數據源中不存在的值。
顯示設置
設置過濾器的顯示樣式。
打開顯示標題開關,為過濾器增加標題。
打開顯示邊框開關,為過濾器增加邊框。
打開顯示背景開關,為過濾器增加白色背景。
查詢方式
使用AND方式或NOT方式進行連接。
靜態列表項
設置Key值對應的Value。
多次單擊+,可添加多個Value。如果開啟默認選中,則每次打開儀表盤時,默認使用該Value執行過濾。
添加動態列表項
打開添加動態列表項開關,可添加動態列表項,即為Key值配置動態的Value。動態列表項為對應查詢和分析語句的查詢結果,在不同的時間范圍內,查詢結果是動態變化的。 打開添加動態列表項開關后,需配置如下參數。
請選擇Project:選擇您要查詢的項目。
請選擇日志庫:選擇您要查詢的日志庫。
是否繼承過濾:打開是否繼承過濾開關后,在執行過濾時繼承儀表盤中已有的過濾條件。
查詢分析:輸入查詢和分析語句并設置時間范圍。
動態列表項預覽:確認查詢結果。
調整頁面布局,單擊保存,在保存儀表盤對話框,單擊確認。
3. 驗證結果
在目標儀表盤頁面,在request_method下拉框中選擇GET和PUT,代表查詢GET和PUT方法的訪問PV。該操作對應的查詢和分析語句如下:
(*)and (request_method: GET OR request_method: PUT)| SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
變量類型的過濾器
1. 為統計圖表的查詢分析語句設置變量
2. 添加變量類型的過濾器
在目標儀表盤編輯模式下,單擊頁面的右上方的圖標。
在過濾器面板中,完成以下設置,然后單擊確定。
說明Key值必須為您在設置變量步驟中設置的變量,本示例為interval。
靜態列表項用于配置不同查詢時長范圍的變量值。
參數
說明
名稱
過濾器名稱。
類型
變量替換:創建變量類型的過濾器,指定變量和變量的值。如果儀表盤中已有設置了該變量占位符的統計圖表,則添加變量類型的過濾器后,自動將統計圖表的查詢和分析語句中的變量替換為您選擇的變量值。在靜態列表項中配置變量的值,支持設置多個變量值。
Key值
在Key值中配置變量。
說明您要替換變量的統計圖表必須已設置占位符變量,且與此處配置的變量相同。
別名
列的別名。
顯示設置
設置過濾器的顯示樣式。
打開顯示標題開關,為過濾器增加標題。
打開顯示邊框開關,為過濾器增加邊框。
打開顯示背景開關,為過濾器增加白色背景。
顯示組件類型
選擇組件類行的方式:
自由輸入。
下拉列表。
靜態列表項
設置Key值對應的Value。
多次單擊+,可添加多個Value。如果開啟默認選中,則每次打開儀表盤時,默認使用該Value執行過濾。
添加動態列表項
打開添加動態列表項開關,可添加動態列表項,即為Key值配置動態的Value。動態列表項為對應查詢和分析語句的查詢結果,在不同的時間范圍內,查詢結果是動態變化的。 打開添加動態列表項開關后,需配置如下參數。
請選擇Project:選擇您要查詢的項目。
請選擇日志庫:選擇您要查詢的日志庫。
是否繼承過濾:打開是否繼承過濾開關后,在執行過濾時繼承儀表盤中已有的過濾條件。
查詢分析:輸入查詢和分析語句并設置時間范圍。
動態列表項預覽:確認查詢結果。
調整頁面布局,單擊保存,在保存儀表盤對話框,單擊確認。
3. 驗證結果
在目標儀表盤頁面,將PV過濾器中interval設置為10,代表查詢每10秒的訪問PV。
該操作對應的查詢和分析語句如下:
* | SELECT date_format(__time__ - __time__ % 10, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
在目標儀表盤頁面,將PV過濾器中interval設置為60,代表查詢每60秒的訪問PV。
該操作對應的查詢和分析語句如下:
* | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
時序過濾器
接入時序數據:例如采集主機監控數據。
添加過濾器:采集主機數據后,日志服務會自動創建一個名叫主機監控的儀表盤。在主機監控編輯模式下,單擊頁面的右上方的圖標。在過濾器面板中,完成以下設置,然后單擊確定。
參數
說明
名稱
過濾器名稱。
類型
時序過濾器:動態添加Label和Value進行過濾。添加時序過濾器后,可以手動對時序庫的Label和Value進行過濾顯示。
Key值
過濾器的唯一標識。
別名
列的別名。
顯示設置
設置過濾器的顯示樣式。
打開顯示標題開關,為過濾器增加標題。
打開顯示邊框開關,為過濾器增加邊框。
打開顯示背景開關,為過濾器增加白色背景。
請選擇Project
選擇您要查詢的Project。
請選擇時序庫
選擇您要查詢的時序庫。
篩選儀表盤:在儀表盤頁面頂端的下拉列表,選擇Label和Value。
添加變量替換篩選單個統計圖表
您可以對單個統計圖表設置變量替換,日志服務將在當前統計圖表的左上角添加一個過濾器,從而實現對單個統計圖表的篩選。此處以查看不同時間間隔訪問PV的表格示例,配置步驟如下。
1. 配置變量替換
在編輯圖表頁面左側配置查詢時間范圍、Logstore、設置變量的查詢分析語句。
查看不同時間間隔訪問PV的查詢分析語句如下,其中的
${{date|60}}
代表設置變量date
,默認值是60。* | select __time__ - __time__ % ${{date | 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。
單擊頁面右上角的確定,然后單擊右上角保存,在保存儀表盤對話框,單擊確認。
2. 篩選統計圖表
設置完成后,統計圖表的左上方將出現一個過濾器。選擇對應的值后,日志服務將根據您選擇的值執行一次查詢與分析操作。例如您選擇hour,對應的查詢分析語句為:
(*)| select __time__ - __time__ % 3600 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
變量與交互事件配合使用
在配置統計圖表的交互事件時,您可以設定變量,這樣,每當您點擊目標交互事件,該變量就會自動更新為觸發事件的值,從而便于您進行相應的查詢與分析。具體示例,請參見配置示例。