管理数据生命周期
功能介绍
针对Metric设置OpenTSDB数据库中数据生命周期TTL(Time To Live)时间,系统会定期清理“DataPoint时间戳 < 系统当前时间 – TTL时间”的数据。
TTL时间单位为小时,数据清理时也是以小时为单位。例如,系统当前时间是19:30,某个Metric的TTL时间为2,则17:00之前的数据才会被清理,而不是17:30之前的数据。
- 如果某个Metric没有设置TTL时间,则使用全局TTL时间,如未设置全局TTL时间,数据不会被清理。如果设置了Metric的TTL,就使用Metric自己的TTL时间。
- 如果某个Metric的TTL时间为0,表示该Metric未设置TTL,数据不会被清理。
URI
请求
- 请求样例:设置TTL
{ "global":36, "ttl":{ "sys.cpu.nice":24, "cpu.system":12 } }
参数说明如下表所示,“global”和“ttl”参数至少需指定一个。
表1 参数说明 名称
类型
是否必须
描述
global
Integer
否
全局TTL时间,单位为小时。表示未设置TTL的Metric数据有效期统一设置为“global”的取值。如果“global”取值为0,表示全局TTL无效。
ttl
Map
否
设置TTL的Metric列表。采用Key-value格式,key为Metric名称,value为TTL时间,单位为小时。
例如:"sys.cpu.nice": 24,表示设置Metric名为sys.cpu.nice的TTL时间为24小时。
- 请求样例:查询TTL
查询指定Metric的TTL:
{ "metrics":["sys.cpu.nice", "cpu.system"] }
查询所有设置TTL的Metric和全局TTL:{ "all":true }
参数说明如下表所示,以下三个参数至少指定一个,如果指定了“metrics”至少要指定一个Metric。
表2 参数说明 名称
类型
是否必须
描述
global
Boolean
否
是否查询全局TTL时间。“true”表示查询当前“global”取值。
all
Boolean
否
是否查询全部Metric的TTL时间。如果“all”为“true”,则返回所有Metric的TTL和全局TTL,“metrics”参数失效。
metrics
String/Array
否
需要查询的Metric名。设置单个Metric时,类型为String,设置多个Metric时,类型为Array。
- 请求样例:删除TTL
{ "global":true, "metrics":["sys.cpu.nice", "cpu.system"] }
参数说明如下表所示,“metrics”至少要指定一个Metric或者“global”设置为“true”。表3 参数说明 名称
类型
是否必须
描述
global
Integer,Boolean
否
是否删除全局TTL。“true”表示删除当前“global”取值。
all
Boolean
否
是否删除全部TTL。“true”表示删除全部TTL,此时“metrics”参数失效。
metrics
String/Array
否
需要删除的Metric名。设置单个Metric时,类型为String,设置多个Metric时,类型为Array。
响应
- 响应样例: 查询TTL
{ "global": 36, "ttl": { "sys.cpu.nice": 24, "cpu.system": 12 } }
表4 响应参数说明 名称
类型
描述
global
Integer
全局TTL时间,单位为小时。表示未设置TTL的Metric数据有效期统一为“global”的取值。如果“global”取值为0,表示全局TTL无效。
ttl
Map
TTL的Metric列表。采用Key-value格式,key为Metric名称,value为TTL时间,单位为小时。
例如:"sys.cpu.nice": 24,表示Metric名为sys.cpu.nice的TTL时间为24小时。
- 响应样例:设置或删除TTL
body体无内容返回。
状态码
状态码请参见响应码
