OpentTsdb官方文檔中文版----查詢示例

  以下是使用示例數據集合的查詢示例列表。我們將說明可能遇到的一些常見查詢類型,以便了解查詢系統的工作原理。示例集合中的每個時間序列都只存儲一個數據點,並且UID已被截斷爲單個字節,以便於閱讀。示例查詢都是來自HTTP API的指標查詢,並且僅顯示m=組件。有關詳細信息,請參閱/api/query。如果使用的是CLI工具,查詢格式會略有不同,請閱讀特定命令的文檔。

時間序列 指標 標籤 TSUID
1 sys.cpu.system dc=dal host=web01 0102040101
2 sys.cpu.system dc=dal host=web02 0102040102
3 sys.cpu.system dc=dal host=web03 0102040103
4 sys.cpu.system host=web01 010101
5 sys.cpu.system host=web01 owner=jdoe 0101010306
6 sys.cpu.system dc=lax host=web01 010102050101
7 sys.cpu.system dc=lax host=web02 010102050102
8 sys.cpu.system dc=dal host=web01 020202040101
9 sys.cpu.system dc=dal host=web02 020202040102

UIDS

Name UID
Metrics
cpu.system 01
cpu.user 02
Tagks
host 01
dc 02
owner 03
Tagvs
web01 01
web02 02
web03 03
dal 04
lax 05
jdoe 06

警告:
  這並不是設置指標和標籤的最佳方式,而是爲了說明查詢系統的工作原理。特別是,TS#4和5,雖然是合法的時間序列,但可能會搞砸你的查詢,除非你知道它們是如何工作的。一般來說,儘量爲每個時間序列保留相同數量和類型的標籤。

Under the hood

  您可能想了解OpenTSDB如何在這裏存儲時間序列數據:存儲。否則,請記住存儲器中的每一行都有一個唯一的格式化的鍵:

<metricID> <normalized_timestamp> <tagkID1> <tagvID1> [... <tagkIDN> <tagvIDN>]

上面的數據表將被存儲爲

01 < TS > 0101 
01 < TS > 01010306 
01 < TS > 02040101 
01 < TS > 02040102 
01 < TS > 02040103 
01 < TS > 02050101 
01 < TS > 02050102 
02 < TS > 02040101 
02 < TS > 02040102

  當你查詢OpenTSDB時:

  • 查詢將被解析並進行驗證,以確保格式正確,並且存在指標,標籤名稱和標籤值。如果系統中不存在單個指標,標籤名稱或值,則會返回錯誤。
  • 然後它爲底層存儲系統設置掃描程序。
    1. 如果查詢沒有任何標籤或標籤值,那麼它將抓取任何匹配的數據行<metricID><timestamp>,因此如果您有特定度量標準的大量時間序列,則這可能是許多行。
    2. 如果查詢確實定義了一個或多個標記,則它仍將掃描匹配的所有行<metricID><timestamp>,但也會執行正則表達式以僅返回包含所請求標記的行。
  • 一旦所有數據都被返回,OpenTSDB將其組織成組,如果需要的話
  • 如果要求下采樣,則使用適當的聚合器將每個單獨的時間序列下采樣到更小的時間跨度中
  • 然後使用特定的聚合函數聚合每組數據
  • 如果rate檢測到該標誌,則會調整每個彙總以獲得匯率。
  • 結果返回給調用者
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章