OpenTSDB(時序數據庫官網)


官網地址:http://opentsdb.net/

下載地址:https://github.com/OpenTSDB/opentsdb/releases


-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------

OpenTSDB如何工作?

OpenTSDB由時間序列守護進程(TSD)和一組命令行實用程序組成。與OpenTSDB的交互主要通過運行一個或多個TSD來實現。每個TSD都是獨立的。沒有主服務器,沒有共享狀態,因此您可以根據需要運行盡可能多的TSD來處理您向其投入的任何負載。每個TSD都使用開源數據庫 HBase或托管Google Bigtable服務以存儲和檢索時間序列數據。數據模式經過高度優化,可快速聚合相似的時間序列,從而最大限度地減少存儲空間。TSD的用戶永遠不需要直接訪問底層商店。您可以通過簡單的telnet風格協議,HTTP API或簡單的內置GUI與TSD進行通信。所有通信都發生在同一個端口上(TSD通過查看它接收的前幾個字節來確定客戶端的協議)。

OpenTSDB架構

 

openTSDB架構

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

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

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

 

 

寫作

使用OpenTSDB的第一步是將時間序列數據發送到TSD。存在許多 工具來將來自各種源的數據提取到OpenTSDB中。如果找不到滿足需求的工具,則可能需要編寫從系統中收集數據的腳本(例如,通過從/procLinux上讀取有趣的指標,通過SNMP從網絡設備收集計數器,或者從應用程序中收集其他有趣的數據) ,通過JMX,例如Java應用程序)並定期將數據點推送到其中一個TSD。

StumbleUpon編寫了一個名為Python的框架 tcollector ,用於從Linux 2.6,Apache的HTTPd,MySQL,HBase,memcached,Varnish等中收集數千個指標。這個低影響力的框架包括許多有用的收藏家,社區不斷提供更多。支持OpenTSDB的替代框架包括Collectd,Statsd和Coda Hale指標發射器。

在OpenTSDB中,時間序列數據點包括:

  • 度量標准名稱。
  • UNIX時間戳(自Epoch以來的秒數或毫秒數 )。
  • 值(64位整數或單精度浮點值),JSON格式的事件或直方圖/摘要。
  • 一組標記(鍵值對),用於描述該點所屬的時間序列。

標簽允許您從不同的源或相關實體中分離出類似的數據點,因此您可以輕松地單獨或成組地繪制它們。標簽的一個常見用例包括使用生成它的機器的名稱以及機器所屬的集群或池的名稱來注釋數據點。這使您可以輕松地制作儀表板,以便在每個服務器的基礎上顯示服務狀態,以及顯示跨邏輯服務器池的聚合狀態的儀表板。

mysql.bytes_received 1287333217 327810227706 schema = foo host = db1 
mysql.bytes_sent 1287333217 6604859181710 schema = foo host = db1 
mysql.bytes_received 1287333232 327812421706 schema = foo host = db1 
mysql.bytes_sent 1287333232 6604901075387 schema = foo host = db1 
mysql.bytes_received 1287333321 340899533915 schema = foo host = db2 
mysql.bytes_sent 1287333321 5506469130707 schema = foo host = db2

此示例包含屬於4個不同時間序列的6個數據點。度量標准和標記的每個不同組合構成不同的時間序列。所有4個時間序列都是針對兩個指標之一 mysql.bytes_receivedmysql.bytes_sent數據點必須至少有一個標記,並且度量標准的每個時間序列應具有相同數量的標記。不建議每個數據點具有超過6-7個標簽,因為與存儲新數據點相關的成本很快就會超過該點之外的標簽數量。

使用上面示例中的標記,可以輕松創建圖形和儀表板,以在每個主機和/或每個模式的基礎上顯示MySQL的網絡活動。OpenTSDB 2.0的新功能是能夠存儲非數字注釋以及用於跟蹤元數據,質量指標或其他類型信息的數據點。

時間序列數據通常以折線圖的格式消耗。因此,OpenTSDB提供了一個內置的簡單用戶界面,用於選擇一個或多個指標和標簽,以生成圖形作為圖像。或者,可以使用HTTP API將OpenTSDB綁定到外部系統,例如監視框架,儀表板,統計包或自動化工具。

查看 社區為使用OpenTSDB提供的工具資源頁面。

 

-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------

 

@manolama manolama 發布了這個 on 22 May · 自本次發布以來, 1次提交

資產5
  • 版本2.3.1(2018-04-21)

值得注意的變化:

  • 設置聚合器時,前進到等於或大於
    查詢開始時間戳的第一個數據點這有助於日歷下采樣間隔。
  • 添加對Nagios檢查腳本的支持,以便對填充策略進行下采樣。

Bug修復:

  • 通過避免雙重執行並檢查兩種
    輸出類型的布爾值來修復表達式計算
  • 修復構建中缺少的工具腳本。
  • OSX安裝腳本中的默認HBase 1.2.5
  • 將AsyncBigtable升級到0.3.1
  • 意外關閉通道時記錄查詢統計信息。
  • 在debian init腳本中添加Java 8路徑並刪除Java 6。
  • 將列系列名稱傳遞給壓縮調度程序中的get請求。
  • 在按標簽分組的UI中修復比較問題。
  • 按開始時間戳過濾注釋查詢,不包括在
    查詢開始時間之前開始的行中的注釋查詢
  • 從Gnuplot腳本中清除反引號的微小主旨。
  • final從元類中刪除注釋,以便可以擴展它們。
  • 修復javacc maven插件版本。
  • 修復文字或過濾器以允許單個字符過濾器。
  • 修復查詢開始統計日志記錄以使用ms而不是nano時間。
  • 出於安全原因,將Jackson和Netty移至新版本。
  • 升級到AsyncHBase 1.8.2以與HBase 1.3和2.0兼容
  • 修復最高電流計算以處理空時間序列。
  • 將緩存命中計數器更改為long。
 


免責聲明!

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



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