OpenTSDB介紹——基於Hbase的分布式的,可伸縮的時間序列數據庫,而Hbase本質是列存儲


原文鏈接:http://www.jianshu.com/p/0bafd0168647

OpenTSDB介紹

1.1、OpenTSDB是什么?主要用途是什么?

官方文檔這樣描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase;

翻譯過來就是,基於Hbase的分布式的,可伸縮的時間序列數據庫。

主要用途,就是做監控系統;譬如收集大規模集群(包括網絡設備、操作系統、應用程序)的監控數據並進行存儲,查詢。

1.2、介紹continue

存儲到OpenTSDB的數據,是以metric為單位的,metric就是1個監控項,譬如服務器的話,會有CPU使用率、內存使用率這些metric;

OpenTSDB使用HBase作為存儲,由於有良好的設計,因此對metric的數據存儲支持到秒級別;

OpenTSDB支持數據永久存儲,即保存的數據不會主動刪除;並且原始數據會一直保存(有些監控系統會將較久之前的數據聚合之后保存)

OpenTSDB存儲相關的概念

介紹這些概念的時候,我們先看一個實際的場景。

譬如假設我們采集1個服務器(hostname=qatest)的CPU使用率,發現該服務器在21:00的時候,CPU使用率達到99%

下面結合例子看看OpenTSDB存儲的一些核心概念

1)Metric:即平時我們所說的監控項。譬如上面的CPU使用率

2)Tags:就是一些標簽,在OpenTSDB里面,Tags由tagk和tagv組成,即tagk=takv。標簽是用來描述Metric的,譬如上面為了標記是服務器A的CpuUsage,tags可為hostname=qatest

3)Value:一個Value表示一個metric的實際數值,譬如上面的99%

4)Timestamp:即時間戳,用來描述Value是什么時候的;譬如上面的21:00

5)Data Point:即某個Metric在某個時間點的數值。

                        Data Point包括以下部分:Metric、Tags、Value、Timestamp

                       上面描述的服務器在21:00時候的cpu使用率,就是1個DataPoint

保存到OpenTSDB的,就是無數個DataPoint。

OpenTSDB的總體架構

openTSDB架構

Servers:就是服務器了,上面的C就是指Collector,可以理解為OpenTSDB的agent,通過Collector收集數據,推送數據;

TSD:TSD是對外通信的無狀態的服務器,Collector可以通過TSD簡單的RPC協議推送監控數據;另外TSD還提供了一個web UI頁面供數據查詢;另外也可以通過腳本查詢監控數據,對監控數據做報警

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

 


免責聲明!

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



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