SkyWalking 数据清理机制(TTL)

版本:7.0.0

描述

通过采样率设置,我们可以配置采样的数据量,如80%,50%等,这样做的目的是避免采集过分多的数据。但是,这样会丢失一些信息,如果恰好我们想查看的数据丢失了,就会导致排查问题难度提升,甚至遗漏问题。

SkyWalking同时提供了数据清理机制,即我们采集的数据会保留多长时间。因为链路追踪这样的需求,大多数情况下只需要查找短时间内的数据,甚至是实时数据,那么我们就不需要长时间的保留采集到的数据。

配置

配置文件路径:path/config/application.yml
本章节仅展示与数据清理机制有关的配置,如下:

1core: 2 selector: ${SW_CORE:default} 3 default: 4 # Set a timeout on metrics data. After the timeout has expired, the metrics data will automatically be deleted. 5 enableDataKeeperExecutor: ${SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR:true} # Turn it off then automatically metrics data delete will be close. 6 dataKeeperExecutePeriod: ${SW_CORE_DATA_KEEPER_EXECUTE_PERIOD:5} # How often the data keeper executor runs periodically, unit is minute 7 recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:90} # Unit is minute 8 minuteMetricsDataTTL: ${SW_CORE_MINUTE_METRIC_DATA_TTL:90} # Unit is minute 9 hourMetricsDataTTL: ${SW_CORE_HOUR_METRIC_DATA_TTL:36} # Unit is hour 10 dayMetricsDataTTL: ${SW_CORE_DAY_METRIC_DATA_TTL:45} # Unit is day 11 monthMetricsDataTTL: ${SW_CORE_MONTH_METRIC_DATA_TTL:18} # Unit is month

enableDataKeeperExecutor:数据清理机制的开关,默认开启。
dataKeeperExecutePeriod:数据清理定时器间隔时间,默认5,单位分钟。
recordDataTTL:明细记录的有效期,默认90,单位分钟。
minuteMetricsDataTTL:分钟级指标数据有效期,默认90,单位分钟。
hourMetricsDataTTL:小时级指标数据有效期,默认36,单位小时。
dayMetricsDataTTL:天级指标数据有效期,默认45,单位天。
monthMetricsDataTTL:月级指标数据有效期,默认18,单位月。

以上是核心配置里面有效期配置,但是在使用elasticsearch6.x存储采集数据时,是使用存储配置里面的有效期覆盖核心配置的有效期(elasticsearch7没有此配置,直接使用核心配置)。如下:

1storage: 2 selector: ${SW_STORAGE:h2} 3 elasticsearch: 4 # Those data TTL settings will override the same settings in core module. 5 recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day 6 otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day 7 monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month

recordDataTTL:记录明细有效期,默认7,单位天。
otherMetricsDataTTL:其他指标(分钟/小时/天)数据有效期,默认45,单位天。
monthMetricsDataTTL:月级指标数据有效期,默认18,单位月。

小结

在实际使用过程中,我们可以根据自身实际情况,对数据的有效期进行个性化的配置。如:使用elasticsearch6.x时,我们可以将明细记录有效期设置为1天。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

SkyWalking 数据清理机制(TTL) - HelloWorld