有群友提问:tb中数据库积累的遥测数据太多后,怎么清理?这里记录分享一下!
功能介绍
在规则链的行动节点类型下的保存时间序列节点中有TTL功能(Time To Live 的缩写,指数据生存时间)。
配置的**TTL单位:秒。
也就是说:时间序列的数据过TTL秒后会自动清除。
注意事项
- **0 **值意味着数据永远不会过期。
- 如果消息元数据包含TTL字段,其值将用于时间序列数据过期,否则将使用节点配置的TTL。
thingsboard.yml配置
更改下面对应的配置可以改变 ts_kv表,事件表等数据有效期,过期自动删除
列举几个常用的,想知道全部直接配置文件搜ttl就行。
官网有对应含义https://thingsboard.io/docs/user-guide/install/config/#thingsboardconf
-
cassandra.query.ts_key_value_ttl
- Timeseries Cassandra Record的生存时间(以秒为单位)。0 -记录永远不会过期。
-
cassandra.query.events_ttl
- 事件(LC_EVENT, STATS) Cassandra Record的存活时间(以秒为单位)。0 -记录永远不会过期。
-
cassandra.query.debug_events_ttl
- 调试事件 Cassandra Record的存活时间(秒)。0 - Record永远不会过期
-
sql.ttl.ts.enabled
- 指定是否为timeseries记录使用TTL(生存时间)的参数。
-
sql.ttl.ts.ts_key_value_ttl
- 为timeseries记录指定系统TTL(生存时间)值的参数。以秒为单位设置的值。0 -记录永远不会过期。通过将服务器端属性TTL设置为相应的租户或父客户实体,可以覆盖特定租户或父客户实体的系统TTL值。请注意,该值应该设置为long值,否则TTL将从更高级别(租户或系统)使用。
-
sql.ttl.events.events_ttl
- 为事件(LC_EVENT, STATS)记录指定TTL(生存时间)值的参数。以秒为单位设置的值。0 -记录永远不会过期。
-
sql.ttl.events.debug_events_ttl
- 为调试事件(DEBUG_CONVERTER、DEBUG_INTEGRATION、DEBUG_RULE_NODE、DEBUG_RULE_CHAIN)记录指定TTL(存活时间)值的参数。以秒为单位设置的值。0 -记录永远不会过期。默认值为一周。