- 时间线倒排
- 删除时间点
- 查询时间线
- 删除时间线
- 显示时间线数量
- 设置数据生命周期
- 写入限流
- 查询限流
- 指标数据采集
HiTSDB 时间线索引
- 时间线采用倒排的方式管理。
- metric作为一级map。 tags倒排映射成ids
- 所有的metric, tags存储为字典表编码后的格式。
- 默认倒排存放到hitsdb_index, hitsdb_inverted_index表中
- 重启后通过回放hitsdb_index重新build倒排
删除时间点
-
api/delete_data
{ start: xxx, end: xxx, metric: xxx }
-
DeleteMetricDataPointRpc
查询时间线后,按照自然边界分片删除。
查询时间线
-
api/dump_meta
{ metric: xxxx, max: xxx } { tagkey: xxxx, max: xxx }
-
返回值 List>
-
DumpTagsTsMetaIndexRpc
删除时间线
-
api/delete_meta
{
metric: xxx
}{ metric: xxx, tags:{ key:value } }
-
DeleteMetricMetatRpc
显示时间线数量
- api/tscount
- 采用coprocessor统计时间线数量:AggregationClient
- 1分钟周期性查询
设置数据生命周期
- api/ttl
- GET 获取当前ttl, POST更新当前ttl
- UpdateTTLRpc -> setTimeToLive
- 默认时间单位是秒
写入限流
- tsd.rate.limiter
- tsd.max.writerate 最大写入: 默认30000
- tsd.max.tsnum, 最大时间线数量: 默认100000
- MAXWRITERATE
查询限流
- tsd.rate.limiter
- tsd.max.queryrate 最大查询:
- tsd.max.subqueries 最大子查询
指标数据采集
- Telegraf数据采集接口
- api/v2/stats
- 写入点数 (tsd.datapoint.added)
- 磁盘空间 (tsd.disk.usage)
- http://" + nameNode + ":50070/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem
- 时间线数量 (tsd.tscount)
鉴权
- AuthenticationChannelHandler
- AuthenticationPlugin
- tsd.core.authentication.enable = true
- tsd.core.authentication.plugin = xxxx
加密
- pipeline.addLast("ssl", sslContext.newHandler())
- tsd.core.ssl.enable = true