SkyWalking 数据清理机制(TTL)

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

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

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

core:
  selector: ${SW_CORE:default}
  default:
    # Set a timeout on metrics data. After the timeout has expired, the metrics data will automatically be deleted.
    enableDataKeeperExecutor: ${SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR:true} # Turn it off then automatically metrics data delete will be close.
    dataKeeperExecutePeriod: ${SW_CORE_DATA_KEEPER_EXECUTE_PERIOD:5} # How often the data keeper executor runs periodically, unit is minute
    recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:90} # Unit is minute
    minuteMetricsDataTTL: ${SW_CORE_MINUTE_METRIC_DATA_TTL:90} # Unit is minute
    hourMetricsDataTTL: ${SW_CORE_HOUR_METRIC_DATA_TTL:36} # Unit is hour
    dayMetricsDataTTL: ${SW_CORE_DAY_METRIC_DATA_TTL:45} # Unit is day
    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没有此配置,直接使用核心配置)。如下:

storage:
  selector: ${SW_STORAGE:h2}
  elasticsearch:
    # Those data TTL settings will override the same settings in core module.
    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
recordDataTTL:记录明细有效期,默认7,单位天。
otherMetricsDataTTL:其他指标(分钟/小时/天)数据有效期,默认45,单位天。
monthMetricsDataTTL:月级指标数据有效期,默认18,单位月。

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

链接: 官方连接

TTL
In SkyWalking, there are two types of observability data:

Records include traces, logs, topN sampled statements and alarm. recordDataTTL applies to record data.
Metrics include all metrics for service, instance, endpoint, and topology map. Metadata(lists of services, instances, or endpoints) also belongs to metrics. metricsDataTTL applies to Metrics data.
These are the settings for the different types:

    # Set a timeout on metrics data. After the timeout has expired, the metrics data will automatically be deleted.
    recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3} # Unit is day
    metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7} # Unit is day

使用的k8s部署直接加上env,SW_CORE_RECORD_DATA_TTL

          env:
            - name: SW_CLUSTER
              value: kubernetes
            - name: SW_CLUSTER_K8S_NAMESPACE
              value: ops
            - name: SW_CLUSTER_K8S_LABEL
              value: 'app=skywalking,release=skywalking,component=oap'
            - name: SKYWALKING_COLLECTOR_UID
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.uid
            - name: SW_STORAGE
              value: elasticsearch
            - name: SW_STORAGE_ES_CLUSTER_NODES
              value: 'elasticsearch-master:9200'
            - name: SW_CORE_RECORD_DATA_TTL
              value: '7'
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值