更新时间:2022-09-29 GMT+08:00

OpenTSDB

OpenTSDB是一个基于HBase的分布式、可伸缩的时间序列数据库。OpenTSDB的设计目标是用来采集大规模集群中的监控类信息,并可实现数据的秒级查询,解决海量监控类数据在普通数据库中查询存储的局限性。

OpenTSDB由时间序列守护进程(TSD)和一组命令行实用程序组成。与OpenTSDB的交互主要通过运行一个或多个TSD来实现。每个TSD都是独立的。没有主服务器,没有共享状态,因此您可以根据需要运行任意数量的TSD来处理您向其投入的任何负载。每个TSD使用CloudTable集群中的HBase来存储和检索时间序列数据。数据模式经过高度优化,可快速聚合相似的时间序列,从而最大限度地减少存储空间。TSD的用户不需要直接访问底层存储。您可以通过HTTP API与TSD进行通信。所有通信都发生在同一个端口上(TSD通过查看它收到的前几个字节来确定客户端的协议)。

图1 OpenTSDB架构

OpenTSDB使用场景有如下几个特点:

  • 采集指标在某一时间点具有唯一值,没有复杂的结构及关系。
  • 监控的指标具有随着时间不断变化的特点。
  • 具有HBase的高吞吐,良好的伸缩性等特点。

OpenTSDB提供基于HTTP的应用程序编程接口,以实现与外部系统的集成。 几乎所有OpenTSDB功能都可通过API访问,例如查询时间序列数据,管理元数据和存储数据点。详情请参见:https://opentsdb.net/docs/build/html/api_http/index.html