零基礎玩轉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,敬請期待!

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM