介绍
在SkyWalking中,有两种类型的可观测性数据:
- Records 记录包括跟踪、日志、topN 采样语句和警报。 recordDataTTL 适用于记录数据。
- Metrics 指标包括服务、实例、终端节点和拓扑图的所有指标。元数据(服务、实例或终端节点的列表)也属于指标。 metricsDataTTL 适用于指标数据。
https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/ttl.md
以下是不同类型的设置:
设置metrics数据过期时间。当过期时,metrics数据将会被自动删除。
- recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3} # 单位是天
- metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7} # 单位是天
环境
skywalking部署文档参考这里
我的skywalking版本是9.3.0,es版本是7.17.3。
步骤
由于skywalking运行在"no-init"模式,所以不能直接修改oap的yaml。需要先缩0或者删除,重新执行init job,再启动oap。
k delete -f oap-deploy.yaml
k delete f oap-init.yaml
k apply -f oap-init.yaml
vim oap-deployment.yaml
# 我这里都配置成过期时间为7天,7必须要加""
- name: SW_CORE_RECORD_DATA_TTL
value: "7"
k apply -f oap-deploy.yaml
等待oap服务恢复即可。
PS
es6版本设置:
- recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
- otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
- monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
es5版本设置:
- traceDataTTL: 90 # Unit is minute
- minuteMetricDataTTL: 90 # Unit is minute
- hourMetricDataTTL: 36 # Unit is hour
- dayMetricDataTTL: 45 # Unit is day
- monthMetricDataTTL: 18 # Unit is month