OpenTSDB簡介

TSDB

基礎概念


時序數據庫:提供高效存取時序數據和統計分析功能的數據管理系統,廣泛應用於物聯網(IoT)設備監控系統、企業能源管理系統(EMS)、生產安全監控系統和電力檢測系統等行業場景。

在這裏插入圖片描述

TSDB特點


  • 高吞吐量寫入

  • 數據分級存儲

  • 高壓縮率減少存儲空間

  • 多維度查詢能力

  • 高效聚合能力

OpenTSDB

  • Opentime series database

  • 是基於Hbase的分佈式的,可擴展的時間數據庫

  • 它是建立在Hbase上的一層數據讀寫服務

How does OpenTSDB work?

OpenTSDB框架

在這裏插入圖片描述

  • Servers:就是服務器了,C就是指Collector,通過Collector收集數據,推送數據;

  • TSD:TSD是對外通信的無狀態的服務,Collector可以通過TSD簡單的RPC協議推送監控數據;

  • TSD還提供了一個webUI頁面供數據查詢;另外也可以通過腳本查詢監控數據,對監控數據做報警;

  • HBase:TSD收到監控數據後,是通過AsyncHbase這個庫來將數據寫入到HBase;AsyncHbase是完全異步、非阻塞、線程安全的Hbase客戶端,使用更少的線程、鎖以及內存,可以提供更高的吞吐量,特別對於大量的寫操作。

名詞解釋

In OpenTSDB, a time series data pointconsists of:

  • A metric name.

  • A UNIX timestamp (seconds or millisecondssince Epoch).

  • A value (64 bit integer orsingle-precision floating point value), a JSON formatted event or ahistogram/digest.

  • A set of tags (key-value pairs) thatdescribe the time series the point belongs to.

{
    "metric":"temperature", 
    "timestamp":1567675709879, 
    "value":20.5, 
    "tags":{
        "host":"device-1"
    }
}

數據查詢

監控場景中,我們可以這樣定義一個監控指標:

在這裏插入圖片描述

OpenTSDB支持的查詢場景爲:

指定指標名稱和時間範圍,給定一個或多個標籤名稱和標籤的值作爲條件,查詢出所有的數據。

以上面那個例子舉例,我們可以查詢:

  • sys.cpu.user (host=,cpu=)(1465920000<= timestamp < 1465923600)

查詢凌晨0點到1點之間,所有機器的所有CPU核上的用戶態CPU消耗。

  • sys.cpu.user (host=10.101.168.111,cpu=*)(1465920000<= timestamp < 1465923600)

查詢凌晨0點到1點之間,某臺機器的所有CPU核上的用戶態CPU消耗。

  • sys.cpu.user (host=10.101.168.111,cpu=0)(1465920000<= timestamp < 1465923600)

查詢凌晨0點到1點之間,某臺機器的第0個CPU核上的用戶態CPU消耗。

存儲優化

在這裏插入圖片描述

rowkey採用metricname + timestamp + tags的組合,唯一確定一個指標值。

核心優化:縮短rowkey

在這裏插入圖片描述

OpenTSDB採用的策略是:爲每個metric、tag key和tagvalue都分配一個UID,UID爲固定長度三個字節。

Rowley的長度大大的縮短了,好處:

  • 節省存儲空間

  • 提高查詢效率:減少key匹配查找的時間

  • 提高傳輸效率:不光節省了從文件系統讀取的帶寬,也節省了數據返回佔用的帶寬,提高了數據寫入和讀取的速度。

  • 緩解內存壓力:String存儲的metric name、tagkey或tag value,現在均可以用3個字節的byte array替換,大大節省了內存佔用

其它存儲優化:減少Key-Value數

在這裏插入圖片描述

合併行和列,進一步縮短存儲量。

其它存儲優化:併發寫優化

進行預分桶,避免寫熱點
在這裏插入圖片描述

常用HTTP API

插入數據:/api/put

在這裏插入圖片描述

查詢數據:/api/query

在這裏插入圖片描述

其它HTTP API

在這裏插入圖片描述

具體參考官網:

http://opentsdb.net/docs/build/html/api_http/index.html

OpenTSDB安裝

參考官網:

http://opentsdb.net/docs/build/html/installation.html

其它TSDB對比

TSDB Ranking

在這裏插入圖片描述

TSDB Ranking

OpenTSDB VS InfuxTSDB

在這裏插入圖片描述

在這裏插入圖片描述

參考

OpenTSDB官網

InfluxDB官網

TSDB簡介

TSDB特點

TSDB框架介紹

OpenTSDB存儲優化

TSDB Ranking

OpenTSDB VS InfuxTSDB

OpenTSDB 對比 InfuxTSDB

發佈了55 篇原創文章 · 獲贊 37 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章