1. 程式人生 > 其它 >零基礎玩轉SLS日誌查詢-SLS Query Builder釋出

零基礎玩轉SLS日誌查詢-SLS Query Builder釋出

簡介:日誌服務(Log Service,簡稱 SLS) 是阿里雲提供的行業領先的日誌大資料解決方案,一站式提供資料收集、清洗、分析、視覺化、告警等功能。智慧查詢分析是資料中臺重要的一環,SLS支援秒級查詢10億到千億級別的日誌資料,為萬級開發者提供每日百億級的查詢服務。SLS查詢語句是日誌服務的專有語法,為了幫助使用者簡單、快速地構建查詢語句,降低使用者的學習成本,SLS推出了查詢輔助輸入(Query Builder)功能,讓使用者無需關注語法細節也可完成查詢。

背景

日誌服務(SLS)

日誌服務(Log Service,簡稱 SLS) 是阿里雲提供的行業領先的日誌大資料解決方案,一站式提供資料收集、清洗、分析、視覺化、告警等功能,全面提升海量日誌處理能力,實時挖掘資料價值,智慧助力研發/運維/運營/安全等場景。

智慧查詢分析是資料中臺重要的一環,SLS支援秒級查詢10億到千億級別的日誌資料,為萬級開發者提供每日百億級的查詢服務。SLS非常適合於做監控報表/告警/運營探索式互動分析,更可以通過API呼叫整合資料分析能力,整合到第三方的視覺化平臺,BI工具,或自研程式。

SLS查詢分析

SLS的日誌查詢分為兩部分:查詢語句和分析語句。查詢語句和分析語句以豎線(|)分割,查詢語句的語法為日誌服務專有語法,分析語句採用標準的SQL92語法。

查詢語句|分析語句

語句型別

說明

查詢語句

查詢語句用於指定日誌查詢時的過濾規則,返回符合條件的日誌。

查詢語句可以為關鍵詞、數值、數值範圍、空格、星號(*)等。 如果為空格或星號(*),表示無過濾條件。更多資訊,請參見

查詢語法

分析語句

分析語句用於對查詢結果或全量資料進行計算和統計。更多資訊,請參見分析概述

其中,查詢語句可單獨使用,分析語句必須與查詢語句一起使用。即分析功能是基於查詢結果或全量資料進行的。

示例:

// 僅查詢
status > 200

// 僅統計
* | SELECT status, count(*) AS PV GROUP BY status

// 查詢 + 統計
status > 200 | SELECT status, count(*) AS PV GROUP BY status

Query Builder介紹

SLS查詢語句是日誌服務的專有語法,為了幫助使用者簡單、快速地構建查詢語句,降低使用者的學習成本,SLS推出了查詢輔助輸入(Query Builder)功能,讓使用者無需關注語法細節也可完成查詢。

(注:當前版本只支援查詢語句,SQL分析語句的輔助輸入功能SQL Builder將在後續版本推出,敬請期待)

1. 功能入口

登入日誌服務控制檯,在Project列表區域,點選進入目標Project。在日誌儲存 > 日誌庫頁籤中,點選進入目標Logstore,在查詢和分析語句輸入框中,點選右側

圖示,喚起Query Builder面板。隨後在配置查詢條件面板中,配置查詢條件即可。

2. 使用模式

  • 簡潔模式

簡潔模式中的多個查詢條件是平鋪展示的,各個查詢條件之間為同級關係。

  • 高階模式

高階模式中的多個查詢條件是換行展示的,各個查詢條件之間可設定層級關係,即對應於查詢語句中的括號運算子。使用者可以通過點選且、或兩側的<圖示或>圖示,定義各個查詢條件之間的層級關係。

  • 雙向同步

為了最大程度的保證使用者使用的靈活性,Query Builder的查詢條件與使用者手動輸入的查詢語句是實時雙向同步的。使用者既可以通過Query Builder生成查詢語句,也可以在查詢框中修改生成的查詢語句。Query Builder會實時解析使用者手動輸入的查詢語句並同步到面板上。

3. 功能概述

3.1 查詢型別

  • 全文查詢和欄位查詢

查詢方式

說明

示例

全文查詢

配置全文索引後,日誌服務根據使用者設定的分詞符將整條日誌拆分成多個詞。使用者可以指定關鍵字(欄位名、欄位值)和查詢規則進行查詢。

欄位查詢

配置欄位索引後,使用者可以指定欄位名稱和欄位值(Key:Value)進行查詢。根據欄位索引中設定的資料型別,使用者可以進行多種型別的基礎查詢和組合查詢。

  • 精確查詢和模糊查詢

查詢方式

說明

示例

精確查詢

使用完整的詞進行查詢。

模糊查詢

使用萬用字元*或者?來進行模糊查詢,參考模糊查詢

3.2 邏輯連線符

邏輯連線符

說明

對應於查詢語法中的and運算子

對應於查詢語法中的or運算子

縮排

在高階模式下,您可以使用縮排設定各個查詢條件之間的層級關係。對應於( )運算子。

所有值

為一個欄位設定了多個查詢值時,會出現此邏輯連線符。對應於and運算子。

任意值

為一個欄位設定了多個查詢值時,會出現此邏輯連線符。對應於or運算子。

示例

3.3 運算子

Query Builder功能支援如下運算子。更多資訊,請參見運算子

  • 針對全文查詢,提供包含、不包含運算子。
  • 針對text型別的欄位,提供包含、不包含、(欄位)存在、(欄位)不存在運算子。
  • 針對long型別或double型別的欄位,提供=、!=、>、<、>=、<=、(欄位)存在、(欄位)不存在運算子。

4. 使用示例

示例1

  • 查詢包含GET、PUT、POST中任意值的日誌

  • 查詢同時包含GET、PUT、POST中的日誌

示例2

  • 查詢user_agent欄位的值中包含Chrome的日誌

  • 查詢slbid欄位的值以slb-開頭且client_ip欄位的值是在127.0.0.x範圍內的日誌

示例3

查詢請求時間小於1秒的成功請求的日誌中包含SLS字串的日誌

常見問題

簡潔模式和高階模式有什麼區別?

  • 簡潔模式中的多個查詢條件是平鋪展示的,各個查詢條件之間為同級關係。
  • 高階模式中的多個查詢條件是換行展示的,各個查詢條件之間可設定層級關係,即對應於查詢語句中的括號運算子。

是否支援構建SQL分析語句?

目前,Query Builder功能只支援構建查詢語句,不支援構建SQL分析語句。我們將在後續版本推出針對SQL分析語句的構建能力,敬請期待後續版本。

如果您在輸入框中輸入了SQL分析語句,Query Builder面板將消失且面板喚起按鈕被禁用。刪除SQL分析語句部分後,可重新開啟Query Builder面板。

更多Query Builder使用過程中的問題參考常見問題

寫在最後

SLS Query Builder可以幫助使用者簡單、快速地構建查詢語句,讓使用者無需關注語法細節也可完成查詢。正如前面提到,SLS的查詢分析能力由查詢語句和分析語句兩部分構成,分析語句能夠在秒級查詢的基礎上進行實時統計分析,適合於做監控報表/告警/運營探索式互動分析,更可以通過API呼叫整合資料分析能力,整合到第三方的視覺化平臺,BI工具,或自研程式。

相較於查詢語句,分析語句具有更強大的能力和更豐富的應用場景。SLS分析語句採用標準的SQL92語法,相較於查詢語法,使用門檻和學習成本更高,因此我們也將在不久的將來推出針對SQL分析語句的輔助輸入工具SQL Builder,敬請期待!

原文連結
本文為阿里雲原創內容,未經允許不得轉載。