本帖最后由 chenqiong 于 2012-11-4 00:21 编辑 Opentsdb介绍 Opentsdb这个项目在Hbase in action 第7章有介绍,这个项目是用于监控系统各种指标的开源项目,整个软件分为3块,包括数据采集,数据存储和数据查询, 在数据存储部分是采用了hbase,对于数据采样的频率可以达到秒级。 Opentsdb包括两个表,Tsdb-uid表和tsdb表 其中tsdb-uid是一个索引表,用于维护名称和id,将主机名称,指标名称这些文字数据给定一个系统的编号,它包含两个列族,一个是name, 另一个是id,系统会在存储时,同时记录两条数据,一条是name-uid,另一个是uid-name ,例如052这条数据 在name列族里对应指标数据是proc.loadavg.lm,同时有一条proc.loadavg.lm在id列族里metrics对应值是052
Tsdb表 tsdb表提供存储和查询时间序列数据。只有t一个列族,每条数据存储1个指标一个tag标签一个小时的数据。 Tag可以有应用定义,例如可以标识成主机名称+应用名称等等。Tsdb的rowkey的设计非常讲究, 下图所示, 指标名ID + 表示小时的时间数(当前时间%3600)+ [用户定义的tag名的ID+ tag值ID]… 指标名ID,tag名ID,tag值ID都与tsdb-uid表的名字对应。 T列族里保存的一个小时内的所有数据 列名是时间的偏移量,数据是指标值。 这样设计的好处是, 可以按照指标来查,(查询proc.loadavg.lm ~ proc.loadavg.ln之间的数), 按照tag分组和tag值来查数据,例如查询某台机器的某个应用的指标性能。
表2、tsdb |
Opentsdb表结构设计
最新推荐文章于 2024-01-02 12:27:14 发布