讀書筆記-HBase in Action-第三部分應用-(1)OpenTSDB

來源:互聯網
上載者:User

標籤:hbase   opentsdb   

OpenTSDB是基於HBase的開源監控系統,可以支援上萬規模叢集監控和上億資料點採集。其中TSDB代表Time Series Database,OpenTSDB在時間序列資料的儲存和查詢上都做了相當多的最佳化工作。

架構Overview

概念上OpenTSDB由三部分組成:tcollector資料擷取、tsd資料服務和HBase資料存放區。


資料擷取流程

如,tcollector後台進程運行在每台被監控的伺服器上,管理資料收集指令碼,定期執行,失敗時重啟,確保所有的監控資料發送給OpenTSDB。Tcollector將資料寫入到tsd,和HBase解耦保持用戶端的輕量級。Tsd通過類似telnet的協議收集資料,所以少量的tsd執行個體能夠支援大量的tcollector寫入進程。 

資料查詢流程

圖中tsd負責和HBase進行資料互動,給前端提供HTTP查詢介面。所有的tsd進程都是無狀態的,這樣查詢模組能做到負載平衡、線性可伸縮和高可用。

HBase Schema設計

OpenTSDB儲存的是時間序列metrics,來自於不同的伺服器,資料有不同的種類,每個點都包含時間戳記和測量值。而且最終來講,資料對使用者可用,OpenTSDB還必須支援線上資料視覺效果。這些因素都影響著HBase Schema設計。


OpenTSDB包括兩張表,tsdb表格儲存體時間序列資料,tsdb-uid表格儲存體ID對應關係,管理資料tags等。

Tsdb-uid表

Tsdb-uid包括id和name兩個列族


前兩行UID-to-name行的UID用於和tsdb表外部索引鍵關聯;後兩行name-to-UID行用於支援tag名稱的自動補齊(通過掃描rowkey高效實現)。

注意Column qualifier中的metrics代表資料種類,典型的值還包括tag name和tag value。比如來自ubuntu伺服器的mysql.bytes_sent資料,其中mysql.bytes_sent為metrics,host為tag name,ubuntu為tag value。OpenTSDB通過metrics、tag name、tag value組合標記同一監控資料。

Tsdb表

Tsdb表的設計重點考慮支援日期範圍尋找、tag過濾。Tsdb表只有t一個列族。

首先看rowkey設計:一開始是Metric UID,接著是四個位元組的部分時間戳記,只到小時粒度,能保證同一指標按照時間順序儲存在一起,又能顯著減少行數。最後是所有的tag name和tag value UID,滿足查詢過濾需求。

接著看column qualifier:首先是時間戳記剩餘秒部分,後面通過四位元遮罩做一些額外標記,比如首位標記單元值是整數還是浮點數。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.